commit d3a81473f74f0a558c5ee8df625f1e536782710b Author: tierce Date: Sun Aug 22 20:40:02 2021 +0200 premier commit diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..390d044 --- /dev/null +++ b/Makefile @@ -0,0 +1,89 @@ +PY?=python3 +PELICAN?=pelican +PELICANOPTS= + +BASEDIR=$(CURDIR) +INPUTDIR=$(BASEDIR)/content +OUTPUTDIR=$(BASEDIR)/output +CONFFILE=$(BASEDIR)/pelicanconf.py +PUBLISHCONF=$(BASEDIR)/publishconf.py + +SSH_HOST=gnuragist.es +SSH_PORT=22 +SSH_USER=admin +SSH_TARGET_DIR=/var/www/my_webapp/www + + +DEBUG ?= 0 +ifeq ($(DEBUG), 1) + PELICANOPTS += -D +endif + +RELATIVE ?= 0 +ifeq ($(RELATIVE), 1) + PELICANOPTS += --relative-urls +endif + +SERVER ?= "0.0.0.0" + +PORT ?= 0 +ifneq ($(PORT), 0) + PELICANOPTS += -p $(PORT) +endif + + +help: + @echo 'Makefile for a pelican Web site ' + @echo ' ' + @echo 'Usage: ' + @echo ' make localhtml (re)generate the web site for local' + @echo ' make html (re)generate the web site ' + @echo ' make clean remove the generated files ' + @echo ' make regenerate regenerate files upon modification ' + @echo ' make publish generate using production settings ' + @echo ' make serve [PORT=8000] serve site at http://localhost:8000' + @echo ' make serve-global [SERVER=0.0.0.0] serve (as root) to $(SERVER):80 ' + @echo ' make devserver [PORT=8000] serve and regenerate together ' + @echo ' make devserver-global regenerate and serve on 0.0.0.0 ' + @echo ' make ssh_upload upload the web site via SSH ' + @echo ' make rsync_upload upload the web site via rsync+ssh ' + @echo ' ' + @echo 'Set the DEBUG variable to 1 to enable debugging, e.g. make DEBUG=1 html ' + @echo 'Set the RELATIVE variable to 1 to enable relative urls ' + @echo ' ' + +localhtml: + "$(PELICAN)" "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS) --relative-urls + +html: + "$(PELICAN)" "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS) + +clean: + [ ! -d "$(OUTPUTDIR)" ] || rm -rf "$(OUTPUTDIR)" + +regenerate: + "$(PELICAN)" -r "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS) + +serve: + "$(PELICAN)" -l "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS) + +serve-global: + "$(PELICAN)" -l "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS) -b $(SERVER) + +devserver: + "$(PELICAN)" -lr "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS) + +devserver-global: + $(PELICAN) -lr $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) -b 0.0.0.0 + +publish: + "$(PELICAN)" "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(PUBLISHCONF)" $(PELICANOPTS) + +ssh_upload: publish + scp -P $(SSH_PORT) -r "$(OUTPUTDIR)"/* "$(SSH_USER)@$(SSH_HOST):$(SSH_TARGET_DIR)" + +rsync_upload: publish + rsync -e "ssh -p $(SSH_PORT)" -P -rvzc --include tags --cvs-exclude --delete "$(OUTPUTDIR)"/ "$(SSH_USER)@$(SSH_HOST):$(SSH_TARGET_DIR)" + + +.PHONY: html help clean regenerate serve serve-global devserver publish ssh_upload rsync_upload \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..8988430 --- /dev/null +++ b/README.md @@ -0,0 +1,62 @@ +# Gnuragistes + +## Ressources + +* [ForkAwsome cheatsheet](https://forkaweso.me/Fork-Awesome/cheatsheet/) +* [Cool and responsive buttons](https://fdossena.com/?p=html5cool/buttons/i.frag) +* [Jinja](https://jinja.palletsprojects.com/en/3.0.x/templates/) +* [Pelican - templates and variables](https://docs.getpelican.com/en/latest/themes.html#templates-and-variables) + +## Contenu + +Sur le site … + +- une page d'acceuil +- des articles +- des auteurs - qui sont potentiellement les gnuragistes +- des mots clés +- de quoi nous contacter + + +## Menu + +Sous forme de boutons, sans sous-menu, qui se mettent les uns à côté des autres. + +### Links (dans le pelicanconf.py) + +Les liens « statiques » sont définit dans `pelicanconf.py`. + +### Catégories (comme Faimaison) + +À découvrir : les mécanismes de Pelican. + + +## Zone de titre(s) + +- Un logo pour retourner sur la home page +- Un titre +- Un sous-titre + +## Contenu + +## Fork-Awsome + +Puisque c'est un repo git qui se trouve dans `template/gnuragistes/static/css/Fork-Awesome`. + +Pour éviter les problèmes, dans un premier temps le `.gitignore` contient ce chemin et le `pelicanconf.py` ignore aussi ce dossier grâce à `IGNORE_FILES = ['.git']`. + +Il faudrait éventuellement approfondir le sujet en utilisant la notion de submodule ou subtree. + +Voir : https://delicious-insights.com/fr/articles/git-submodules/ + +### Base + +Se retrouve sur toutes les pages. + +### Page d'acceuil + +C'est pricipallement le fichier `template/gnuragistes/index.html` dont le contenu est pricipalement fait dans le template, mis à part quelques variables. + +### Articles + +C'est \ No newline at end of file diff --git a/content/fichiers/Richard Stallman et la révolution du logiciel libre.pdf b/content/fichiers/Richard Stallman et la révolution du logiciel libre.pdf new file mode 100644 index 0000000..12ca795 Binary files /dev/null and b/content/fichiers/Richard Stallman et la révolution du logiciel libre.pdf differ diff --git a/content/images/gnu/heckert_gnu_pink.svg b/content/images/gnu/heckert_gnu_pink.svg new file mode 100644 index 0000000..f1640b0 --- /dev/null +++ b/content/images/gnu/heckert_gnu_pink.svg @@ -0,0 +1,97 @@ + + + + + + + + + + image/svg+xml + + + + + Aurelio A. Hecker <aurium@gmail.com> + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/images/home/map.png b/content/images/home/map.png new file mode 100644 index 0000000..4936341 Binary files /dev/null and b/content/images/home/map.png differ diff --git a/content/images/home/zebras-sans-G-blanc.png b/content/images/home/zebras-sans-G-blanc.png new file mode 100644 index 0000000..7103801 Binary files /dev/null and b/content/images/home/zebras-sans-G-blanc.png differ diff --git a/content/images/linux/ewing-tux.png b/content/images/linux/ewing-tux.png new file mode 100644 index 0000000..02e22e2 Binary files /dev/null and b/content/images/linux/ewing-tux.png differ diff --git a/content/pages/contact.md b/content/pages/contact.md new file mode 100644 index 0000000..01f5561 --- /dev/null +++ b/content/pages/contact.md @@ -0,0 +1,10 @@ +--- +Title: Contact +ShortTitle: Contact +Date: 2019-10-10 +Modified: 2021-07-04 +--- + +# Contact + +help@guragist.es \ No newline at end of file diff --git a/content/pages/gnu.md b/content/pages/gnu.md new file mode 100644 index 0000000..59ae169 --- /dev/null +++ b/content/pages/gnu.md @@ -0,0 +1,34 @@ +--- +pagename: GNU is Not Unix +title: GNU +subtitle: GNU N'est pas Unix +description: Mais c'est quoi un système d'exploitation ? +date: 2021-07-01 +modified: 2021-07-04 +--- + +Le dessin du gnou du projet GNU + +La [Tête de GNU](https://www.gnu.org/graphics/agnuhead.fr.html)
+une image avec une longue histoire,
+dessinée par Étienne Suvasa. + +Depuis 1996,
+elle accompagne la horde,
+celles des gens qui font du libre,
+une aventure, une passion,
+un projet de société,
+des logiciels émancipateurs,
+du code source aux utilisateur·ice·s. + +Les gnuragistes la voient en rose,
+pour poursuivre avec vous,
+son chemin, sa route, sa destinée,
+vers une informatique plus juste et équitable. + +
+ +GNU est un [sigle récursif](https://fr.wikipedia.org/wiki/Sigle_r%C3%A9cursif) qui veut dire GNU is Not Unix et c'est un projet né en 1983. +En 2021, nous sommes heureux·ses et fière d'articuler notre activité « digitale » autour des valeurs qui accompagnent ce projet. +N'hésitez pas à flâner sur les pages Wikipédia du [projet GNU](https://fr.wikipedia.org/wiki/Projet_GNU) pour explorer une autre façon de faire de l'informatique. +Nous en parlons volontiers avec vous et si vous avez besoin de nous, vous trouverez notre adresse mail et notre téléphone sur [la page d'accueil](.). \ No newline at end of file diff --git a/content/pages/home.md b/content/pages/home.md new file mode 100644 index 0000000..0a8ba7a --- /dev/null +++ b/content/pages/home.md @@ -0,0 +1,54 @@ +--- +pagename: Home +title: GNUragistes ! +subtitle: Support Gnu/Linux - Réanimistes d'ordinateurs libres +description: help@gnuragist.es - 0466/47.25.33 +date: 2019-10-10 +modified: 2021-07-04 +save_as: index.html +--- + +Logo en tête de zèbre +gnuragistes,coucou
+les gentil·le·s desrangé·e·s,
+enragé·e·s du logiciel Libre,
+dédient quelques moments
+
+à vous pointer
+sur les dangers
+des mafias gafam,
+
+à prendre des résolutions,
+à chercher des vraies solutions,
+en plus, sans trop dépenser.
+
+juste de questionner,
+pourquoi autant de fortuné·e·s,
+sollicitent avec passion,
+votre temps et vos données.
+
+ +
+ +Un soucis, des questions, besoin d’aide avec votre [GNU](/gnu.html)/[Linux](/linux.html) ? Nous pouvons vous aider vous ou votre association. Mises à jour, sauvegardes, imprimantes, carte d’identité électronique, installation de votre serveur personnel ou associatif sur base de [Yunohost](https://yunohost.org) (Mail, [Nextcloud](https://fr.wikipedia.org/wiki/Nextcloud), Agendas, Contacts, [Dokuwiki](https://fr.wikipedia.org/wiki/DokuWiki)…) + +
+ + + Carte de Schaerbeek + + +Au [Hacklab](https://hacklab.brussels/)
+Avenue Princesse Elisabeth 46
+1030 Schaerbeek + +

+Devenez membres à prix libre.
+Versement mensuel souhaité.
+IBAN: BE63 5230 8118 2308
+BIC: TRIOBEBB +

+ +En semaine, la journée, le soir ou le week-end. et si vous avez envie de lire un truc, pourquoi pas la [biographie de RMS](/fichiers/Richard Stallman et la révolution du logiciel libre.pdf) ? + +C'est maGNUfique! \ No newline at end of file diff --git a/content/pages/linux.md b/content/pages/linux.md new file mode 100644 index 0000000..82bca51 --- /dev/null +++ b/content/pages/linux.md @@ -0,0 +1,38 @@ +--- +pagename: Linux +title: Linux +subtitle: un noyau libre pour des logiciels libres +description: Mais c'est quoi un noyau ? +date: 2021-07-01 +modified: 2021-07-04 +--- + +TUX, la mascote de linux, mais en rose + +La mascotte de Linux,
+c'est [Tux](https://fr.wikipedia.org/wiki/Tux),
+un manchot mignon,
+pour représenter un noyau costaud.

+ +[Linux](https://fr.wikipedia.org/wiki/Noyau_Linux) est dans vos ordiphones,
+dans vos boxes Internet,
+dans vos ordinateurs libres,
+dans les serveurs du monde entier,
+et même jusque Mars, dans le drône Ingenuity. + +Un noyau de code,
+qui fait germer des envies de liberté,
+au cœur de tant de systèmes informatiques,
+trop souvent ignoré, il vous invite à explorer. + +Les [gnuragistes](.) le voient en rose,
+pour poursuivre avec vous,
+son chemin, sa route, sa destinée,
+vers une informatique plus juste et équitable. + +
+ +Des milliers de contributeurs, trop peu de contributrices qui jonglent aves du code pour rendre possible le fonctionnement du matériel. +Parce que oui, le rôle principal d'un noyau c'est de piloter l'électronique que vous avez entre le mains. +[Depuis 1991](https://en.wikipedia.org/wiki/Linux_kernel_version_history), des individus, des constructeurs, des fondeurs, des organisations allant de l'entreprise capitaliste à l'association sans but lucratif, en passant par les fondations, [pondent des lignes de codes](https://git.kernel.org/). +Pour eux, pour elles, pour nous, pour vous, sans se soucier de ce que vous en ferez. Il faut juste que ça fonctionne et que ce soit fiable. \ No newline at end of file diff --git a/content/projet/collectif.md b/content/projet/collectif.md new file mode 100644 index 0000000..7f19bc1 --- /dev/null +++ b/content/projet/collectif.md @@ -0,0 +1,10 @@ +--- +Title: Un projet collectif +ShortTitle: Collectif +Date: 2021-07-01 +Modified: 2021-07-04 +--- + +C'est ensemble, ou ce n'est pas. + +Sieste, recherche et développement. \ No newline at end of file diff --git a/content/projet/gnuragistes.md b/content/projet/gnuragistes.md new file mode 100644 index 0000000..03f0e65 --- /dev/null +++ b/content/projet/gnuragistes.md @@ -0,0 +1,6 @@ +Title: Le projet GNUragistes +ShortTitle: Projet +Date: 2021-07-01 +Modified: 2021-07-04 + +Le plus chouette projet de tout les temps ! \ No newline at end of file diff --git a/pelicanconf.py b/pelicanconf.py new file mode 100644 index 0000000..58d8bca --- /dev/null +++ b/pelicanconf.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- # + +TOOLBOX = False # Displays some variables from toolbox.html + +AUTHOR = 'Gnuragistes' +SITENAME = 'Gnuragist.es' +SITEURL = 'https://gnuragist.es' + +PATH = 'content' +STATIC_PATHS = ['images','fichiers'] +PAGE_PATHS = ['pages'] + +TIMEZONE = 'Europe/Brussels' + +DEFAULT_LANG = u'fr' + +# Les fichiers produits sont mis dans des dossiers +ARTICLE_URL = '/{category}/{slug}.html' +ARTICLE_SAVE_AS = '{category}/{slug}.html' +PAGE_SAVE_AS = '{slug}.html' + + +# Feed generation is usually not desired when developing +FEED_ALL_ATOM = None +CATEGORY_FEED_ATOM = None +TRANSLATION_FEED_ATOM = None +AUTHOR_FEED_ATOM = None +AUTHOR_FEED_RSS = None + +# Liens statiques utilisés dans le menu. +# ('texte affiché','url','icone ForkAwsome') +# Pour les icones ForkAwsome voir https://forkaweso.me/Fork-Awesome/cheatsheet/ +MENUITEMS = (('Home', './', 'fa-home'), + ('Wiki', 'https://wiki.gnuragist.es', 'fa-book'), + ('Git Sources', 'https://git.gnuragist.es/git/wildebeest/website','fa-gitea'), + ('Webmail', 'https://mamifere.gnuragist.es','fa-envelope'), + ('Pads', 'https://doc.gnuragist.es','fa-file-text'), + ('Forum', 'https://ps.zoethical.org/c/ps/gnuragistes/130','fa-activitypub'),) + +# Social widget +SOCIAL = (('You can add links in your config file', '#'), + ('Another social link', '#'),) + +DEFAULT_PAGINATION = True + +THEME = 'template/gnuragistes' + +# Exclure des éléments inutiles… mais ça fonctionne pas ?? +#STATIC_EXCLUDES = ['template/gnuragistes/static/css/Fork-Awesome/.github', 'template/gnuragistes/static/css/Fork-Awesome/*'] + +# Uncomment following line if you want document-relative URLs when developing +#RELATIVE_URLS = True + + +DISPLAY_PAGES_ON_MENU = True +# Pour ignorer le contenu de template/gnuragistes/static/css/Fork-Awesome/.git et tout ce qui est .git +IGNORE_FILES = ['.git'] \ No newline at end of file diff --git a/publishconf.py b/publishconf.py new file mode 100644 index 0000000..442946d --- /dev/null +++ b/publishconf.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- # + +# This file is only used if you use `make publish` or +# explicitly specify it as your config file. + +import os +import sys +sys.path.append(os.curdir) +from pelicanconf import * + +# If your site is available via HTTPS, make sure SITEURL begins with https:// +SITEURL = 'https://gnuragist.es' +RELATIVE_URLS = False + +FEED_ALL_ATOM = 'feeds/all.atom.xml' +CATEGORY_FEED_ATOM = 'feeds/{slug}.atom.xml' + +DELETE_OUTPUT_DIRECTORY = True + +# Following items are often useful when publishing + +#DISQUS_SITENAME = "" +#GOOGLE_ANALYTICS = "" \ No newline at end of file diff --git a/tasks.py b/tasks.py new file mode 100644 index 0000000..7cdb19b --- /dev/null +++ b/tasks.py @@ -0,0 +1,131 @@ +# -*- coding: utf-8 -*- + +import os +import shlex +import shutil +import sys +import datetime + +from invoke import task +from invoke.main import program +from invoke.util import cd +from pelican import main as pelican_main +from pelican.server import ComplexHTTPRequestHandler, RootedHTTPServer +from pelican.settings import DEFAULT_CONFIG, get_settings_from_file + +SETTINGS_FILE_BASE = 'pelicanconf.py' +SETTINGS = {} +SETTINGS.update(DEFAULT_CONFIG) +LOCAL_SETTINGS = get_settings_from_file(SETTINGS_FILE_BASE) +SETTINGS.update(LOCAL_SETTINGS) + +CONFIG = { + 'settings_base': SETTINGS_FILE_BASE, + 'settings_publish': 'publishconf.py', + # Output path. Can be absolute or relative to tasks.py. Default: 'output' + 'deploy_path': SETTINGS['OUTPUT_PATH'], + # Remote server configuration + 'ssh_user': 'admin', + 'ssh_host': 'gnuragist.es', + 'ssh_port': '22', + 'ssh_path': '/var/www/my_webapp/www', + # Host and port for `serve` + 'host': 'localhost', + 'port': 8000, +} + +@task +def clean(c): + """Remove generated files""" + if os.path.isdir(CONFIG['deploy_path']): + shutil.rmtree(CONFIG['deploy_path']) + os.makedirs(CONFIG['deploy_path']) + +@task +def build(c): + """Build local version of site""" + pelican_run('-s {settings_base}'.format(**CONFIG)) + +@task +def rebuild(c): + """`build` with the delete switch""" + pelican_run('-d -s {settings_base}'.format(**CONFIG)) + +@task +def regenerate(c): + """Automatically regenerate site upon file modification""" + pelican_run('-r -s {settings_base}'.format(**CONFIG)) + +@task +def serve(c): + """Serve site at http://$HOST:$PORT/ (default is localhost:8000)""" + + class AddressReuseTCPServer(RootedHTTPServer): + allow_reuse_address = True + + server = AddressReuseTCPServer( + CONFIG['deploy_path'], + (CONFIG['host'], CONFIG['port']), + ComplexHTTPRequestHandler) + + sys.stderr.write('Serving at {host}:{port} ...\n'.format(**CONFIG)) + server.serve_forever() + +@task +def reserve(c): + """`build`, then `serve`""" + build(c) + serve(c) + +@task +def preview(c): + """Build production version of site""" + pelican_run('-s {settings_publish}'.format(**CONFIG)) + +@task +def livereload(c): + """Automatically reload browser tab upon file modification.""" + from livereload import Server + + def cached_build(): + cmd = '-s {settings_base} -e CACHE_CONTENT=True LOAD_CONTENT_CACHE=True' + pelican_run(cmd.format(**CONFIG)) + + cached_build() + server = Server() + theme_path = SETTINGS['THEME'] + watched_globs = [ + CONFIG['settings_base'], + '{}/templates/**/*.html'.format(theme_path), + ] + + content_file_extensions = ['.md', '.rst'] + for extension in content_file_extensions: + content_glob = '{0}/**/*{1}'.format(SETTINGS['PATH'], extension) + watched_globs.append(content_glob) + + static_file_extensions = ['.css', '.js'] + for extension in static_file_extensions: + static_file_glob = '{0}/static/**/*{1}'.format(theme_path, extension) + watched_globs.append(static_file_glob) + + for glob in watched_globs: + server.watch(glob, cached_build) + server.serve(host=CONFIG['host'], port=CONFIG['port'], root=CONFIG['deploy_path']) + + +@task +def publish(c): + """Publish to production via rsync""" + pelican_run('-s {settings_publish}'.format(**CONFIG)) + c.run( + 'rsync --delete --exclude ".DS_Store" -pthrvz -c ' + '-e "ssh -p {ssh_port}" ' + '{} {ssh_user}@{ssh_host}:{ssh_path}'.format( + CONFIG['deploy_path'].rstrip('/') + '/', + **CONFIG)) + + +def pelican_run(cmd): + cmd += ' ' + program.core.remainder # allows to pass-through args to pelican + pelican_main(shlex.split(cmd)) \ No newline at end of file diff --git a/template/gnuragistes/static/css/Fork-Awesome b/template/gnuragistes/static/css/Fork-Awesome new file mode 160000 index 0000000..540fa14 --- /dev/null +++ b/template/gnuragistes/static/css/Fork-Awesome @@ -0,0 +1 @@ +Subproject commit 540fa1467f6381b6212635d9e7cc222cd1faa280 diff --git a/template/gnuragistes/static/css/classes.css b/template/gnuragistes/static/css/classes.css new file mode 100644 index 0000000..dbe529a --- /dev/null +++ b/template/gnuragistes/static/css/classes.css @@ -0,0 +1,82 @@ +/* classes */ + +.toolbox +{ + color:white; + background-color: grey; + position: fixed; + overflow: hidden; + z-index: 2400; + opacity: 0.70; + right: 0px; + top: 0px !important; + -webkit-transition: all 0.5s ease-in-out; + -moz-transition: all 0.5s ease-in-out; + -ms-transition: all 0.5s ease-in-out; + -o-transition: all 0.5s ease-in-out; + transition: all 0.5s ease-in-out; + padding: 2em; +} + +.hide +{ + visibility: hidden; +} + +.right +{ + float: right; +} + +.left +{ + float: left; +} + +.white +{ + color: white; +} + +.footer +{ + color:magenta; +} + +a.button +{ + display:inline-block; + padding:0.35em 1.2em; +/* border:0.1em solid magenta; */ + margin:0 0.3em 0.3em 0; + border-radius:0.12em; + box-sizing: border-box; + text-decoration:none; + color: lightgreen; + text-align:center; + transition: all 0.2s; +} + +a.button > i +{ + padding-right: 0.5em; + color: yellow; +} + +a.button:hover, a:hover +{ + color:#0F0F0F; + background-color: lightgreen; +} + +a.button:hover > i +{ + padding-right: 0.5em; + color: #0F0F0F; +} + +a.selected +{ +/* border:0.1em solid lightgreen; */ +} + diff --git a/template/gnuragistes/static/css/gnuragistes.css b/template/gnuragistes/static/css/gnuragistes.css new file mode 100644 index 0000000..c6f78c0 --- /dev/null +++ b/template/gnuragistes/static/css/gnuragistes.css @@ -0,0 +1,129 @@ +/* includes */ +@import "classes.css"; +@import "Fork-Awesome/css/fork-awesome.min.css"; + +/* fonts */ +@font-face +{ + font-family: "OpenDyslexic"; + src: url("../fonts/OpenDyslexic-Regular.eot"); + src: url("../fonts/OpenDyslexic-Regular.woff") format("woff"), + url("../fonts/OpenDyslexic-Regular.ttf") format("truetype"), + url("../fonts/OpenDyslexic-Regular.svg") format("svg"); + font-weight: normal; + font-style: normal; +} + +/* common html tags */ +body +{ + background-color: #0F0F0F; + font-family: OpenDyslexic; + color: darkturquoise; + max-width: 85%; + margin-left: auto; + margin-right: auto; + margin-top: 1rem; + line-height: 3rem; + /*background: linear-gradient(to left top, #0F0F0F, #000) fixed;*/ +} + +ul +{ + display: flex; + justify-content: space-around; + align-items: center; + min-height: 8vh; + font-weight: bold; + font-size: 2rem; + list-style: none; + padding-left: 1rem; +} + +li a, +a +{ + text-decoration: none; + color: lightgreen; +} + +h1 +{ + font-size: 4rem; + color: white; +} + +h2 +{ + font-size: 3rem; + color: white; +} + +h3 +{ + font-size: 2rem; + color: white; +} + +hr +{ + border: 0.3rem solid grey; + border-radius: 0.5rem; +} + +img +{ + max-width: 50%; + height: auto; +} + +p +{ + font-size: 2rem; + /*text-transform: uppercase;*/ + font-weight: bold; +} + +/* for smaller screens transformations */ +@media (max-width: 1024px) +{ + /* common html tags */ + body + { + line-height: 1.8; + } + + div + { + font-size: 1.6rem; + } + + h1 + { + font-size: 4rem; + } + + h2 + { + font-size: 3rem; + } + + h3 + { + font-size: 2rem; + } + + img + { + max-width: 90%; + height: auto; + } + + p + { + font-size: 2rem; + text-transform: uppercase; + font-weight: bold; + } + +} diff --git a/template/gnuragistes/static/fonts/OpenDyslexic-Regular.eot b/template/gnuragistes/static/fonts/OpenDyslexic-Regular.eot new file mode 100644 index 0000000..0e4e971 Binary files /dev/null and b/template/gnuragistes/static/fonts/OpenDyslexic-Regular.eot differ diff --git a/template/gnuragistes/static/fonts/OpenDyslexic-Regular.otf b/template/gnuragistes/static/fonts/OpenDyslexic-Regular.otf new file mode 100644 index 0000000..1a30272 Binary files /dev/null and b/template/gnuragistes/static/fonts/OpenDyslexic-Regular.otf differ diff --git a/template/gnuragistes/static/fonts/OpenDyslexic-Regular.ttf b/template/gnuragistes/static/fonts/OpenDyslexic-Regular.ttf new file mode 100644 index 0000000..e784934 Binary files /dev/null and b/template/gnuragistes/static/fonts/OpenDyslexic-Regular.ttf differ diff --git a/template/gnuragistes/static/fonts/OpenDyslexic-Regular.woff b/template/gnuragistes/static/fonts/OpenDyslexic-Regular.woff new file mode 100644 index 0000000..fdf9e37 Binary files /dev/null and b/template/gnuragistes/static/fonts/OpenDyslexic-Regular.woff differ diff --git a/template/gnuragistes/static/images/zebras-favicon.png b/template/gnuragistes/static/images/zebras-favicon.png new file mode 100644 index 0000000..60445fd Binary files /dev/null and b/template/gnuragistes/static/images/zebras-favicon.png differ diff --git a/template/gnuragistes/templates/base.html b/template/gnuragistes/templates/base.html new file mode 100644 index 0000000..110e906 --- /dev/null +++ b/template/gnuragistes/templates/base.html @@ -0,0 +1,49 @@ + + + + + +{% block pagename %}{%endblock%} | {{SITENAME}} + + + + + + + + + + + +

