Skip to content
Snippets Groups Projects
Commit 4df946e9 authored by mazenovi's avatar mazenovi
Browse files

first full funcitonal release

parent 4b8abd04
No related branches found
No related tags found
No related merge requests found
Showing
with 299 additions and 65 deletions
__pycache__
output
pelican.pid
*.pyc
srv.pid
# Pages personelles / blog pour le LIMOS avec [Pelican](http://docs.getpelican.com/en/stable/)
Pelican est un outil permettant de générer des fichiers html static à partir de fichiers écrits en markdown
## Installer les dépendances
```bash
sudo pip install --editable .
```
## Lancer le serveur de prévisualisation
```bash
bash develop_server.sh start
```
## Personnaliser
https://github.com/getpelican/pelican-themes/tree/master/pelican-bootstrap3
https://help.farbox.com/pygments.html
## Deployer
......@@ -7,3 +7,32 @@
img {
background-color: white;
}
.nav img {
background-color: transparent;
height: 50px;
margin-top: 5px;
margin-right: 10px;
}
img.logo {
height: 50px;
margin-top: 5px;
}
.navbar-nav .input-group{
margin-top: 7px;
margin-right: 7px;
}
.search .input-group input {
border-bottom-left-radius: 20px;
border-top-left-radius: 20px;
}
.search .input-group span {
border-bottom-right-radius: 20px;
border-top-right-radius: 20px;
}
ul.list-group-flush>li.list-group-item{
border-bottom: 1px solid #DCE4EC;
}
content/images/limos.png

73.9 KiB

content/images/mazenovi.png

84.3 KiB

content/images/wiener-norbert.jpg

149 KiB

