Switched to Pélican
This commit is contained in:
parent
13320d864a
commit
8e25640394
11
Gemfile
11
Gemfile
|
@ -1,11 +0,0 @@
|
|||
source "https://rubygems.org"
|
||||
ruby RUBY_VERSION
|
||||
|
||||
gem "jekyll", "3.7.0"
|
||||
group :jekyll_plugins do
|
||||
gem "jekyll-feed", "~> 0.6"
|
||||
gem "jekyll-assets"
|
||||
end
|
||||
|
||||
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
||||
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
|
107
Gemfile.lock
107
Gemfile.lock
|
@ -1,107 +0,0 @@
|
|||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
activesupport (5.2.0)
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
i18n (>= 0.7, < 2)
|
||||
minitest (~> 5.1)
|
||||
tzinfo (~> 1.1)
|
||||
addressable (2.5.2)
|
||||
public_suffix (>= 2.0.2, < 4.0)
|
||||
colorator (1.1.0)
|
||||
concurrent-ruby (1.0.5)
|
||||
em-websocket (0.5.1)
|
||||
eventmachine (>= 0.12.9)
|
||||
http_parser.rb (~> 0.6.0)
|
||||
eventmachine (1.2.7)
|
||||
execjs (2.7.0)
|
||||
extras (0.3.0)
|
||||
forwardable-extended (~> 2.5)
|
||||
fastimage (2.1.3)
|
||||
ffi (1.9.23)
|
||||
forwardable-extended (2.6.0)
|
||||
http_parser.rb (0.6.0)
|
||||
i18n (0.9.5)
|
||||
concurrent-ruby (~> 1.0)
|
||||
jekyll (3.7.0)
|
||||
addressable (~> 2.4)
|
||||
colorator (~> 1.0)
|
||||
em-websocket (~> 0.5)
|
||||
i18n (~> 0.7)
|
||||
jekyll-sass-converter (~> 1.0)
|
||||
jekyll-watch (~> 2.0)
|
||||
kramdown (~> 1.14)
|
||||
liquid (~> 4.0)
|
||||
mercenary (~> 0.3.3)
|
||||
pathutil (~> 0.9)
|
||||
rouge (>= 1.7, < 4)
|
||||
safe_yaml (~> 1.0)
|
||||
jekyll-assets (3.0.11)
|
||||
activesupport (~> 5.0)
|
||||
execjs (~> 2.7)
|
||||
extras (~> 0.2)
|
||||
fastimage (~> 2.0, >= 1.8)
|
||||
jekyll (>= 3.5, < 4.0)
|
||||
jekyll-sanity (~> 1.2)
|
||||
liquid-tag-parser (~> 1.0)
|
||||
nokogiri (~> 1.8)
|
||||
pathutil (~> 0.16)
|
||||
sprockets (>= 3.3, < 4.1.beta)
|
||||
jekyll-feed (0.9.3)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-sanity (1.2.0)
|
||||
jekyll (~> 3.1)
|
||||
jekyll-sass-converter (1.5.2)
|
||||
sass (~> 3.4)
|
||||
jekyll-watch (2.0.0)
|
||||
listen (~> 3.0)
|
||||
kramdown (1.17.0)
|
||||
liquid (4.0.0)
|
||||
liquid-tag-parser (1.9.0)
|
||||
extras (~> 0.3)
|
||||
liquid (>= 3.0, < 5.0)
|
||||
listen (3.1.5)
|
||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||
rb-inotify (~> 0.9, >= 0.9.7)
|
||||
ruby_dep (~> 1.2)
|
||||
mercenary (0.3.6)
|
||||
mini_portile2 (2.3.0)
|
||||
minitest (5.11.3)
|
||||
nokogiri (1.8.2)
|
||||
mini_portile2 (~> 2.3.0)
|
||||
pathutil (0.16.1)
|
||||
forwardable-extended (~> 2.6)
|
||||
public_suffix (3.0.2)
|
||||
rack (2.0.5)
|
||||
rb-fsevent (0.10.3)
|
||||
rb-inotify (0.9.10)
|
||||
ffi (>= 0.5.0, < 2)
|
||||
rouge (3.1.1)
|
||||
ruby_dep (1.5.0)
|
||||
safe_yaml (1.0.4)
|
||||
sass (3.5.6)
|
||||
sass-listen (~> 4.0.0)
|
||||
sass-listen (4.0.0)
|
||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||
rb-inotify (~> 0.9, >= 0.9.7)
|
||||
sprockets (3.7.1)
|
||||
concurrent-ruby (~> 1.0)
|
||||
rack (> 1, < 3)
|
||||
thread_safe (0.3.6)
|
||||
tzinfo (1.2.5)
|
||||
thread_safe (~> 0.1)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
jekyll (= 3.7.0)
|
||||
jekyll-assets
|
||||
jekyll-feed (~> 0.6)
|
||||
tzinfo-data
|
||||
|
||||
RUBY VERSION
|
||||
ruby 2.5.1p57
|
||||
|
||||
BUNDLED WITH
|
||||
1.16.2
|
|
@ -1,38 +1,52 @@
|
|||
#!/usr/bin/make -f
|
||||
# The role of this Makefile is to make the commands accessible to the
|
||||
# developer that may not know Jekyll that well.
|
||||
# ---
|
||||
# Here are the commands the developer should use:
|
||||
#
|
||||
# — Preview (run a local webserver and update automatically when a change is
|
||||
# made to view the modifications before pushing them to the server).
|
||||
# — Build (just build to install the thing).
|
||||
PY?=python3
|
||||
PELICAN?=pelican
|
||||
PELICANOPTS=-t ./theme
|
||||
|
||||
all: -all-build
|
||||
preview prev: -all-watch
|
||||
BASEDIR=$(CURDIR)
|
||||
INPUTDIR=$(BASEDIR)/content
|
||||
OUTPUTDIR=$(BASEDIR)/output
|
||||
CONFFILE=$(BASEDIR)/pelicanconf.py
|
||||
PUBLISHCONF=$(BASEDIR)/publishconf.py
|
||||
|
||||
# ---
|
||||
# Internal rules.
|
||||
# ---
|
||||
|
||||
BUNDLE := bundle
|
||||
JEK := $(BUNDLE) exec jekyll
|
||||
DEBUG ?= 0
|
||||
ifeq ($(DEBUG), 1)
|
||||
PELICANOPTS += -D
|
||||
endif
|
||||
|
||||
# Prepare the build by installing the modules that aren't installed to
|
||||
# the local `vendor/` folder to avoid conflicts.
|
||||
RELATIVE ?= 0
|
||||
ifeq ($(RELATIVE), 1)
|
||||
PELICANOPTS += --relative-urls
|
||||
endif
|
||||
|
||||
-prepare:
|
||||
$(BUNDLE) check || $(BUNDLE) install --path vendor/bundle
|
||||
$(BUNDLE) update
|
||||
PORT ?= 0
|
||||
ifneq ($(PORT), 0)
|
||||
PELICANOPTS += -p $(PORT)
|
||||
endif
|
||||
|
||||
# Make the website for different contexts.
|
||||
|
||||
-all-watch: -prepare
|
||||
$(JEK) serve --drafts --watch
|
||||
-all-build: -prepare
|
||||
$(JEK) build
|
||||
help:
|
||||
@echo 'Makefile for CreativeCalc site '
|
||||
@echo ' '
|
||||
@echo 'Usage: '
|
||||
@echo ' make html (re)generate the web site '
|
||||
@echo ' make clean remove the generated files '
|
||||
@echo ' make serve serve files locally '
|
||||
@echo ' make publish generate using production settings '
|
||||
@echo ' '
|
||||
@echo 'Push to master when your done '
|
||||
|
||||
.PHONY: preview prev show
|
||||
.PHONY: -prepare -all -all-watch
|
||||
html:
|
||||
"$(PELICAN)" "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS)
|
||||
|
||||
# End of file.
|
||||
clean:
|
||||
[ ! -d "$(OUTPUTDIR)" ] || rm -rf "$(OUTPUTDIR)"
|
||||
|
||||
serve:
|
||||
"$(PELICAN)" -l "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS)
|
||||
|
||||
publish:
|
||||
"$(PELICAN)" "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(PUBLISHCONF)" $(PELICANOPTS)
|
||||
|
||||
|
||||
.PHONY: html help clean serve publish
|
||||
|
|
43
README.md
43
README.md
|
@ -1,43 +0,0 @@
|
|||
# Portail web de CreativeCalc
|
||||
Ceci est le (simple) portail web de [CreativeCalc](http://creativecalc.fr/),
|
||||
l'association derrière [Planète Casio](https://www.planet-casio.com).
|
||||
Il est construit avec Jekyll.
|
||||
|
||||
## Développement du site
|
||||
Il vous faudra installer Ruby et Bundle. Pour visualiser en local et en
|
||||
direct les changements que vous faites, il vous faudra faire la commande
|
||||
suivante :
|
||||
|
||||
make preview
|
||||
|
||||
Le résultat sera disponible sur `localhost:4000` (ou `127.0.0.1:4000` si
|
||||
vous préférez), et sera automatiquement mis à jour lorsque vous éditez un
|
||||
fichier faisant partie du projet (excepté la configuration, il vous faudra
|
||||
relancer la prévisualisation pour cela).
|
||||
|
||||
## Production
|
||||
Pour des raisons de tracabilité, les contributeurs de ce site ne sont pas
|
||||
censés mettre à jour le site directement, il faut pour cela téléverser vos
|
||||
modifications sur le dépôt git de base (présent sur CreativeCalc) et demander
|
||||
à un serveur, que l'on nomme l'`adm`, de mettre à jour le site à partir de
|
||||
ce qu'il y a sur ce dépôt.
|
||||
|
||||
Si vous n'avez pas de double de clés SSH, faites-en un avec `ssh-keygen`
|
||||
(votre moteur de recherche favori vous renseignera).
|
||||
Si vous n'êtes pas déjà inscrit à l'adm, demandez à un administrateur
|
||||
de vous y rajouter. (si vous êtes un administrateur et que vous ne savez
|
||||
pas comment faire, vous devriez avoir reçu des instructions plus fines par
|
||||
mail ou par tout autre moyen alternatif que vous avez communiqué au reste
|
||||
de l'équipe)
|
||||
|
||||
Il est conseillé, dans sa configuration SSH, de faire une entrée pour l'adm
|
||||
du VPS de Planète Casio :
|
||||
|
||||
Host admpc
|
||||
Hostname git.planet-casio.com
|
||||
IdentityFile ~/.ssh/<votre clé, e.g. id_rsa>
|
||||
User adm
|
||||
|
||||
Ainsi, vous pouvez alors tout simplement faire :
|
||||
|
||||
ssh admpc update creativecalc.fr
|
46
_config.yml
46
_config.yml
|
@ -1,46 +0,0 @@
|
|||
#******************************************************************************
|
||||
# _config.yml — website configuration.
|
||||
# This file is **NOT** reloaded while previewing.
|
||||
#******************************************************************************
|
||||
encoding: UTF-8
|
||||
|
||||
# Website settings.
|
||||
|
||||
url: https://www.creativecalc.fr
|
||||
baseurl: ""
|
||||
title: CreativeCalc
|
||||
author: creativecalc
|
||||
description: >-
|
||||
CreativeCalc est une association à but non lucratif promouvant
|
||||
l'apprentissage de la programmation.
|
||||
|
||||
# Folders and files.
|
||||
|
||||
plugins:
|
||||
- jekyll-feed
|
||||
- jekyll-assets
|
||||
exclude:
|
||||
- Gemfile
|
||||
- Gemfile.lock
|
||||
- vendor
|
||||
- Makefile
|
||||
- README.md
|
||||
|
||||
# Markdown settings.
|
||||
|
||||
markdown: kramdown
|
||||
highlighter: rouge
|
||||
|
||||
# Assets settings.
|
||||
assets:
|
||||
source_maps: false
|
||||
compress:
|
||||
css: false
|
||||
js: false
|
||||
digest: true
|
||||
sources:
|
||||
- _assets
|
||||
- _assets/css
|
||||
- _assets/fonts
|
||||
|
||||
# End of file.
|
|
@ -1,67 +0,0 @@
|
|||
# ---
|
||||
# Personnes morales.
|
||||
# ---
|
||||
|
||||
creativecalc:
|
||||
name:
|
||||
username: Association CreativeCalc
|
||||
born: 2015-04-29T00:00:00+01:00
|
||||
website: https://creativecalc.fr
|
||||
email: contact@creativecalc.fr
|
||||
twitter: PlaneteCasio
|
||||
github: PlaneteCasio
|
||||
president: darks
|
||||
tresorier: nemhardy
|
||||
secretaire: lightmare
|
||||
|
||||
# ---
|
||||
# Personnes physiques.
|
||||
# ---
|
||||
|
||||
darks:
|
||||
name:
|
||||
first_name: Louis
|
||||
username: Dark Storm
|
||||
last_name: Gatin
|
||||
gender: male
|
||||
born: 1996-11-03T00:00:00+01:00
|
||||
website: https://blog.darks.fr/
|
||||
email: l.gatin@protonmail.com
|
||||
|
||||
lephenixnoir:
|
||||
name:
|
||||
first_name: Sébastien
|
||||
username: Lephenixnoir
|
||||
last_name: Michelland
|
||||
gender: male
|
||||
born: 1999-11-26T00:00:00+01:00
|
||||
website: http://www.planet-casio.com/Fr/compte/voir_profil.php?membre=Lephenixnoir
|
||||
email: sebastien.mld@numericable.fr
|
||||
|
||||
cakeisalie5:
|
||||
name:
|
||||
first_name: Thomas
|
||||
username: Cakeisalie5
|
||||
last_name: Touhey
|
||||
gender: male
|
||||
born: 1996-12-28T00:00:00+01:00
|
||||
website: https://thomas.touhey.fr/
|
||||
email: thomas@touhey.fr
|
||||
twitter: thecakefive
|
||||
|
||||
nemhardy:
|
||||
name:
|
||||
first_name: Némo
|
||||
username: Nemhardy
|
||||
last_name: Fournier
|
||||
gender: male
|
||||
born: 1999-05-17T00:00:00+01:00
|
||||
twitter: https://twitter.com/N3mhh
|
||||
|
||||
lightmare:
|
||||
name:
|
||||
first_name: Mathias
|
||||
username: Lightmare
|
||||
last_name: Kowalski
|
||||
gender: male
|
||||
email: mathiaskowalski1@gmail.com
|
|
@ -1,56 +0,0 @@
|
|||
{% if page.description %}{% assign desc = page.description
|
||||
%}{% else %}{% assign desc = page.title
|
||||
%}{% endif
|
||||
|
||||
%}{% if page.author %}{% assign author = site.data.authors[page.author]
|
||||
%}{% else %}{% assign author = site.data.authors[site.author]
|
||||
%}{% endif
|
||||
|
||||
%}<title>{% if page.title %}{{ page.title }} – {% endif %}{{ site.title }}</title>
|
||||
<link rel="canonical" href="{{ site.url }}{{ page.url }}">
|
||||
{% if author.name.first_name
|
||||
%}{% if author.name.last_name
|
||||
%}<meta name="author" content="{{ author.name.first_name }} {% if author.name.username %}“{{ author.name.username }}” {% endif %}{{ author.name.last_name }}">
|
||||
{% else
|
||||
%}<meta name="author" content="{{ author.name.first_name }}, {{ author.name.username }}">
|
||||
{% endif
|
||||
%}{% else
|
||||
%}<meta name="author" content="{{ author.name.username }}">
|
||||
{% endif
|
||||
%}{% if author.website
|
||||
%}<link rel="author" href="{{ author.website }}">
|
||||
{% endif
|
||||
%}<meta property="og:description" name="description" content="{{ desc }}">
|
||||
<link rel="icon" type="image/png" href="{{ site.baseurl }}/favicon.png">
|
||||
<!--[if IE]>
|
||||
<link rel="shortcut-icon" type="image/ico" href="{{ site.baseurl }}/favicon.ico">
|
||||
<[endif]-->
|
||||
|
||||
<!-- OpenGraph -->
|
||||
<meta property="og:title" content="{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}">
|
||||
<meta property="og:site_name" content="{{ site.title }}">
|
||||
<meta property="og:url" content="{{ site.url }}{{ page.url }}">
|
||||
{% if page.layout == "post"
|
||||
%}<meta property="og:type" content="article">
|
||||
<meta property="article:published_time" content="{{ page.date | date_to_xmlschema }}">
|
||||
{% if author.name.first_name
|
||||
%}<meta property="article:author:first_name" content="{{ author.name.first_name }}">
|
||||
{% endif
|
||||
%}{% if author.name.username
|
||||
%}<meta property="article:author:username" content="{{ author.name.username }}">
|
||||
{% endif
|
||||
%}{% if author.name.last_name
|
||||
%}<meta property="article:author:last_name" content="{{ author.name.last_name }}">
|
||||
{% endif
|
||||
%}{% if author.gender
|
||||
%}<meta property="article:author:gender" content="{{ author.gender }}">
|
||||
{% endif
|
||||
%}{% else
|
||||
%}<meta property="og:type" content="website">
|
||||
{% endif
|
||||
%}
|
||||
<!-- Twitter -->
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:title" content="{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}">
|
||||
<meta name="twitter:description" content="{{ desc }}">
|
||||
<meta name="twitter:url" content="{{ site.url }}{{ page.url }}">
|
|
@ -1,20 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="fr"><head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
{% include meta.html %}
|
||||
{% asset css/main.css %}
|
||||
</head><body>
|
||||
<nav>
|
||||
<a href="{{ site.baseurl }}/" class="h">CreativeCalc</a>
|
||||
<div>
|
||||
<a href="{{ site.baseurl }}/statuts.html">Statuts</a>
|
||||
<a href="{{ site.baseurl }}/bureau.html">Bureau</a>
|
||||
<a href="{{ site.baseurl }}/contact.html">Contact</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
{{ content }}
|
||||
|
||||
</body></html>
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
layout: default
|
||||
---
|
||||
<article>
|
||||
<h2>CreativeCalc en quelques mots</h2>
|
||||
{{ page.content | markdownify }}
|
||||
</article>
|
||||
|
||||
<div class="separator"></div>
|
||||
|
||||
{% for post in site.posts %}
|
||||
<article class="post" itemscope itemtype="http://schema.org/BlogPosting">
|
||||
<h2><a href="{{ post.url }}">{{ post.title }}</a></h2>
|
||||
{{ post.content }}
|
||||
</article>
|
||||
{% endfor %}
|
|
@ -1,7 +0,0 @@
|
|||
---
|
||||
layout: default
|
||||
---
|
||||
<article class="post">
|
||||
<h2 class="post-title">{{ page.title }}</h2>
|
||||
{{ page.content | markdownify }}
|
||||
</article>
|
|
@ -1,7 +0,0 @@
|
|||
---
|
||||
layout: default
|
||||
---
|
||||
<article>
|
||||
<h2>{{ page.title }}</h2>
|
||||
{{ page.content | markdownify }}
|
||||
</article>
|
15
bureau.md
15
bureau.md
|
@ -1,15 +0,0 @@
|
|||
---
|
||||
layout: page
|
||||
title: Composition du bureau
|
||||
description: >-
|
||||
Membres du conseil de CreativeCalc, élus démocratiquement lors d'assemblées
|
||||
générales.
|
||||
---
|
||||
### Président
|
||||
Louis Gatin, alias Dark Storm.
|
||||
|
||||
### Trésorier
|
||||
Némo Fournier, alias Nemhardy.
|
||||
|
||||
### Secrétaire
|
||||
Sébastien Michelland, alias Lephénixnoir.
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
layout: post
|
||||
title: "Résumé de l'AG de février 2017"
|
||||
title: Résumé de l'AG de février 2017
|
||||
date: 2017-02-20
|
||||
author: lephenixnoir
|
||||
---
|
||||
|
@ -10,4 +10,4 @@ présentation des comptes et vote d'un budget, présentation des objectifs
|
|||
d'année, avancement de la v5 de Planète Casio.
|
||||
|
||||
Vous pouvez trouver le procès-verbal de cette assemblée
|
||||
[ici]({{ site.baseurl }}/files/2017-02-12-AG.pdf).
|
||||
[ici](/files/2017-02-12-AG.pdf).
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
layout: post
|
||||
title: "Réunion du Conseil d'Administration de Juillet 2017"
|
||||
title: Réunion du Conseil d'Administration de Juillet 2017
|
||||
date: 2017-07-10
|
||||
author: lephenixnoir
|
||||
---
|
||||
|
@ -10,4 +10,4 @@ de la v5 de Planète Casio et du rôle de l'association par rapport aux
|
|||
réformes récentes.
|
||||
|
||||
Le compte-rendu de cette réunion se trouve
|
||||
[ici]({{ site.baseurl }}/files/2017-07-09-CA.pdf).
|
||||
[ici](/files/2017-07-09-CA.pdf).
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
layout: post
|
||||
title: "Résumé de l'AG de février 2018"
|
||||
title: Résumé de l'AG de février 2018
|
||||
date: 2018-03-01
|
||||
author: lephenixnoir
|
||||
---
|
||||
|
@ -10,4 +10,4 @@ nouveaux événements du forum pour 2018, une proposition d'acquisition de
|
|||
Graph 90+E et l'actualisation de nombreuses pages oubliées du site.
|
||||
|
||||
Le procès-verbal de cette assemblée est accessible
|
||||
[ici]({{ site.baseurl }}/files/2018-02-25-AG.pdf).
|
||||
[ici](/files/2018-02-25-AG.pdf).
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
layout: post
|
||||
title: "Résumé de l'AGE de mai 2018"
|
||||
title: Résumé de l'AGE de mai 2018
|
||||
date: 2018-05-31
|
||||
author: cakeisalie5
|
||||
---
|
||||
|
@ -10,4 +10,4 @@ pour le relancement d'une activité plus soutenue du site et de l'association
|
|||
et la désignation de personnes pour s'occuper de diverses parties de ce plan.
|
||||
|
||||
Le procès-verbal de cette assemblée est accessible
|
||||
[ici]({{ site.baseurl }}/files/2018-05-31-AGE.pdf).
|
||||
[ici](/files/2018-05-31-AGE.pdf).
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
layout: post
|
||||
title: "Assemblée Générale Ordinaire de Juin 2019"
|
||||
title: Assemblée Générale Ordinaire de Juin 2019
|
||||
date: 2019-06-09
|
||||
author: lephenixnoir
|
||||
---
|
||||
|
@ -10,4 +10,4 @@ rôle de CreativeCalc par rapport à Planète Casio. Trois articles des statuts
|
|||
ont été modifiés pour le préciser et améliorer la dynamique du forum.
|
||||
|
||||
Le compte-rendu de cette assemblée est
|
||||
[disponible en ligne]({{ site.baseurl }}/files/2019-06-09-AG.pdf).
|
||||
[disponible en ligne](/files/2019-06-09-AG.pdf).
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
layout: post
|
||||
title: "Assemblée Générale Ordinaire d'Août 2020"
|
||||
title: Assemblée Générale Ordinaire d'Août 2020
|
||||
date: 2020-09-06
|
||||
author: lephenixnoir
|
||||
---
|
||||
|
@ -9,4 +9,4 @@ bilan moral et financier a été dressé, le bureau a été réélu, et une
|
|||
proposition pour aligner les cotisations sur l'année civile a été adoptée.
|
||||
|
||||
Le compte-rendu de cette assemblée est
|
||||
[disponible en ligne]({{ site.baseurl }}/files/2020-08-29-AG.pdf).
|
||||
[disponible en ligne](/files/2020-08-29-AG.pdf).
|
Before Width: | Height: | Size: 198 B After Width: | Height: | Size: 198 B |
Before Width: | Height: | Size: 274 B After Width: | Height: | Size: 274 B |
|
@ -0,0 +1,2 @@
|
|||
User-agent: *
|
||||
Disallow: /contact.html
|
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
layout: page
|
||||
title: Composition du bureau
|
||||
shorttitle: Bureau
|
||||
description: >-
|
||||
Membres du conseil de CreativeCalc, élus lors d'assemblées générales.
|
||||
---
|
||||
### Président
|
||||
Louis Gatin, alias Dark Storm.
|
||||
|
||||
### Trésorier - Secrétaire
|
||||
Sébastien Michelland, alias Lephénixnoir.
|
|
@ -1,8 +1,9 @@
|
|||
---
|
||||
layout: page
|
||||
title: Comment nous contacter ?
|
||||
shorttitle: Contact
|
||||
description: >-
|
||||
Coordonnées de l'association.
|
||||
Coordonnées de l'association
|
||||
---
|
||||
Si vous souhaitez rejoindre l'association ou nous poser directement
|
||||
une question, vous pouvez nous contacter en envoyant un email à
|
|
@ -1,7 +1,8 @@
|
|||
---
|
||||
layout: home
|
||||
layout: page
|
||||
title: CreativeCalc en quelques mots
|
||||
permalink: /index.html
|
||||
shorttitle: À propos
|
||||
status: hidden
|
||||
---
|
||||
CreativeCalc est une association de loi 1901 à but non lucratif, qui gère le
|
||||
site et la communauté de [Planète Casio](https://www.planet-casio.com).
|
||||
|
@ -12,4 +13,3 @@ déplacements.
|
|||
|
||||
CreativeCalc regroupe des membres actifs et motivés de la communauté et sert
|
||||
également à réguler l'administration du site.
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
---
|
||||
layout: page
|
||||
title: Nos statuts
|
||||
description: >-
|
||||
shorttitle: Statuts
|
||||
description: >
|
||||
Ensemble de règles régissant CreativeCalc et ses membres.
|
||||
---
|
||||
### Article premier – Nom
|
||||
|
@ -170,7 +171,7 @@ veto sur une décision émanant du Bureau qui peut conduire à une demande de
|
|||
remboursement de la part d'un membre. À chaque Assemblée Générale Ordinaire,
|
||||
il doit présenter à tous les membres un bref récapitulatif des recettes et des
|
||||
dépenses de l'année précédente. À tout moment et sur demande du Bureau, il doit
|
||||
pouvoir fournir une liste des entrées et sorties sur une période précise.
|
||||
pouvoir fournir une liste des entrées et sorties sur une période précise.
|
||||
|
||||
### Article 15 – Indemnités
|
||||
Toutes les fonctions, y compris celles des membres du Conseil d’Administration
|
||||
|
@ -179,7 +180,7 @@ l’accomplissement de leur mandat, suite à une demande émanant du Bureau, son
|
|||
remboursés sur justificatifs auprès du Trésorier lors de l'Assemblée Générale
|
||||
Ordinaire la plus proche. Une demande d'indemnisation de frais délivrée plus
|
||||
de 2 ans à compter de la date de paiement de ces frais ne pourra être prise
|
||||
en compte.
|
||||
en compte.
|
||||
|
||||
### Article 16 – Règlement intérieur
|
||||
Si le besoin s'en fait sentir, un règlement intérieur peut être établi par le
|
|
@ -0,0 +1,40 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*- #
|
||||
|
||||
AUTHOR = 'CreativeCalc'
|
||||
SITENAME = 'CreativeCalc'
|
||||
SITEURL = ''
|
||||
|
||||
PATH = 'content'
|
||||
STATIC_PATHS = ['files', 'images', 'extra']
|
||||
EXTRA_PATH_METADATA = {
|
||||
'extra/robots.txt': {'path': 'robots.txt'},
|
||||
'extra/favicon.ico': {'path': 'favicon.ico'},
|
||||
'extra/favicon.png': {'path': 'favicon.png'},
|
||||
}
|
||||
|
||||
TIMEZONE = 'Europe/Paris'
|
||||
|
||||
DEFAULT_LANG = 'fr'
|
||||
|
||||
# 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
|
||||
|
||||
# Blogroll
|
||||
# LINKS = (('Pelican', 'https://getpelican.com/'),
|
||||
# ('Python.org', 'https://www.python.org/'),
|
||||
# ('Jinja2', 'https://palletsprojects.com/p/jinja/'),
|
||||
# ('You can modify those links in your config file', '#'),)
|
||||
|
||||
# Social widget
|
||||
# SOCIAL = (('You can add links in your config file', '#'),
|
||||
# ('Another social link', '#'),)
|
||||
|
||||
DEFAULT_PAGINATION = 5
|
||||
|
||||
# Uncomment following line if you want document-relative URLs when developing
|
||||
#RELATIVE_URLS = True
|
|
@ -0,0 +1,18 @@
|
|||
#!/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://creativecalc.fr'
|
||||
RELATIVE_URLS = False
|
||||
|
||||
FEED_ALL_RSS = 'feed.xml'
|
||||
|
||||
DELETE_OUTPUT_DIRECTORY = True
|
|
@ -1,2 +0,0 @@
|
|||
User-agent: *
|
||||
Disallow: /contact.html
|
|
@ -0,0 +1,118 @@
|
|||
# -*- 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'],
|
||||
# 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
|
||||
build(c)
|
||||
server = Server()
|
||||
# Watch the base settings file
|
||||
server.watch(CONFIG['settings_base'], lambda: build(c))
|
||||
# Watch content source files
|
||||
content_file_extensions = ['.md', '.rst']
|
||||
for extension in content_file_extensions:
|
||||
content_blob = '{0}/**/*{1}'.format(SETTINGS['PATH'], extension)
|
||||
server.watch(content_blob, lambda: build(c))
|
||||
# Watch the theme's templates and static assets
|
||||
theme_path = SETTINGS['THEME']
|
||||
server.watch('{}/templates/*.html'.format(theme_path), lambda: build(c))
|
||||
static_file_extensions = ['.css', '.js']
|
||||
for extension in static_file_extensions:
|
||||
static_file = '{0}/static/**/*{1}'.format(theme_path, extension)
|
||||
server.watch(static_file, lambda: build(c))
|
||||
# Serve output path on configured host and port
|
||||
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))
|
|
@ -1,6 +1,3 @@
|
|||
---
|
||||
---
|
||||
|
||||
/*
|
||||
Fonts
|
||||
*/
|
||||
|
@ -74,15 +71,25 @@ article {
|
|||
border: 1px solid rgba(0,0,0,.1);
|
||||
border-top-width: 0; }
|
||||
|
||||
article div.info {
|
||||
text-align: right;
|
||||
color: #444444;
|
||||
}
|
||||
|
||||
div + article {
|
||||
border-top-width: 1px; }
|
||||
|
||||
article h2 {
|
||||
article h1 {
|
||||
margin: 0 0 24px 0;
|
||||
font-size: 24px;
|
||||
color: #333333;
|
||||
text-align: center; }
|
||||
|
||||
article h2 {
|
||||
margin: 0 0 24px 0;
|
||||
font-size: 20px;
|
||||
color: #333333; }
|
||||
|
||||
article h3 {
|
||||
margin: 32px 0 16px 0;
|
||||
font-size: 18px;
|
||||
|
@ -100,7 +107,8 @@ article h2 a {
|
|||
color: unset;
|
||||
}
|
||||
|
||||
article a:hover {
|
||||
article a:hover,
|
||||
article a:focus {
|
||||
text-decoration: underline; }
|
||||
|
||||
article ul {
|
||||
|
@ -117,5 +125,25 @@ hr {
|
|||
color: #e8e8e8; }
|
||||
|
||||
div.separator {
|
||||
height: 24px;
|
||||
height: 24px; }
|
||||
|
||||
div.paginator {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
div.paginator > * {
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
div.paginator a,
|
||||
div.paginator a:visited {
|
||||
text-decoration: none;
|
||||
color: #cc3434;
|
||||
}
|
||||
|
||||
div.paginator a:hover,
|
||||
div.paginator a:focus {
|
||||
text-decoration: underline;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
{% extends "base.html" %}
|
||||
{% block head -%}
|
||||
{{ super() -}}
|
||||
{% if article.summary %}
|
||||
<meta name="description" content="{{ article.summary | striptags | safe | truncate(150) }}" />
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}{{ article.title|striptags }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<article>
|
||||
<h1>{{ article.title }}</h1>
|
||||
{% include 'article_infos.html' %}
|
||||
{{ article.content }}
|
||||
</article>
|
||||
{% endblock %}
|
|
@ -0,0 +1,11 @@
|
|||
<div class="info">
|
||||
<abbr class="published" title="{{ article.date.isoformat() }}">
|
||||
Publié le {{ article.date|strftime('%d/%m/%Y') }}
|
||||
</abbr>
|
||||
|
||||
{% if article.authors %}
|
||||
<address class="vcard author">
|
||||
Par {% for author in article.authors %}{{ author }}{% endfor %}
|
||||
</address>
|
||||
{% endif %}
|
||||
</div>
|
|
@ -0,0 +1,27 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="fr" dir="ltr">
|
||||
<head>
|
||||
{% block head %}
|
||||
<meta charset="utf-8">
|
||||
<title>{% block title %}{{ SITENAME }}{% endblock %}</title>
|
||||
|
||||
<link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css/{{ CSS_FILE }}" />
|
||||
{% if FEED_ALL_RSS %}
|
||||
<link href="{{ FEED_DOMAIN }}/{% if FEED_ALL_RSS_URL %}{{ FEED_ALL_RSS_URL }}{% else %}{{ FEED_ALL_RSS }}{% endif %}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} RSS Feed" />
|
||||
{% endif %}
|
||||
{% endblock head %}
|
||||
</head>
|
||||
<body>
|
||||
<nav>
|
||||
<a href="{{ SITEURL }}/" class="h">CreativeCalc</a>
|
||||
<div>
|
||||
{% for pg in pages|sort(attribute="date", reverse=True) %}
|
||||
<a href="{{ SITEURL }}/{{ pg.url }}">{{ pg.shorttitle }}</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,20 @@
|
|||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
<article>
|
||||
{% for page in hidden_pages %}
|
||||
{{ page.content }}
|
||||
{% endfor %}
|
||||
</article>
|
||||
|
||||
<div class="separator"></div>
|
||||
|
||||
{% if articles %}
|
||||
{% for article in articles_page.object_list %}
|
||||
<article class="post" itemscope itemtype="http://schema.org/BlogPosting">
|
||||
<h2><a href="{{ article.url }}">{{ article.title }}</a></h2>
|
||||
{{ article.content }}
|
||||
</article>
|
||||
{% endfor %}
|
||||
{% include 'pagination.html' %}
|
||||
{% endif %}
|
||||
{% endblock content %}
|
|
@ -0,0 +1,16 @@
|
|||
{% extends "base.html" %}
|
||||
{% block head -%}
|
||||
{{ super() -}}
|
||||
{% if page.summary %}
|
||||
<meta name="description" content="{{ page.summary | striptags | safe | truncate(150) }}" />
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}{{ page.title|striptags }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<article>
|
||||
<h1>{{ page.title }}</h1>
|
||||
{{ page.content }}
|
||||
</article>
|
||||
{% endblock %}
|
|
@ -0,0 +1,19 @@
|
|||
{% if DEFAULT_PAGINATION %}
|
||||
{% if pages %}
|
||||
<div class="paginator">
|
||||
{% if articles_page.has_previous() %}
|
||||
<a href="{{ SITEURL }}/{{ articles_previous_page.url }}">←</a>
|
||||
{% endif %}
|
||||
{% for p in range(1, articles_paginator.num_pages + 1) %}
|
||||
{% if articles_page.number == p %}
|
||||
<span>{{ p }}</span>
|
||||
{% else %}
|
||||
<a href="{{ SITEURL }}/{{ articles_paginator.page(p).url }}">{{ p }}</a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% if articles_page.has_next() %}
|
||||
<a href="{{ SITEURL }}/{{ articles_next_page.url }}">→</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
Loading…
Reference in New Issue