{% block title %}{% endblock %}

+ +

{% block subtitle %}{% endblock %}

+ +
+ +

{% block description%}{% endblock %}

+ +
+ {% block content %} + {% endblock %} +
+ + + + {% if TOOLBOX %} + {% extends "toolbox.html" %} + {% endif %} + + \ No newline at end of file diff --git a/template/gnuragistes/templates/page.html b/template/gnuragistes/templates/page.html new file mode 100644 index 0000000..0b89aaa --- /dev/null +++ b/template/gnuragistes/templates/page.html @@ -0,0 +1,9 @@ +{% extends "base.html" %} +{% block pagename %}{{ page.pagename }}{% endblock %} +{% block title %}{{ page.title }}{% endblock %} +{% block subtitle %}{{ page.subtitle }}{% endblock %} +{% block description %}{{ page.description }}{% endblock %} +{% block date %}{{ page.date | strftime('%a, %d %B %Y') }}{% endblock %} +{% block author %}{{ page.author }}{% endblock %} +{% block content %}{{ page.content }}{% endblock %} + diff --git a/template/gnuragistes/templates/services.html b/template/gnuragistes/templates/services.html new file mode 100644 index 0000000..a0413d1 --- /dev/null +++ b/template/gnuragistes/templates/services.html @@ -0,0 +1,22 @@ +{% extends "base.html" %} +{% block title %}{{ article.shorttitle }}{% endblock %} + +{% block content %} +
+

{{ article.title }}

+ {{ article.content }} + + +
+{% endblock %} diff --git a/template/gnuragistes/templates/toolbox.html b/template/gnuragistes/templates/toolbox.html new file mode 100644 index 0000000..f1d2767 --- /dev/null +++ b/template/gnuragistes/templates/toolbox.html @@ -0,0 +1,6 @@ +
+ Toolbox…
+ page_name = {{ page_name }}
+ output_file = {{ output_file }}
+ slug = {{ slug }}
+
\ No newline at end of file