Title: Le kit de survie pour git
Date: 2017-05-03 10:20
Tags: ispconfig, admin, www
Title: Comment integragir avec l'API distante d'ispconfig
Date: 2017-05-03 10:20
Tags: ispconfig, admin, www
Ispconfig propose une API SOAP permettant d'exploiter toutes les fonctionnalités d'ipconfig pour la gesiton des hôtes virtuels, des mails, des DNS, des bases de données, etc ...
https://github.com/guru-digital/ispconfig-cli
https://github.com/pemedina/ispconfig-cli
https://git.ispconfig.org/ispconfig/ispconfig3
https://git.ispconfig.org/ispconfig/ispconfig3/tree/master/remoting_client
Title: Utiliser mod_auth_cas avec apache
Date: 2017-05-03 10:20
Tags: ispconfig, admin, www
Ispconfig propose une API SOAP permettant d'exploiter toutes les fonctionnalités d'ipconfig pour la gesiton des hôtes virtuels, des mails, des DNS, des bases de données, etc ...
sudo apt-get install libapache2-mod-auth-cas
sudo service apache2 restart
[Thu May 11 17:14:26.807324 2017] [:error] [pid 3398] MOD_AUTH_CAS: CASLoginURL or CASValidateURL not defined.
sudo dpkg -L libapache2-mod-auth-cas
/etc/apache2/mods-available/auth_cas.conf
CASCookiePath /var/cache/apache2/mod_auth_cas/
CASValidateServer On
CASLoginURL https://login.isima.fr/cas/login
CASValidateURL https://login.isima.fr/cas/serviceValidate
dans le vhost
<Directory {DOCROOT}>
AuthName 'Private'
AuthType CAS
Require valid-user
</Directory>
voir requête LDAP + parmaètres réupérables pour credential
Title: My First Review
Date: 2010-12-03 10:20
Category: Review
Tags: pipo, mollo
Following is a review of my favorite mechanical keyboard.
Title: My page
Title: <i class="fa fa-graduation-cap" aria-hidden="true"></i> Cours
Date: 2010-12-30 10:25
Category: pipo
Tags: pipo, mollo
......
Title: <i class="fa fa-briefcase" aria-hidden="true"></i> &Agrave; propos
Date: 2010-12-28 10:27
Category: pipo
Tags: pipo, mollo
## Following is a review of my favorite mechanical keyboard.
page
Title: <i class="fa fa-cogs" aria-hidden="true"></i> Projets
Date: 2010-12-12 10:25
## Following is a review of my favorite mechanical keyboard.
page
Title: <i class="fa fa-flask" aria-hidden="true"></i> Recherche
Date: 2010-12-29 10:26
Category: pipo
Tags: pipo, mollo
## Following is a review of my favorite mechanical keyboard.
page
#!/usr/bin/env python
# -*- coding: utf-8 -*- #
from __future__ import unicode_literals
import os
AUTHOR = 'm4z3->'
SITENAME = 'blog.m4z3.me'
AUTHOR = 'Vincent Mazenod'
SITENAME = 'Vincent Mazenod / ingénieur d\'études'
SITEURL = ''
SITELOGO = 'images/mazenovi.png'
SITELOGO_SIZE = "50px"
FAVICON = 'images/favicon.ico'
# BANNER = 'images/mazenovi.png'
# BANNER_SUBTITLE = 'Si les noisettes rendaient aussi intelligent que la publicité nutella veut bien le laisser croire, ça ferait un bon moment que les écureils domineraient le monde!'
PATH = 'content'
TIMEZONE = 'Europe/Paris'
DEFAULT_LANG = 'fr'
# Feed generation is usually not desired when developing
FEED_ALL_ATOM = None
......@@ -21,63 +22,80 @@ AUTHOR_FEED_RSS = None
# Blogroll
LINKS = (
('Julien muetton', '#'),
('william durand', '#'),
('Taylordev', '#'),
('Manuraynaud', '#'),
('Romain Tartière', '#'),
('Kevin Gomez', '#')
(
'user-circle',
'Farouk Toumani',
'http://www.isima.fr/~ftoumani/'
),
(
'user-circle',
'Pascal Lafourcade',
'http://sancy.univ-bpclermont.fr/~lafourcade/'
),
(
'user-circle',
'Engelbert Mephu Nguifo',
'http://ws.isima.fr/~mephu/'
)
)
# Social widget
SOCIAL = (
('docs', 'http://doc.m4z3.me/'),
('cv', 'http://cv.m4z3.me/'),
('blog', 'http://blog.m4z3.me/'),
('twitter', 'http://twitter.com/mazenovi'),
('facebook', 'http://facebook.com/mazenovi'),
('linkedin', 'http://linked-in.com/mazenovi'),
('viadeo', 'http://facebook.com/mazenovi'),
('gitlab', 'http://gitlab.com/mazenovi'),
('github', 'http://github.com/mazenovi'),
('soundcloud', 'http://soundcloud.com/mazenovi'),
('mixcloud', 'http://mixcloud.com/mazenovi'),
('deezer', 'http://deezer.com/mazenovi')
(
'gitlab',
'gitlab.isima.fr',
'https://gitlab.isima.fr/mazenovi'
),
(
'github',
'github',
'https://github.com/mazenovi/'
)
)
DEFAULT_PAGINATION = 10
CC_LICENSE = "CC-BY-NC-ND"
# "CC-BY" (require attribution)
# "CC-BY-SA" (require ShareAlike)
# "CC-BY-ND" (NoDerivatives)
# "CC-BY-NC" (require attribution, no commercial reuse)
# "CC-BY-NC-SA" (require ShareAlike, no commercial reuse)
# "CC-BY-NC-ND" (NoDerivatives, no commercial reuse).
CC_LICENSE_DERIVATIVES = "ShareAlike"
# "yes" if permitted
# "no" if not permitted
# "ShareAlike" if derivatives must be shared under the same terms.
CC_LICENSE_COMMERCIAL = "no"
# "yes" if commercial reuse is permitted
# "no" otherwise.
# CUSTOM_LICENSE='Unless otherwise stated, all articles are published under' +
# 'the <a href="http://www.wtfpl.net/about/">WTFPL</a> license.'""
# comment CC_* vars and uncommment CUSTOM LICENSE TO ENABLE IT
# Uncomment following line if you want document-relative URLs when developing
# RELATIVE_URLS = True
DISQUS_SITENAME = 'https://limos.isima.fr/~mazenod'
DISPLAY_CATEGORIES_ON_MENU = False
# https://github.com/getpelican/pelican-themes/tree/master/pelican-bootstrap3
THEME = "/data/htdocs/pelican/themes/pelican-bootstrap3"
THEME_TEMPLATE_OVERRIDES = ['/data/htdocs/pelican/themes/custom_theme/templates']
# EXTRA_TEMPLATES_PATHS = ['/data/htdocs/pelican/themes/custom_theme/templates']
"""
THEME = "/data/htdocs/pelican/custom_theme"
THEMES = (
# ordered templates
'notmyidea',
'default',
'simple',
'base',
DISPLAY_TAGS_ON_SIDEBAR = True
TAG_CLOUD_STEPS = 8
TAG_CLOUD_MAX_ITEMS = 20
TAG_CLOUD_BADGE = True
# prefixed loaded
('!bootstrap3', 'notmyidea'),
)
THEME_TEMPLATE_OVERRIDES = (
'custom_theme/templates'
)
EXTRA_TEMPLATES_PATHS = ['custom_theme/templates']
"""
DIRECT_TEMPLATES = ('index', 'categories', 'authors', 'archives', 'search')
# Vous ne devriez pas toucher à cette partie
# à moins que vous ne sachiez ce que vous faites ;)
DEFAULT_PAGINATION = 10
BOOTSTRAP_THEME = "flatly"
PATH = 'content'
TIMEZONE = 'Europe/Paris'
DISPLAY_CATEGORIES_ON_MENU = False
THEME = os.path.dirname(os.path.abspath(__file__)) + "/themes/limos"
JINJA_ENVIRONMENT = {'extensions': ['jinja2.ext.i18n']}
PLUGIN_PATHS = ['/data/htdocs/pelican/plugins']
PLUGINS = ['i18n_subsites','theme_template_overrides']
PLUGIN_PATHS = [os.path.dirname(os.path.abspath(__file__)) + '/plugins']
PLUGINS = ['i18n_subsites', 'tag_cloud', 'tipue_search']
I18N_TEMPLATES_LANG = 'en'
# https://bootswatch.com/
BOOTSTRAP_THEME = "slate"
SHOW_ARTICLE_AUTHOR = False
SHOW_ARTICLE_CATEGORY = True
SHOW_DATE_MODIFIED = True
......@@ -86,19 +104,14 @@ STATIC_PATHS = ['images', 'extra/custom.css']
EXTRA_PATH_METADATA = {
'extra/custom.css': {'path': 'static/custom.css'}
}
# https://help.farbox.com/pygments.html
PYGMENTS_STYLE = "monokai"
USE_PAGER = True
BOOTSTRAP_FLUID = False
SITELOGO = 'images/mazenovi.png'
SITELOGO_SIZE = "25px"
DISPLAY_BREADCRUMBS = True
DISPLAY_CATEGORY_IN_BREADCRUMBS = True
DISPLAY_PAGES_ON_MENU = True
BOOTSTRAP_NAVBAR_INVERSE = False
FAVICON = 'images/favicon.ico'
DEFAULT_LANG = 'fr'
DISPLAY_ARTICLE_INFO_ON_INDEX = True
# BANNER = 'images/mazenovi.png'
# BANNER_SUBTITLE = 'Si les noisettes rendaient aussi intelligent que la publicité nutella veut bien le laisser croire, ça ferait un bon moment que les écureils domineraient le monde!'
DISABLE_SIDEBAR_TITLE_ICONS = True
PAGE_PATHS = ['pages']
No preview for this file type
No preview for this file type
tag_cloud
=========
This plugin generates a tag-cloud.
Installation
------------
In order to use to use this plugin, you have to edit(*) or create(+) the following files::
blog/
├── pelicanconf.py *
├── content
├── plugins +
│ └── tag_cloud.py +
└── themes
└── mytheme
├── templates
│ └── base.html *
└── static
└── css
└── style.css *
In **pelicanconf.py** you have to activate the plugin::
PLUGIN_PATHS = ["plugins"]
PLUGINS = ["tag_cloud"]
Into your **plugins** folder, you should add tag_cloud.py (from this repository).
In your theme files, you should change **base.html** to apply formats (and sizes) defined in **style.css**, as specified in "Settings", below.
Settings
--------
================================================ =====================================================
Setting name (followed by default value) What does it do?
================================================ =====================================================
``TAG_CLOUD_STEPS = 4`` Count of different font sizes in the tag
cloud.
``TAG_CLOUD_MAX_ITEMS = 100`` Maximum number of tags in the cloud.
``TAG_CLOUD_SORTING = 'random'`` The tag cloud ordering scheme. Valid values:
random, alphabetically, alphabetically-rev, size and
size-rev
``TAG_CLOUD_BADGE = True`` Optionnal setting : can bring **badges**, which mean
say : display the number of each tags present
on all articles.
================================================ =====================================================
The default theme does not include a tag cloud, but it is pretty easy to add one::
<ul class="tagcloud">
{% for tag in tag_cloud %}
<li class="tag-{{ tag.1 }}">
<a href="{{ SITEURL }}/{{ tag.0.url }}">
{{ tag.0 }}
{% if TAG_CLOUD_BADGE %}
<span class="badge">{{ tag.2 }}</span>
{% endif %}
</a>
</li>
{% endfor %}
</ul>
You should then also define CSS styles with appropriate classes (tag-1 to tag-N,
where N matches ``TAG_CLOUD_STEPS``), tag-1 being the most frequent, and
define a ``ul.tagcloud`` class with appropriate list-style to create the cloud.
You should copy/paste this **badge** CSS rule ``ul.tagcloud .list-group-item <span>.badge``
if you're using ``TAG_CLOUD_BADGE`` setting. (this rule, potentially long , is suggested to avoid
conflicts with CSS libs as twitter Bootstrap)
For example::
ul.tagcloud {
list-style: none;
padding: 0;
}
ul.tagcloud li {
display: inline-block;
}
li.tag-1 {
font-size: 150%;
}
li.tag-2 {
font-size: 120%;
}
...
ul.tagcloud .list-group-item <span>.badge {
background-color: grey;
color: white;
}
By default the tags in the cloud are sorted randomly, but if you prefers to have it alphabetically use the `alphabetically` (ascending) and `alphabetically-rev` (descending). Also is possible to sort the tags by it's size (number of articles with this specific tag) using the values `size` (ascending) and `size-rev` (descending).
\ No newline at end of file
from .tag_cloud import *
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment