Compare commits
20 Commits
DEV
...
75060070b9
Author | SHA1 | Date | |
---|---|---|---|
75060070b9 | |||
0607f2a69a | |||
1764489028 | |||
b6b089542e | |||
735cd0bd59 | |||
dc470aec10 | |||
f2adf72aa0 | |||
0653ac2bf8 | |||
5b9910bb0f | |||
dbbb0b5ecf | |||
6060a52717 | |||
12d10e6ace | |||
abe52dd5c9 | |||
1c92eedfb2 | |||
1f34a326ad | |||
d6e575ea45 | |||
438251f75d | |||
b720e17c61 | |||
02dbc94f31 | |||
dd92f1a77e |
30
.drone.yml
Normal file
30
.drone.yml
Normal file
@@ -0,0 +1,30 @@
|
||||
kind: pipeline
|
||||
name: Opytex 2021-2022
|
||||
type: docker
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
- 2021-2022
|
||||
|
||||
steps:
|
||||
- name: Deploy
|
||||
image: python:3.8-alpine
|
||||
commands:
|
||||
- apk add --no-cache openssh-client ca-certificates bash rsync git imagemagick-dev imagemagick
|
||||
- git submodule init
|
||||
- git submodule update
|
||||
- git clone https://git.opytex.org/lafrite/2021-2022.git content
|
||||
- pip install --no-cache-dir -r requirements.txt
|
||||
- export MAGICK_HOME=/usr
|
||||
- pelican ./content/ -o output -s publishconf.py --relative-urls
|
||||
- eval `ssh-agent -s`
|
||||
- echo "$SSH_KEY" | ssh-add -
|
||||
- mkdir -p ~/.ssh
|
||||
- echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
|
||||
- ssh sshcontent@91.121.90.228 'mkdir -p ~/opytex.org/www/enseignements/2021-2022/'
|
||||
- rsync -rv --delete -e "ssh -p 22" ./output/ sshcontent@91.121.90.228:~/opytex.org/www/enseignements/2021-2022/ --checksum
|
||||
environment:
|
||||
SSH_KEY:
|
||||
from_secret: sshcontent-key
|
||||
|
||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@@ -6,3 +6,4 @@ content
|
||||
__pycache__
|
||||
*.pid
|
||||
venv/
|
||||
.vim/
|
||||
|
@@ -10,9 +10,8 @@ MENUITEMS = [
|
||||
#("Dernières modifications", SITEURL+"blog_index.html"),
|
||||
("Accueil", "/"),
|
||||
("Contenus de cours", "/pages/tout-sur-mes-cours.html"),
|
||||
('blog', '/blog_index.html'),
|
||||
('Opytex', "/opytex/"),
|
||||
("pyMath", "/pymath/"),
|
||||
('Blog', '/blog_index.html'),
|
||||
('Informatique', "/pages/projets-informatiques.html"),
|
||||
('À propos', "/pages/a-propos.html"),
|
||||
]
|
||||
|
||||
|
@@ -3,35 +3,35 @@
|
||||
from __future__ import unicode_literals
|
||||
import os
|
||||
import sys
|
||||
|
||||
sys.path.append(os.curdir)
|
||||
from globalconf import *
|
||||
|
||||
AUTHOR = 'Benjamin Bertrand'
|
||||
SITENAME = 'OpyTex'
|
||||
SITETITLE = 'OpyTex'
|
||||
SITESUBTITLE = "DEV"
|
||||
#SITEURL = 'https://0.0.0.0:8000/enseignements/DEV'
|
||||
SITEURL = ''
|
||||
AUTHOR = "Benjamin Bertrand"
|
||||
SITENAME = "OpyTex"
|
||||
SITETITLE = "OpyTex"
|
||||
SITESUBTITLE = "2022-2023"
|
||||
SITEURL = ""
|
||||
|
||||
CC_LICENSE_COMMERCIAL = True
|
||||
CC_LICENSE = True
|
||||
|
||||
PATH = './content'
|
||||
PATH = "./content"
|
||||
|
||||
TIMEZONE = 'Europe/Paris'
|
||||
TIMEZONE = "Europe/Paris"
|
||||
|
||||
DEFAULT_LANG = 'fr'
|
||||
DEFAULT_LANG = "fr"
|
||||
|
||||
# Uncomment following line if you want document-relative URLs when developing
|
||||
#RELATIVE_URLS = True
|
||||
# RELATIVE_URLS = True
|
||||
|
||||
# Files places
|
||||
IGNORE_FILES = ['venv', '.git', 'tools']
|
||||
IGNORE_FILES = ["venv", ".git", "tools"]
|
||||
# Pages, articles and static
|
||||
#PAGE_PATHS = ['pages']
|
||||
ARTICLE_PATHS = ['.']
|
||||
STATIC_PATHS = ['.']
|
||||
INDEX_SAVE_AS = 'blog_index.html'
|
||||
# PAGE_PATHS = ['pages']
|
||||
ARTICLE_PATHS = ["."]
|
||||
STATIC_PATHS = ["."]
|
||||
INDEX_SAVE_AS = "blog_index.html"
|
||||
|
||||
#
|
||||
USE_FOLDER_AS_CATEGORY = False
|
||||
@@ -39,18 +39,18 @@ USE_FOLDER_AS_CATEGORY = False
|
||||
# Plugins
|
||||
PLUGIN_PATHS = ["plugins"]
|
||||
PLUGINS = [
|
||||
'i18n_subsites',
|
||||
"pelican-page-hierarchy",
|
||||
"i18n_subsites",
|
||||
"always_modified",
|
||||
"tag_cloud",
|
||||
# 'pdf-img',
|
||||
"pdf-img",
|
||||
"big-button",
|
||||
]
|
||||
|
||||
ALWAYS_MODIFIED = True
|
||||
|
||||
# Mirror source structure
|
||||
PATH_METADATA = '(?P<path_no_ext>.*)\..*'
|
||||
ARTICLE_URL = ARTICLE_SAVE_AS = PAGE_URL = PAGE_SAVE_AS = '{path_no_ext}.html'
|
||||
PATH_METADATA = "(?P<path_no_ext>.*)\..*"
|
||||
ARTICLE_URL = ARTICLE_SAVE_AS = PAGE_URL = PAGE_SAVE_AS = "{path_no_ext}.html"
|
||||
|
||||
# USE_FOLDER_AS_CATEGORY = True
|
||||
# DEFAULT_CATEGORY = "Autre"
|
||||
@@ -58,7 +58,7 @@ ARTICLE_URL = ARTICLE_SAVE_AS = PAGE_URL = PAGE_SAVE_AS = '{path_no_ext}.html'
|
||||
# Readers
|
||||
READERS = {"html": None}
|
||||
# Everythings in french
|
||||
JINJA_ENVIRONMENT = {'extensions': ['jinja2.ext.i18n']}
|
||||
JINJA_ENVIRONMENT = {"extensions": ["jinja2.ext.i18n"]}
|
||||
# Default theme language.
|
||||
I18N_TEMPLATES_LANG = "en"
|
||||
# Your language.
|
||||
@@ -80,7 +80,7 @@ DISPLAY_PAGES_ON_SIDE = False
|
||||
TOCTREE = True
|
||||
TAG_CLOUD = True
|
||||
|
||||
#SITELOGO = ""
|
||||
# SITELOGO = ""
|
||||
LINKS = ()
|
||||
DEFAULT_PAGINATION = 10
|
||||
|
||||
|
0
plugins/big-button/README.rst
Normal file
0
plugins/big-button/README.rst
Normal file
1
plugins/big-button/__init__.py
Normal file
1
plugins/big-button/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
from .big_button import *
|
66
plugins/big-button/big_button.py
Normal file
66
plugins/big-button/big_button.py
Normal file
@@ -0,0 +1,66 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
big_button tags for reStructuredText
|
||||
==============================
|
||||
This plugin allows you to use big_button tags from within reST documents.
|
||||
|
||||
.. big_button::
|
||||
:title: Title
|
||||
:link: ""
|
||||
:color: default
|
||||
|
||||
Description
|
||||
|
||||
"""
|
||||
|
||||
from __future__ import unicode_literals
|
||||
from docutils import nodes
|
||||
from docutils.parsers.rst import directives, Directive
|
||||
|
||||
|
||||
class BigButton(Directive):
|
||||
optional_arguments = 0
|
||||
final_argument_whitespace = True
|
||||
has_content = True
|
||||
required_arguments = 0
|
||||
optional_arguments = 0
|
||||
final_argument_whitespace = False
|
||||
option_spec = {
|
||||
"title": directives.unicode_code,
|
||||
"link": directives.path,
|
||||
}
|
||||
|
||||
def settings(self):
|
||||
self.options['content'] = '\n'.join(self.content)
|
||||
|
||||
if not self.options.get('title'):
|
||||
self.options['title'] = 0
|
||||
if not self.options.get('link'):
|
||||
self.options['link'] = 0
|
||||
|
||||
def html(self):
|
||||
html = "<div class='button'>\n"
|
||||
if self.options["link"]:
|
||||
html += f"<a href={self.options['link']}>"
|
||||
else:
|
||||
html += f"<div class='nolink'>"
|
||||
if self.options["title"]:
|
||||
html += f"<h3> {self.options['title']}</h3>"
|
||||
if self.content:
|
||||
html += "<div class='content'>"
|
||||
html += f"{self.options['content']}"
|
||||
html += "</div>"
|
||||
if self.options["link"]:
|
||||
html += "</a>"
|
||||
else:
|
||||
html += "</div>"
|
||||
html += "</div>"
|
||||
return html
|
||||
|
||||
def run(self):
|
||||
self.settings()
|
||||
return [nodes.raw('', self.html(), format='html')]
|
||||
|
||||
|
||||
def register():
|
||||
directives.register_directive("big_button", BigButton)
|
@@ -11,7 +11,7 @@ sys.path.append(os.curdir)
|
||||
from pelicanconf import *
|
||||
|
||||
# If your site is available via HTTPS, make sure SITEURL begins with https://
|
||||
SITEURL = 'n'
|
||||
SITEURL = 'https://opytex.org/enseignements/2022-2023/'
|
||||
RELATIVE_URLS = False
|
||||
|
||||
FEED_ALL_ATOM = 'feeds/all.atom.xml'
|
||||
@@ -22,4 +22,4 @@ DELETE_OUTPUT_DIRECTORY = True
|
||||
# Following items are often useful when publishing
|
||||
|
||||
#DISQUS_SITENAME = ""
|
||||
#GOOGLE_ANALYTICS = ""
|
||||
#GOOGLE_ANALYTICS = ""
|
||||
|
15
requirements.txt
Normal file
15
requirements.txt
Normal file
@@ -0,0 +1,15 @@
|
||||
beautifulsoup4==4.9.1
|
||||
blinker==1.4
|
||||
bs4==0.0.1
|
||||
docutils==0.16
|
||||
feedgenerator==1.9.1
|
||||
Jinja2==2.11.2
|
||||
MarkupSafe==1.1.1
|
||||
pelican==4.2.0
|
||||
Pygments==2.6.1
|
||||
python-dateutil==2.8.1
|
||||
pytz==2020.1
|
||||
six==1.15.0
|
||||
soupsieve==2.0.1
|
||||
Unidecode==1.1.1
|
||||
Wand==0.6.2
|
@@ -1,8 +1,8 @@
|
||||
@import "variables.less";
|
||||
|
||||
html, body {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
h1,
|
||||
@@ -11,345 +11,337 @@ h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-weight: 300;
|
||||
line-height: 1.1;
|
||||
font-weight: 300;
|
||||
line-height: 1.1;
|
||||
}
|
||||
|
||||
h1{
|
||||
font-size: 2.4em
|
||||
font-size: 2.4em
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 2em;
|
||||
background-color: @light-grey;
|
||||
padding: 4px;
|
||||
font-size: 2em;
|
||||
background-color: @light-grey;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.6em
|
||||
font-size: 1.6em
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 1.36em
|
||||
font-size: 1.36em
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 1.2em
|
||||
font-size: 1.2em
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size: 1.1em
|
||||
font-size: 1.1em
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: @body-bg;
|
||||
color: @text-color;
|
||||
font-family: @sans;
|
||||
font-size: 1.02em;
|
||||
line-height: 1.2em;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: @body-bg;
|
||||
color: @text-color;
|
||||
font-family: @sans;
|
||||
font-size: 1.02em;
|
||||
line-height: 1.2em;
|
||||
}
|
||||
|
||||
a {
|
||||
color: @link-color;
|
||||
text-decoration: none;
|
||||
color: @link-color;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: @link-hover-color;
|
||||
color: @link-hover-color;
|
||||
}
|
||||
|
||||
hr {
|
||||
color: @light-grey;
|
||||
background-color: @light-grey;
|
||||
height: 1px;
|
||||
border: none;
|
||||
margin-top: 40px;
|
||||
margin-bottom: 40px;
|
||||
color: @light-grey;
|
||||
background-color: @light-grey;
|
||||
height: 1px;
|
||||
border: none;
|
||||
margin-top: 40px;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
max-width: 100%;
|
||||
border: 2px solid @med-light-grey;
|
||||
box-shadow: 0px 0px 10px @light-grey;
|
||||
}
|
||||
|
||||
.button {
|
||||
margin: 20px;
|
||||
border: 3px solid @orange;
|
||||
width: 250px;
|
||||
height: 150px;
|
||||
border-radius: 25px;
|
||||
display: inline-flex;
|
||||
vertical-align: top;
|
||||
padding: 5px 15px;
|
||||
* {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
}
|
||||
a {
|
||||
width:100%;
|
||||
height:100%;
|
||||
}
|
||||
.nolink {
|
||||
width:100%;
|
||||
height:100%;
|
||||
}
|
||||
h3 {
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
background-color: @light-grey;
|
||||
}
|
||||
|
||||
aside {
|
||||
background-color: @sidebar-bg;
|
||||
color: @sidebar-text-color;
|
||||
// text-align: center;
|
||||
background-color: @sidebar-bg;
|
||||
color: @sidebar-text-color;
|
||||
// text-align: center;
|
||||
|
||||
a {
|
||||
color: @sidebar-link-color;
|
||||
display: block;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: @sidebar-link-hover-color;
|
||||
}
|
||||
|
||||
.title {
|
||||
text-align: center;
|
||||
margin-bottom: 50px;
|
||||
margin-top: 50px;
|
||||
|
||||
img {
|
||||
padding: 20px;
|
||||
border-radius: 50%;
|
||||
max-width: 140px;
|
||||
a {
|
||||
color: @sidebar-link-color;
|
||||
display: block;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin: 15px 0 5px 0;
|
||||
|
||||
a:hover {
|
||||
color: @sidebar-link-hover-color;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0 0 15px 0;
|
||||
font-size: .92em;
|
||||
.title {
|
||||
text-align: center;
|
||||
//padding-bottom: 20px;
|
||||
padding-top: 20px;
|
||||
|
||||
img {
|
||||
padding: 20px;
|
||||
border-radius: 50%;
|
||||
max-width: 140px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin: 15px 0 5px 0;
|
||||
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0 0 15px 0;
|
||||
font-size: .92em;
|
||||
}
|
||||
}
|
||||
nav {
|
||||
.toctree {
|
||||
display: none;
|
||||
}
|
||||
#toggle {
|
||||
display: none;
|
||||
}
|
||||
#toggle:checked + .toctree {
|
||||
display: block;
|
||||
}
|
||||
label {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 40px;
|
||||
cursor: pointer;
|
||||
}
|
||||
ul.toctree {
|
||||
display: none;
|
||||
padding-inline-start: 0px;
|
||||
h2 {
|
||||
background-color: @navbar-bg;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
ul {
|
||||
padding-inline-start: 0px;
|
||||
display: block;
|
||||
li {
|
||||
padding: 0;
|
||||
display: block;
|
||||
}
|
||||
a {
|
||||
color: @navbar-text-color;
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
li.toctree-l1 {
|
||||
li.current{
|
||||
background-color: @navbar-toctree-l2-sel-bg;
|
||||
color: @navbar-toctree-l2-sel-txt;
|
||||
padding: 10px;
|
||||
border-left: solid 5px @orange;
|
||||
}
|
||||
}
|
||||
li.current{
|
||||
a {
|
||||
background-color: @navbar-toctree-l1-sel-bg;
|
||||
color: @navbar-toctree-l1-sel-txt;
|
||||
border-top: solid 1px @light-grey;
|
||||
border-bottom: solid 1px @light-grey;
|
||||
border-left: solid 2px @orange;
|
||||
}
|
||||
a:hover {
|
||||
color: @orange;
|
||||
}
|
||||
}
|
||||
li.toctree-l2 {
|
||||
a {
|
||||
border: none;
|
||||
background-color: @navbar-toctree-l2-bg;
|
||||
color: @navbar-toctree-l2-txt;
|
||||
}
|
||||
}
|
||||
a {
|
||||
padding: 10px;
|
||||
}
|
||||
a:hover {
|
||||
color: @orange;
|
||||
}
|
||||
}
|
||||
ul.list {
|
||||
li {
|
||||
display: inline;
|
||||
line-height: 1.6em;
|
||||
font-size: 1.28em;
|
||||
text-transform: lowercase;
|
||||
}
|
||||
}
|
||||
}
|
||||
.tagcloud {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
nav {
|
||||
ul {
|
||||
padding-inline-start: 0px;
|
||||
display: block;
|
||||
}
|
||||
ul.toctree {
|
||||
li {
|
||||
a {
|
||||
background-color: @navbar-bg;
|
||||
color: @navbar-text-color;
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
li.toctree-l1 {
|
||||
li.current{
|
||||
background-color: @navbar-toctree-l2-sel-bg;
|
||||
color: @navbar-toctree-l2-sel-txt;
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
li.current{
|
||||
a {
|
||||
background-color: @navbar-toctree-l1-sel-bg;
|
||||
border-bottom: solid 1px @light-grey;
|
||||
border-left: solid 2px @grey;
|
||||
color: @navbar-toctree-l1-sel-txt;
|
||||
}
|
||||
a:hover {
|
||||
color: @orange;
|
||||
}
|
||||
}
|
||||
li.toctree-l2 {
|
||||
a {
|
||||
border: none;
|
||||
background-color: @navbar-toctree-l2-bg;
|
||||
color: @navbar-toctree-l2-txt;
|
||||
}
|
||||
}
|
||||
a {
|
||||
padding: 10px;
|
||||
}
|
||||
a:hover {
|
||||
color: @orange;
|
||||
}
|
||||
}
|
||||
ul.list {
|
||||
li {
|
||||
display: inline;
|
||||
line-height: 1.6em;
|
||||
font-size: 1.28em;
|
||||
text-transform: lowercase;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tagcloud {
|
||||
h2 {
|
||||
background-color: @sidebar-bg;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
ul li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
li.tag-0 {
|
||||
font-size: 170%;
|
||||
}
|
||||
|
||||
li.tag-1 {
|
||||
font-size: 150%;
|
||||
}
|
||||
|
||||
li.tag-2 {
|
||||
font-size: 120%;
|
||||
}
|
||||
|
||||
li.tag-3 {
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
li.tag-4 {
|
||||
font-size: 80%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
main {
|
||||
nav {
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
font-size: .72em;
|
||||
padding: 14px 0 14px 0;
|
||||
border-bottom: @nav-border-color 1px solid;
|
||||
}
|
||||
|
||||
nav, .translations {
|
||||
a {
|
||||
padding: 0 4px 0 4px;
|
||||
border-left: @nav-border-color 1px solid;
|
||||
border-right: @nav-border-color 1px solid;
|
||||
nav {
|
||||
display: none;
|
||||
}
|
||||
|
||||
:first-child {
|
||||
border-left: none;
|
||||
}
|
||||
|
||||
:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
}
|
||||
article {
|
||||
margin: 0 8% 2% 8%;
|
||||
|
||||
.neighbors {
|
||||
margin: 4% 0% 4% 0%;
|
||||
height: 20px;
|
||||
}
|
||||
header {
|
||||
h1, h2 {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.pagination {
|
||||
margin: 4% 8% 4% 8%;
|
||||
height: 20px;
|
||||
}
|
||||
p {
|
||||
color: @header-text-color;
|
||||
font-size: 0.86em;
|
||||
}
|
||||
|
||||
.social-share {
|
||||
p {
|
||||
font-size: .8em;
|
||||
}
|
||||
}
|
||||
.translations {
|
||||
float: right;
|
||||
|
||||
article {
|
||||
margin: 0 8% 2% 8%;
|
||||
|
||||
header {
|
||||
h1, h2 {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
p {
|
||||
color: @header-text-color;
|
||||
font-size: 0.86em;
|
||||
}
|
||||
|
||||
.translations {
|
||||
float: right;
|
||||
|
||||
.active {
|
||||
font-weight: 600;
|
||||
.active {
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
code, kbd, samp, pre {
|
||||
font-family: @mono;
|
||||
}
|
||||
|
||||
blockquote, pre {
|
||||
background-color: rgba(128,128,128,0.05);
|
||||
border-top-right-radius: 5px;
|
||||
border-bottom-right-radius: 5px;
|
||||
border-left: 8px solid rgba(128,128,128,0.075);
|
||||
border-left-width: 10px;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
padding: 10px 20px;
|
||||
font-weight: 300;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
pre {
|
||||
padding: 4px;
|
||||
font-size: .9em;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
samp {
|
||||
white-space: pre;
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
kbd {
|
||||
padding: .1em .6em;
|
||||
border: 1px solid rgba(63,63,63,0.25);
|
||||
box-shadow: 0 1px 0 rgba(63,63,63,0.25);
|
||||
background-color: #fff;
|
||||
color: #333;
|
||||
border-radius: 3px;
|
||||
display: inline-block;
|
||||
margin: 0 .1em;
|
||||
white-space: nowrap;
|
||||
font-size: .78em;
|
||||
}
|
||||
|
||||
*:not(pre) > code {
|
||||
font-size: .8em;
|
||||
white-space: nowrap;
|
||||
color: #c25;
|
||||
padding: 1px 3px;
|
||||
background-color: #f7f7f9;
|
||||
border: 1px solid #e1e1e8;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.comment-count {
|
||||
font-size: .8em;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
|
||||
thead:first-child tr:first-child th {
|
||||
border-top: 0;
|
||||
}
|
||||
|
||||
th, td {
|
||||
padding: 8px;
|
||||
line-height: 20px;
|
||||
vertical-align: top;
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
code, kbd, samp, pre {
|
||||
font-family: @mono;
|
||||
footer {
|
||||
padding-top: 4px;
|
||||
border-top: @footer-border-color 1px solid;
|
||||
|
||||
p {
|
||||
margin: 2px;
|
||||
text-align: center;
|
||||
padding: 0 40px 0 40px;
|
||||
color: @footer-text-color;
|
||||
font-size: 11px;
|
||||
}
|
||||
}
|
||||
|
||||
blockquote, pre {
|
||||
background-color: rgba(128,128,128,0.05);
|
||||
border-top-right-radius: 5px;
|
||||
border-bottom-right-radius: 5px;
|
||||
border-left: 8px solid rgba(128,128,128,0.075);
|
||||
border-left-width: 10px;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
padding: 10px 20px;
|
||||
font-weight: 300;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
pre {
|
||||
padding: 4px;
|
||||
font-size: .9em;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
samp {
|
||||
white-space: pre;
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
kbd {
|
||||
padding: .1em .6em;
|
||||
border: 1px solid rgba(63,63,63,0.25);
|
||||
box-shadow: 0 1px 0 rgba(63,63,63,0.25);
|
||||
background-color: #fff;
|
||||
color: #333;
|
||||
border-radius: 3px;
|
||||
display: inline-block;
|
||||
margin: 0 .1em;
|
||||
white-space: nowrap;
|
||||
font-size: .78em;
|
||||
}
|
||||
|
||||
*:not(pre) > code {
|
||||
font-size: .8em;
|
||||
white-space: nowrap;
|
||||
color: #c25;
|
||||
padding: 1px 3px;
|
||||
background-color: #f7f7f9;
|
||||
border: 1px solid #e1e1e8;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.comment-count {
|
||||
font-size: .8em;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
|
||||
thead:first-child tr:first-child th {
|
||||
border-top: 0;
|
||||
}
|
||||
|
||||
th, td {
|
||||
padding: 8px;
|
||||
line-height: 20px;
|
||||
vertical-align: top;
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
footer {
|
||||
padding-top: 4px;
|
||||
border-top: @footer-border-color 1px solid;
|
||||
|
||||
p {
|
||||
margin: 2px;
|
||||
text-align: center;
|
||||
padding: 0 40px 0 40px;
|
||||
color: @footer-text-color;
|
||||
font-size: 11px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.about {
|
||||
@@ -359,96 +351,96 @@ main {
|
||||
}
|
||||
|
||||
.tag-cloud {
|
||||
text-align: center;
|
||||
a {
|
||||
background-color: @tag-bg;
|
||||
padding: .2em .6em .2em;
|
||||
font-size: .74em;
|
||||
text-align: center;
|
||||
a {
|
||||
background-color: @tag-bg;
|
||||
padding: .2em .6em .2em;
|
||||
font-size: .74em;
|
||||
line-height: 1;
|
||||
color: @tag-text-color;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
vertical-align: baseline;
|
||||
border-radius: .25em;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
background-color: @tag-hover-color;
|
||||
}
|
||||
}
|
||||
|
||||
a.btn {
|
||||
background-color: @btn-bg;
|
||||
padding: .6em .6em;
|
||||
font-size: .8em;
|
||||
line-height: 1;
|
||||
color: @tag-text-color;
|
||||
color: @btn-text-color;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
vertical-align: baseline;
|
||||
border-radius: .25em;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
background-color: @tag-hover-color;
|
||||
}
|
||||
}
|
||||
|
||||
a.btn {
|
||||
background-color: @btn-bg;
|
||||
padding: .6em .6em;
|
||||
font-size: .8em;
|
||||
line-height: 1;
|
||||
color: @btn-text-color;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
vertical-align: baseline;
|
||||
border-radius: .25em;
|
||||
}
|
||||
|
||||
a.btn:hover {
|
||||
background-color: @btn-hover-color;
|
||||
background-color: @btn-hover-color;
|
||||
}
|
||||
|
||||
.center, .text-center {
|
||||
text-align: center;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.img-center {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.align-center {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.float-left {
|
||||
float: left;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.float-right {
|
||||
float: right;
|
||||
float: right;
|
||||
}
|
||||
|
||||
div.related-posts {
|
||||
margin: 15px 0 15px 0;
|
||||
padding-bottom: 20px;
|
||||
border-top: @rel-post-border-color 1px solid;
|
||||
border-bottom: @rel-post-border-color 1px solid;
|
||||
margin: 15px 0 15px 0;
|
||||
padding-bottom: 20px;
|
||||
border-top: @rel-post-border-color 1px solid;
|
||||
border-bottom: @rel-post-border-color 1px solid;
|
||||
|
||||
h4 {
|
||||
margin: 20px 0 25px 0;
|
||||
}
|
||||
|
||||
ul {
|
||||
font-size: 1.1em;
|
||||
padding-left: 12px;
|
||||
|
||||
li {
|
||||
padding: 4px 0 4px 0;
|
||||
h4 {
|
||||
margin: 20px 0 25px 0;
|
||||
}
|
||||
|
||||
ul {
|
||||
font-size: 1.1em;
|
||||
padding-left: 12px;
|
||||
|
||||
li {
|
||||
padding: 4px 0 4px 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ul.list, ul.social, ul.related-posts {
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
ul.list {
|
||||
padding: 1em 0 1em 0;
|
||||
padding: 1em 0 1em 0;
|
||||
|
||||
li {
|
||||
padding: 4px;
|
||||
}
|
||||
li {
|
||||
padding: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
ul.breadcrumb {
|
||||
@@ -478,28 +470,28 @@ ul.breadcrumb {
|
||||
}
|
||||
|
||||
ul.social {
|
||||
font-size: 1.6em;
|
||||
padding-top: 20px;
|
||||
font-size: 1.6em;
|
||||
padding-top: 20px;
|
||||
|
||||
li {
|
||||
display: inline;
|
||||
}
|
||||
li {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
z-index: 2;
|
||||
-webkit-transform: translateY(-5px);
|
||||
transform: translateY(-5px);
|
||||
}
|
||||
a:hover {
|
||||
z-index: 2;
|
||||
-webkit-transform: translateY(-5px);
|
||||
transform: translateY(-5px);
|
||||
}
|
||||
|
||||
a {
|
||||
display: inline-block;
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
border-radius: 100%;
|
||||
text-align: center;
|
||||
font-size: .8em;
|
||||
line-height: 36px;
|
||||
}
|
||||
a {
|
||||
display: inline-block;
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
border-radius: 100%;
|
||||
text-align: center;
|
||||
font-size: .8em;
|
||||
line-height: 36px;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -510,49 +502,116 @@ ul.social {
|
||||
//
|
||||
|
||||
@media screen and (min-width: 768px) {
|
||||
aside {
|
||||
width: 20%;
|
||||
max-width: 250px;
|
||||
height: 100%;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
overflow-y: auto;
|
||||
aside {
|
||||
width: 20%;
|
||||
max-width: 250px;
|
||||
height: 100%;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
overflow-y: auto;
|
||||
|
||||
div {
|
||||
nav {
|
||||
ul {
|
||||
li {
|
||||
padding: 0;
|
||||
.title {
|
||||
padding-bottom: 50px;
|
||||
padding-top: 50px;
|
||||
}
|
||||
nav {
|
||||
background-color: @navbar-bg;
|
||||
label, #toggle
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
ul {
|
||||
padding-inline-start: 0px;
|
||||
display: block;
|
||||
}
|
||||
ul.toctree {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.tagcloud {
|
||||
display: block;
|
||||
}
|
||||
h2 {
|
||||
margin-bottom: 0;
|
||||
background-color: @sidebar-bg;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
ul li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
li.tag-0 {
|
||||
font-size: 170%;
|
||||
}
|
||||
|
||||
li.tag-1 {
|
||||
font-size: 150%;
|
||||
}
|
||||
|
||||
li.tag-2 {
|
||||
font-size: 120%;
|
||||
}
|
||||
|
||||
li.tag-3 {
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
li.tag-4 {
|
||||
font-size: 80%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ul.social {
|
||||
padding-top: 32px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
main {
|
||||
width: 75%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 2.5%;
|
||||
main {
|
||||
width: 75%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 2.5%;
|
||||
|
||||
article {
|
||||
|
||||
&.single {
|
||||
min-height: 80%;
|
||||
}
|
||||
|
||||
ul.list {
|
||||
li {
|
||||
padding: 2px;
|
||||
nav {
|
||||
display: block;
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
font-size: .72em;
|
||||
padding: 14px 0 14px 0;
|
||||
border-bottom: @nav-border-color 1px solid;
|
||||
}
|
||||
|
||||
nav, .translations {
|
||||
a {
|
||||
padding: 0 4px 0 4px;
|
||||
border-left: @nav-border-color 1px solid;
|
||||
border-right: @nav-border-color 1px solid;
|
||||
}
|
||||
|
||||
:first-child {
|
||||
border-left: none;
|
||||
}
|
||||
|
||||
:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
}
|
||||
|
||||
article {
|
||||
|
||||
&.single {
|
||||
min-height: 80%;
|
||||
}
|
||||
|
||||
ul.list {
|
||||
li {
|
||||
padding: 2px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
2
theme/static/stylesheet/style.min.css
vendored
2
theme/static/stylesheet/style.min.css
vendored
File diff suppressed because one or more lines are too long
@@ -4,6 +4,7 @@
|
||||
@white: #ffffff;
|
||||
@grey: #333333;
|
||||
@light-grey: #eeeeee;
|
||||
@med-light-grey: #d9d8d8;
|
||||
@med-grey: #999999;
|
||||
@dark-grey: #242121;
|
||||
|
||||
@@ -20,7 +21,7 @@
|
||||
@link-hover-color: @light-orange;
|
||||
|
||||
// Sidebar (aside)
|
||||
@sidebar-bg: @grey;
|
||||
@sidebar-bg: @dark-grey;
|
||||
@sidebar-text-color: @white;
|
||||
@sidebar-link-color: @white;
|
||||
@sidebar-link-hover-color: @light-grey;
|
||||
@@ -28,8 +29,10 @@
|
||||
// NavBar
|
||||
@navbar-bg: @dark-grey;
|
||||
@navbar-text-color: @white;
|
||||
@navbar-toctree-l1-sel-bg: @dark-grey;
|
||||
@navbar-toctree-l1-sel-txt: @light-grey;
|
||||
|
||||
@navbar-toctree-l1-sel-bg: @med-light-grey;
|
||||
@navbar-toctree-l1-sel-txt: @grey;
|
||||
|
||||
@navbar-toctree-l2-bg: @med-grey;
|
||||
@navbar-toctree-l2-txt: @grey;
|
||||
@navbar-toctree-l2-sel-bg: @light-grey;
|
||||
|
@@ -86,6 +86,9 @@
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<label for="toggle">☰</label>
|
||||
<input type="checkbox" id="toggle">
|
||||
|
||||
{% if TOCTREE %}
|
||||
{% include "partial/toctree.html" %}
|
||||
{% endif %}
|
||||
@@ -143,5 +146,6 @@
|
||||
</main>
|
||||
|
||||
{% block additional_js %}{% endblock %}
|
||||
<script type="text/javascript" async defer data-website-id="2cb9cd4c-66da-4e4f-9e84-a2d53c7b07bc" src="https://stat.opytex.org/umami.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -1,13 +1,16 @@
|
||||
<ul class="toctree">
|
||||
<h2>Niveaux</h2>
|
||||
{% for cat, articles in categories|sort %}
|
||||
{% if (article and article.category == cat) or category == cat %}
|
||||
<li class="toctree-l1 current"><a href="{{ SITEURL }}/{{ cat.url }}">{{ cat | upper }}</a>
|
||||
<ul>
|
||||
{% for art in articles | sort(attribute="date") %}
|
||||
{% if article == art %}
|
||||
<li class="toctree-l2 current"><span>{{ art.title }}</span></li>
|
||||
{% else %}
|
||||
<li class="toctree-l2"><a href="{{ SITEURL }}/{{ art.url }}">{{ art.title }}</a></li>
|
||||
{% if "Semaine" not in art.tags%}
|
||||
{% if article == art %}
|
||||
<li class="toctree-l2 current"><span>{{ art.title }}</span></li>
|
||||
{% else %}
|
||||
<li class="toctree-l2"><a href="{{ SITEURL }}/{{ art.url }}">{{ art.title }}</a></li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
Reference in New Issue
Block a user