@ -0,0 +1,73 @@ |
|||||||
|
from flask import Flask |
||||||
|
from flask import render_template, request |
||||||
|
from flaskext.markdown import Markdown |
||||||
|
from flask_flatpages import FlatPages |
||||||
|
import markdown2, os |
||||||
|
|
||||||
|
app = Flask(__name__) |
||||||
|
application = app |
||||||
|
|
||||||
|
FLATPAGES_EXTENSION = '.md' |
||||||
|
FLATPAGES_MARKDOWN_EXTENSIONS = ['extra'] |
||||||
|
FLATPAGES_AUTO_RELOAD = True |
||||||
|
|
||||||
|
BASE_DIR = os.path.abspath(os.path.dirname(__file__)) |
||||||
|
app.config.from_object(__name__) |
||||||
|
|
||||||
|
Markdown(app) |
||||||
|
pages = FlatPages(app) |
||||||
|
pages.get('foo') |
||||||
|
|
||||||
|
def Liste_cat(): |
||||||
|
articles = (p for p in pages if 'date' in p.meta and 'type' in p.meta and p.meta['type']=='blog') |
||||||
|
catList = [] |
||||||
|
for a in articles: |
||||||
|
catList.append(a.meta['category']) |
||||||
|
catList = list(dict.fromkeys(catList)) |
||||||
|
return catList |
||||||
|
|
||||||
|
def imagelist(articlename): |
||||||
|
dir_path = os.path.dirname(os.path.realpath(articlename))+'/pages/blog/' |
||||||
|
gallery_path = os.path.join(dir_path, articlename) |
||||||
|
if os.path.exists(gallery_path): |
||||||
|
images = [f for f in os.listdir(gallery_path) if f.endswith('.jpg') or f.endswith('.jpeg') or f.endswith('.png') or f.endswith('.gif')] |
||||||
|
return gallery_path ,images |
||||||
|
else: |
||||||
|
return None, None |
||||||
|
|
||||||
|
@app.route('/') |
||||||
|
@app.route('/home/') |
||||||
|
def index(): |
||||||
|
infobox = pages.get('info-box') |
||||||
|
page = pages.get_or_404('home') |
||||||
|
return render_template('home.html' , page=page , infobox=infobox ) |
||||||
|
|
||||||
|
@app.route('/<path:path>/') |
||||||
|
def pageStat(path): |
||||||
|
page = pages.get_or_404(path) |
||||||
|
return render_template('home.html' , page=page ) |
||||||
|
|
||||||
|
|
||||||
|
@app.route('/pages/<path:path>') |
||||||
|
def serve_pages(path): |
||||||
|
return send_from_directory('pages', path) |
||||||
|
|
||||||
|
@app.route('/blog/') |
||||||
|
def blog(): |
||||||
|
articles = (p for p in pages if 'date' in p.meta and 'type' in p.meta and p.meta['type']=='blog') |
||||||
|
latest = sorted(articles, reverse=True, |
||||||
|
key=lambda p: p.meta['date']) |
||||||
|
catList = Liste_cat() |
||||||
|
return render_template('archive.html', articles=latest , catList=catList ) |
||||||
|
|
||||||
|
@app.route('/actu/') |
||||||
|
def actu(): |
||||||
|
articles = (p for p in pages if 'date' in p.meta and 'type' in p.meta and p.meta['type']=='actu') |
||||||
|
latest = sorted(articles, reverse=True, |
||||||
|
key=lambda p: p.meta['date']) |
||||||
|
catList = Liste_cat() |
||||||
|
return render_template('archive.html', articles=latest , catList=catList ) |
||||||
|
|
||||||
|
if __name__ == '__main__': |
||||||
|
app.run(host='0.0.0.0') |
||||||
|
|
||||||
@ -0,0 +1,71 @@ |
|||||||
|
--- |
||||||
|
title: VIM basics |
||||||
|
author: zvevqx |
||||||
|
date: 2025-11-22 |
||||||
|
category: linux |
||||||
|
desc: ws |
||||||
|
type: actu |
||||||
|
--- |
||||||
|
|
||||||
|
|
||||||
|
# Vim Editor |
||||||
|
|
||||||
|
Vim is a powerful and popular text editor that runs in the command-line interface. It is known for its efficient and customizable editing features that allow users to edit text with speed and precision. |
||||||
|
|
||||||
|
## Basic Vim Commands |
||||||
|
|
||||||
|
Here are some of the basic Vim commands you should know: |
||||||
|
|
||||||
|
* `i`: Enters insert mode, allowing you to insert text. |
||||||
|
* `Esc`: Exits insert mode and returns to command mode. |
||||||
|
* `:w`: Writes the file to disk. |
||||||
|
* `:q`: Quits Vim. |
||||||
|
* `:q!`: Quits Vim without saving changes. |
||||||
|
* `:wq`: Writes the file to disk and quits Vim. |
||||||
|
* `yy`: Copies the current line to the clipboard. |
||||||
|
* `dd`: Deletes the current line. |
||||||
|
* `p`: Pastes the clipboard contents after the cursor. |
||||||
|
* `/`: Searches for a pattern in the text. |
||||||
|
* `n`: Jumps to the next occurrence of the pattern. |
||||||
|
* `N`: Jumps to the previous occurrence of the pattern. |
||||||
|
|
||||||
|
## Advanced Vim Commands |
||||||
|
|
||||||
|
Here are some of the advanced Vim commands you can use to improve your editing workflow: |
||||||
|
|
||||||
|
* `u`: Undoes the last change. |
||||||
|
* `Ctrl + r`: Redoes the last change. |
||||||
|
* `o`: Inserts a new line below the cursor and enters insert mode. |
||||||
|
* `O`: Inserts a new line above the cursor and enters insert mode. |
||||||
|
* `:s/pattern/replacement/g`: Replaces all occurrences of a pattern with a replacement string. |
||||||
|
* `:%s/pattern/replacement/g`: Replaces all occurrences of a pattern with a replacement string in the entire file. |
||||||
|
* `:w !sudo tee %`: Writes the current file with sudo privileges. |
||||||
|
|
||||||
|
## Vim Cheat Sheet |
||||||
|
|
||||||
|
Here's a cheat sheet of common Vim commands: |
||||||
|
|
||||||
|
| Command | Description | |
||||||
|
| --- | --- | |
||||||
|
| `i` | Enter insert mode | |
||||||
|
| `Esc` | Exit insert mode | |
||||||
|
| `:w` | Write file | |
||||||
|
| `:q` | Quit Vim | |
||||||
|
| `:q!` | Quit Vim without saving | |
||||||
|
| `:wq` | Write file and quit | |
||||||
|
| `yy` | Copy current line | |
||||||
|
| `dd` | Delete current line | |
||||||
|
| `p` | Paste clipboard contents after cursor | |
||||||
|
| `/pattern` | Search for pattern | |
||||||
|
| `n` | Jump to next occurrence of pattern | |
||||||
|
| `N` | Jump to previous occurrence of pattern | |
||||||
|
| `u` | Undo last change | |
||||||
|
| `Ctrl + r` | Redo last change | |
||||||
|
| `o` | Insert new line below cursor | |
||||||
|
| `O` | Insert new line above cursor | |
||||||
|
| `:s/pattern/replacement/g` | Replace all occurrences of pattern with replacement | |
||||||
|
| `:%s/pattern/replacement/g` | Replace all occurrences of pattern with replacement in entire file | |
||||||
|
| `:w !sudo tee %` | Write file with sudo privileges | |
||||||
|
|
||||||
|
Use this cheat sheet as a reference as you become more familiar with Vim. With practice, you'll be able to use Vim to edit text with speed and efficiency. |
||||||
|
|
||||||
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 698 KiB |
|
After Width: | Height: | Size: 280 KiB |
|
After Width: | Height: | Size: 940 KiB |
|
After Width: | Height: | Size: 966 KiB |
|
After Width: | Height: | Size: 760 KiB |
|
After Width: | Height: | Size: 824 KiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 120 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 362 KiB |
|
After Width: | Height: | Size: 33 KiB |
@ -0,0 +1,23 @@ |
|||||||
|
CairoSVG==2.4.2 |
||||||
|
cffi==1.14.0 |
||||||
|
Click==7.0 |
||||||
|
cssselect2==0.2.2 |
||||||
|
defusedxml==0.6.0 |
||||||
|
Flask==1.1.1 |
||||||
|
Flask-FlatPages==0.7.1 |
||||||
|
Flask-Markdown==0.3 |
||||||
|
html5lib==1.0.1 |
||||||
|
itsdangerous==1.1.0 |
||||||
|
Jinja2==2.11.1 |
||||||
|
Markdown==3.1.1 |
||||||
|
markdown2==2.4.0 |
||||||
|
MarkupSafe==1.1.1 |
||||||
|
Pillow==7.0.0 |
||||||
|
pycparser==2.19 |
||||||
|
Pygments==2.9.0 |
||||||
|
Pyphen==0.9.5 |
||||||
|
PyYAML==5.3 |
||||||
|
six==1.14.0 |
||||||
|
tinycss2==1.0.2 |
||||||
|
webencodings==0.5.1 |
||||||
|
Werkzeug==0.16.1 |
||||||
@ -0,0 +1,24 @@ |
|||||||
|
CairoSVG==2.4.2 |
||||||
|
cffi==1.14.0 |
||||||
|
Click==7.0 |
||||||
|
cssselect2==0.2.2 |
||||||
|
defusedxml==0.6.0 |
||||||
|
Flask==1.1.1 |
||||||
|
Flask-FlatPages==0.7.1 |
||||||
|
Flask-Markdown==0.3 |
||||||
|
html5lib==1.0.1 |
||||||
|
itsdangerous==1.1.0 |
||||||
|
Jinja2==2.11.1 |
||||||
|
Markdown==3.1.1 |
||||||
|
markdown2==2.4.0 |
||||||
|
MarkupSafe==1.1.1 |
||||||
|
Pillow==7.0.0 |
||||||
|
pycparser==2.19 |
||||||
|
Pygments==2.9.0 |
||||||
|
Pyphen==0.9.5 |
||||||
|
PyYAML==5.3 |
||||||
|
six==1.14.0 |
||||||
|
tinycss2==1.0.2 |
||||||
|
WeasyPrint==51 |
||||||
|
webencodings==0.5.1 |
||||||
|
Werkzeug==0.16.1 |
||||||
|
After Width: | Height: | Size: 724 B |
|
After Width: | Height: | Size: 9.4 KiB |
|
After Width: | Height: | Size: 5.0 KiB |
|
After Width: | Height: | Size: 5.4 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 8.7 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 719 B |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
@ -0,0 +1,381 @@ |
|||||||
|
/* http://meyerweb.com/eric/tools/css/reset/ |
||||||
|
v2.0 | 20110126 |
||||||
|
License: none (public domain) |
||||||
|
*/ |
||||||
|
@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;600&display=swap'); |
||||||
|
|
||||||
|
|
||||||
|
html, body, div, span, applet, object, iframe, |
||||||
|
h1, h2, h3, h4, h5, h6, p, blockquote, pre, |
||||||
|
a, abbr, acronym, address, big, cite, code, |
||||||
|
del, dfn, em, img, ins, kbd, q, s, samp, |
||||||
|
small, strike, strong, sub, sup, tt, var, |
||||||
|
b, u, i, center, |
||||||
|
dl, dt, dd, ol, ul, li, |
||||||
|
fieldset, form, label, legend, |
||||||
|
table, caption, tbody, tfoot, thead, tr, th, td, |
||||||
|
article, aside, canvas, details, embed, |
||||||
|
figure, figcaption, footer, header, hgroup, |
||||||
|
menu, nav, output, ruby, section, summary, |
||||||
|
time, mark, audio, video { |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
border: 0; |
||||||
|
font-size: 100%; |
||||||
|
font: inherit; |
||||||
|
vertical-align: baseline; |
||||||
|
} |
||||||
|
/* HTML5 display-role reset for older browsers */ |
||||||
|
article, aside, details, figcaption, figure, |
||||||
|
footer, header, hgroup, menu, nav, section { |
||||||
|
display: block; |
||||||
|
} |
||||||
|
|
||||||
|
body { |
||||||
|
line-height: 1,2; |
||||||
|
font-family: 'Fira Code', monospace; |
||||||
|
} |
||||||
|
|
||||||
|
ol, ul { |
||||||
|
list-style: none; |
||||||
|
} |
||||||
|
|
||||||
|
blockquote, q { |
||||||
|
quotes: none; |
||||||
|
} |
||||||
|
|
||||||
|
blockquote:before, blockquote:after, |
||||||
|
q:before, q:after { |
||||||
|
content: ''; |
||||||
|
content: none; |
||||||
|
} |
||||||
|
|
||||||
|
table { |
||||||
|
border-collapse: collapse; |
||||||
|
border-spacing: 0; |
||||||
|
} |
||||||
|
|
||||||
|
@font-face { |
||||||
|
font-weight: normal; |
||||||
|
font-style: normal; |
||||||
|
} |
||||||
|
|
||||||
|
@keyframes menu_color { |
||||||
|
0% {color: #ffe609;} |
||||||
|
30% {color: #e2b1aa;} |
||||||
|
60% {color: #f1885f;} |
||||||
|
90% {color: #70ba89;} |
||||||
|
100% {color: #ffe609;} |
||||||
|
} |
||||||
|
|
||||||
|
html{ |
||||||
|
font-size:16pt; |
||||||
|
scroll-behavior: smooth; |
||||||
|
} |
||||||
|
|
||||||
|
.page_data a { |
||||||
|
text-decoration: none; |
||||||
|
color: #0000; |
||||||
|
animation-name: menu_color; |
||||||
|
animation-iteration-count: infinite; |
||||||
|
-moz-animation-iteration-count: infinite; |
||||||
|
-webkit-animation-iteration-count: infinite; |
||||||
|
-o-animation-iteration-count: infinite; |
||||||
|
animation-duration: 6s; |
||||||
|
font-size:1em; |
||||||
|
} |
||||||
|
|
||||||
|
::selection { |
||||||
|
color:rgba(255,230,9,1); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
nav{ |
||||||
|
z-index:1000; |
||||||
|
height:70px; |
||||||
|
background:rgba(255,255,255,0.9); |
||||||
|
position: fixed; |
||||||
|
top: 0; |
||||||
|
width: 100%; |
||||||
|
} |
||||||
|
|
||||||
|
nav #top_nav ul li{ |
||||||
|
display:inline-block; |
||||||
|
margin: 15px 0 0 15px; |
||||||
|
padding-bottom: 5px; |
||||||
|
} |
||||||
|
|
||||||
|
nav #top_nav ul li:hover{ |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
nav #top_nav ul li a { |
||||||
|
color: black; |
||||||
|
font-size : 1em; |
||||||
|
text-decoration: none; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
nav #burger_nav , #burger_btn{ |
||||||
|
display : none; |
||||||
|
} |
||||||
|
|
||||||
|
#intro{ |
||||||
|
font-size : 50pt; |
||||||
|
min-height: 100vh; |
||||||
|
min-width: 100hw; |
||||||
|
text-align:center; |
||||||
|
background:url('../img/photoAccueil.jpg') center center no-repeat; |
||||||
|
background-size:cover; |
||||||
|
} |
||||||
|
|
||||||
|
#intro #intro_title { |
||||||
|
display : block; |
||||||
|
width:300px; |
||||||
|
height:300px; |
||||||
|
background:#fff; |
||||||
|
border-radius:50%; |
||||||
|
position:absolute; |
||||||
|
top:calc(50% - 150px); |
||||||
|
left:calc(50% - 150px); |
||||||
|
line-height:84px; |
||||||
|
} |
||||||
|
|
||||||
|
.page_data { |
||||||
|
/*! top:25px; */ |
||||||
|
padding : 150px 50px 50px 50px ; |
||||||
|
width:85%; |
||||||
|
background: #fff; |
||||||
|
min-height: calc(100vh - 200px); |
||||||
|
} |
||||||
|
|
||||||
|
.page_data h1{ |
||||||
|
font-size: 2em; |
||||||
|
line-height: 1; |
||||||
|
//text-align: center; |
||||||
|
} |
||||||
|
|
||||||
|
.page_data p{ |
||||||
|
margin: 20px 0; |
||||||
|
} |
||||||
|
|
||||||
|
.page_data p img{ |
||||||
|
max-width:100%; |
||||||
|
} |
||||||
|
|
||||||
|
#infobox{ |
||||||
|
width: 150%; |
||||||
|
background: rgba(255, 255, 255,0.9); |
||||||
|
font-size:2.5em; |
||||||
|
position: absolute; |
||||||
|
top: 20%; |
||||||
|
left: 15%; |
||||||
|
padding: 5%; |
||||||
|
z-index: 10000; |
||||||
|
border-top: silver 1px solid; |
||||||
|
border-bottom: silver 1px solid ; |
||||||
|
vertical-align: bottom; |
||||||
|
display: table-cell; |
||||||
|
display: inline-block; |
||||||
|
height: auto; |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
|
||||||
|
#infobox::before { |
||||||
|
content: ""; |
||||||
|
background: url(menu_burger_close.svg); |
||||||
|
width: 50px; |
||||||
|
height: 50px; |
||||||
|
position: absolute; |
||||||
|
top: -20px; |
||||||
|
right: -20px; |
||||||
|
border-radius: 25px; |
||||||
|
} |
||||||
|
|
||||||
|
#soc_med{ |
||||||
|
position:fixed; |
||||||
|
width: 110px; |
||||||
|
bottom:10px; |
||||||
|
right:20px; |
||||||
|
} |
||||||
|
|
||||||
|
#soc_med ul li { |
||||||
|
display:inline-block; |
||||||
|
width: 40px; |
||||||
|
height:40px; |
||||||
|
} |
||||||
|
|
||||||
|
#soc_med ul li a img { |
||||||
|
width: 100%; |
||||||
|
} |
||||||
|
|
||||||
|
.content_wrapper { |
||||||
|
display: grid; |
||||||
|
grid-template-columns: 1fr 1fr; |
||||||
|
z-index : 1000; |
||||||
|
/*! background:rgba(255,255,255,0.9); */ |
||||||
|
} |
||||||
|
|
||||||
|
.content_wrapper.wide_content { |
||||||
|
grid-template-columns: 2fr 1fr; |
||||||
|
} |
||||||
|
.page_data article{ |
||||||
|
margin-bottom: 20px; |
||||||
|
} |
||||||
|
|
||||||
|
.page_data article .a_content{ |
||||||
|
border-bottom:1px solid #000; |
||||||
|
} |
||||||
|
|
||||||
|
.img_container{ |
||||||
|
background:url('../img/bg.jpg') center center no-repeat; |
||||||
|
background-size:cover; |
||||||
|
width:100%; |
||||||
|
min-height:100vh; |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*###############################################################################*/ |
||||||
|
|
||||||
|
/* On screens that are 800px or less, set the background color to olive */ |
||||||
|
@media only screen and (max-width: 1024px) { |
||||||
|
html{ |
||||||
|
font-size : 24pt; |
||||||
|
} |
||||||
|
|
||||||
|
.content_wrapper { |
||||||
|
width:80%; |
||||||
|
padding:10%; |
||||||
|
padding-top : 220px; |
||||||
|
} |
||||||
|
|
||||||
|
.page_data{ |
||||||
|
width:80%; |
||||||
|
margin:auto; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
nav { |
||||||
|
height: 100px; |
||||||
|
position: relative ; |
||||||
|
z-index: 1222; |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
|
||||||
|
nav #top_nav{ |
||||||
|
display: none; |
||||||
|
} |
||||||
|
|
||||||
|
nav #burger_btn { |
||||||
|
display : block ; |
||||||
|
width: 100%; |
||||||
|
height:100px; |
||||||
|
background: url('menu_burger_open.svg') left center no-repeat ; |
||||||
|
background-size: auto 100%; |
||||||
|
margin-left : 50px; |
||||||
|
margin-top: 30px; |
||||||
|
z-index: 1201; |
||||||
|
position:fixed; |
||||||
|
} |
||||||
|
|
||||||
|
nav #burger_btn.close { |
||||||
|
background: url('menu_burger_close.svg') left center no-repeat !important; |
||||||
|
background-size: auto 100% !important; |
||||||
|
} |
||||||
|
|
||||||
|
nav #burger_nav { |
||||||
|
display : block; |
||||||
|
padding : 20px ; |
||||||
|
background : rgba(255, 255, 255,0.8); |
||||||
|
height: 0vh; |
||||||
|
width : 100vw; |
||||||
|
margin-top:-40px; |
||||||
|
z-index: 1200; |
||||||
|
overflow:hidden; |
||||||
|
position:fixed; |
||||||
|
top:0; |
||||||
|
transition :0.2s linear; |
||||||
|
} |
||||||
|
|
||||||
|
nav #burger_nav.open { |
||||||
|
height: auto; |
||||||
|
width : 100vw; |
||||||
|
min-height : 100vh; |
||||||
|
transition :0.2s linear; |
||||||
|
} |
||||||
|
|
||||||
|
nav #burger_nav ul li:first-child { |
||||||
|
padding-top : 300px; |
||||||
|
} |
||||||
|
|
||||||
|
nav #burger_nav ul li a{ |
||||||
|
display : block ; |
||||||
|
padding : 20px; |
||||||
|
text-decoration:none; |
||||||
|
color :#000; |
||||||
|
font-size: 3em; |
||||||
|
} |
||||||
|
|
||||||
|
#intro{ |
||||||
|
font-size : 150pt; |
||||||
|
min-height: 100vh; |
||||||
|
min-width: 100hw; |
||||||
|
text-align:center; |
||||||
|
} |
||||||
|
|
||||||
|
#intro #intro_title { |
||||||
|
display : inline-block; |
||||||
|
padding-top: 20%; |
||||||
|
} |
||||||
|
|
||||||
|
img.logo { |
||||||
|
height: 100px; |
||||||
|
} |
||||||
|
#infobox{ |
||||||
|
width: 60%; |
||||||
|
background: rgba(255, 255, 255,0.9); |
||||||
|
font-size:1em; |
||||||
|
position: absolute; |
||||||
|
top: 20%; |
||||||
|
left: 15%; |
||||||
|
padding: 5%; |
||||||
|
z-index: 10000; |
||||||
|
border: solid 1px rgba(200, 200, 200,0.5); |
||||||
|
border-radius: 5%; |
||||||
|
vertical-align: bottom; |
||||||
|
display: table-cell; |
||||||
|
display: inline-block; |
||||||
|
height: auto; |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
|
||||||
|
#infobox::before { |
||||||
|
content: ""; |
||||||
|
background: url(menu_burger_close.svg); |
||||||
|
width: 50px; |
||||||
|
height: 50px; |
||||||
|
position: absolute; |
||||||
|
top: -20px; |
||||||
|
right: -20px; |
||||||
|
border-radius: 25px; |
||||||
|
} |
||||||
|
|
||||||
|
#soc_med{ |
||||||
|
position:fixed; |
||||||
|
width: 200px; |
||||||
|
height:50px; |
||||||
|
bottom:70px; |
||||||
|
right:15px; |
||||||
|
} |
||||||
|
|
||||||
|
#soc_med ul li { |
||||||
|
display:inline-block; |
||||||
|
width: 70px; |
||||||
|
height:70px; |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
After Width: | Height: | Size: 129 KiB |
|
After Width: | Height: | Size: 361 KiB |
@ -0,0 +1,8 @@ |
|||||||
|
$(document).ready(function(){ |
||||||
|
|
||||||
|
$('#infobox').click(function(){$(this).hide();}); |
||||||
|
|
||||||
|
$('#burger_btn').click(function(){$(this).next('#burger_nav').toggleClass('open');}); |
||||||
|
$('#burger_btn').click(function(){$(this).toggleClass('close');}); |
||||||
|
|
||||||
|
}) |
||||||
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 808 B |
|
After Width: | Height: | Size: 790 B |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 797 B |
|
After Width: | Height: | Size: 717 B |
@ -0,0 +1,41 @@ |
|||||||
|
{% extends 'base.html' %} |
||||||
|
|
||||||
|
{% block head %} |
||||||
|
<!-- LAOD MAIN CSS FILE --> |
||||||
|
<link href="{{ url_for('static', filename='css/style.css')}}" rel="stylesheet" media="screen"> |
||||||
|
{% endblock %} |
||||||
|
|
||||||
|
{% block nav %} |
||||||
|
{% include 'menu.html'%} |
||||||
|
{% endblock nav %} |
||||||
|
|
||||||
|
{% block content %} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="content_wrapper wide_content"> |
||||||
|
<div class="page_data"> |
||||||
|
{% for a in articles %} |
||||||
|
<article> |
||||||
|
<div class="{{a.category}}"> |
||||||
|
<span class ="a_title">{{a.title}}</span>, |
||||||
|
<span class ="a_meta">{{a.category}}</span>, |
||||||
|
<span class ="a_meta">{{a.date}}</span>, |
||||||
|
</div> |
||||||
|
<div class="a_content"> |
||||||
|
{{a}} |
||||||
|
</div> |
||||||
|
</article> |
||||||
|
{% endfor %} |
||||||
|
</div> |
||||||
|
<div class="img_container"> |
||||||
|
|
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{% endblock %} |
||||||
@ -0,0 +1,33 @@ |
|||||||
|
<!DOCTYPE html> |
||||||
|
<html lang="fr"> |
||||||
|
<head> |
||||||
|
<meta charset="UTF-8"> |
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
||||||
|
<meta http-equiv="X-UA-Compatible" content="ie=edge"> |
||||||
|
<title>to do this - do that </title> |
||||||
|
<link rel="stylesheet" type="text/css" href="{{url_for('static', filename='style.css')}}"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
|
||||||
|
{% include 'menu.html' %} |
||||||
|
|
||||||
|
<div id="articles"> |
||||||
|
<ul> |
||||||
|
|
||||||
|
{% for article in articles %} |
||||||
|
<li> |
||||||
|
<a href="{{ url_for('index', _external=False) }}{{ article.path }}"> |
||||||
|
<h2 class="{{article.cat}}">{{article.title}}</h2> |
||||||
|
</a> |
||||||
|
<span class="categorie"><a href="{{ url_for('index', _external=False) }}cat/{{article.cat}}">{{article.cat}}</a></span> |
||||||
|
<span class="author"><a href="{{ url_for('index', _external=False) }}author/{{article.author}}">{{ article.author }}</a></span> |
||||||
|
<span class="date">{{ article.published }}</span> |
||||||
|
</li> |
||||||
|
{% endfor %} |
||||||
|
|
||||||
|
</ul> |
||||||
|
</div> |
||||||
|
|
||||||
|
<script src="index.js"></script> |
||||||
|
</body> |
||||||
|
</html> |
||||||
@ -0,0 +1,43 @@ |
|||||||
|
<!DOCTYPE html> |
||||||
|
<head> |
||||||
|
{% block head %} |
||||||
|
|
||||||
|
<title>{% block title %}{% endblock title %}</title> |
||||||
|
<!-- <meta charset="utf-8"> --> |
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1.0"> |
||||||
|
{% endblock head %} |
||||||
|
|
||||||
|
</head> |
||||||
|
|
||||||
|
<body> |
||||||
|
{% block intro %} |
||||||
|
{% endblock intro %} |
||||||
|
|
||||||
|
{% block nav %} |
||||||
|
{% endblock nav %} |
||||||
|
|
||||||
|
{% block content %} |
||||||
|
{% endblock content %} |
||||||
|
|
||||||
|
|
||||||
|
<script src="{{ url_for('static', filename='js/jquery.min.js')}}"></script> |
||||||
|
<script src="{{ url_for('static', filename='js/script.js')}}"></script> |
||||||
|
{% block script %} |
||||||
|
{% endblock script %} |
||||||
|
<div id="soc_med"> |
||||||
|
<ul> |
||||||
|
<li> |
||||||
|
<a href="https://www.facebook.com/LAile-1396378200629387" target="_blank"><img src="{{ url_for('static', filename='css/facebook.svg')}}"></a> |
||||||
|
</li> |
||||||
|
<li> |
||||||
|
<a href="https://www.instagram.com/asblaile/" target="_blank"><img src="{{ url_for('static', filename='css/instagram.svg')}}"></a> |
||||||
|
</li> |
||||||
|
</ul> |
||||||
|
</div> |
||||||
|
</body> |
||||||
|
|
||||||
|
|
||||||
|
</html> |
||||||
|
|
||||||
|
|
||||||
@ -0,0 +1,47 @@ |
|||||||
|
{% extends "base.html" %} |
||||||
|
{% block head %} |
||||||
|
<!-- LAOD MAIN CSS FILE --> |
||||||
|
<link href="{{ url_for('static', filename='css/style.css')}}" rel="stylesheet" media="screen"> |
||||||
|
{% endblock head%} |
||||||
|
|
||||||
|
{% block intro %} |
||||||
|
{% if request.path == "/" %} |
||||||
|
<div id="intro"> |
||||||
|
<span id="intro_title"> |
||||||
|
la <BR>petite<BR>ecole |
||||||
|
</span> |
||||||
|
</div> |
||||||
|
{% endif %} |
||||||
|
{% endblock %} |
||||||
|
|
||||||
|
{% block nav %} |
||||||
|
{% include 'menu.html'%} |
||||||
|
{% endblock nav %} |
||||||
|
|
||||||
|
{% block content %} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="content_wrapper "> |
||||||
|
<div class="page_data"> |
||||||
|
{% if request.path == "/" %} |
||||||
|
{% if infobox is not none %} |
||||||
|
<div id="infobox"> |
||||||
|
{{ infobox }} |
||||||
|
</div> |
||||||
|
{% endif %} |
||||||
|
{% else %} |
||||||
|
{% endif %} |
||||||
|
|
||||||
|
{{page}} |
||||||
|
</div> |
||||||
|
<div class="img_container"> |
||||||
|
|
||||||
|
</div> |
||||||
|
</div> |
||||||
|
{% endblock %} |
||||||
|
|
||||||
|
|
||||||
|
{% block script %} |
||||||
|
{% endblock %} |
||||||
|
|
||||||
@ -0,0 +1,26 @@ |
|||||||
|
<!doctype html> |
||||||
|
|
||||||
|
<html lang="en"> |
||||||
|
<head> |
||||||
|
<meta charset="utf-8"> |
||||||
|
|
||||||
|
<title>L'aile</title> |
||||||
|
<meta name="description" content=""> |
||||||
|
<meta name="author" content="zvevqx"> |
||||||
|
|
||||||
|
<link rel="stylesheet" href="css/style.css"> |
||||||
|
|
||||||
|
</head> |
||||||
|
|
||||||
|
<body> |
||||||
|
|
||||||
|
<div id="shape_container" > |
||||||
|
<div id="shape_1"><img alt="shape_1" src="shape/hot/1.svg"/></div> |
||||||
|
<div id="shape_2"><img alt="shape_2" src="shape/cold/1.svg"/></div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<h1 id="logo"><img alt="logo" src="logo/1.svg"/></h1> |
||||||
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> |
||||||
|
<script src="js/script.js"></script> |
||||||
|
</body> |
||||||
|
</html> |
||||||
@ -0,0 +1,24 @@ |
|||||||
|
<nav> |
||||||
|
<div id="top_nav"> |
||||||
|
<ul> |
||||||
|
<li><a class='ovrly' href="/home/">la PE</a></li> |
||||||
|
<li><a class='ovrly' href="/actu/">Actualites</a></li> |
||||||
|
<li><a class='ovrly' href="/blog/">blog</a></li> |
||||||
|
<li><a class='ovrly' href="/a-propos">À propos</a></li> |
||||||
|
<li><a class='ovrly' href="/contact/">Contact</a></li> |
||||||
|
<li><a class='ovrly' href="/aider">Nous aider</a></li> |
||||||
|
</ul> |
||||||
|
</div> |
||||||
|
<div id="burger_btn"></div> |
||||||
|
<div id="burger_nav"> |
||||||
|
<ul> |
||||||
|
<li><a class='ovrly' href="/home/">la PE</a></li> |
||||||
|
<li><a class='ovrly' href="/actu/">Actualites</a></li> |
||||||
|
<li><a class='ovrly' href="/blog/">blog</a></li> |
||||||
|
<li><a class='ovrly' href="/a-propos">À propos</a></li> |
||||||
|
<li><a class='ovrly' href="/contact/">Contact</a></li> |
||||||
|
<li><a class='ovrly' href="/aider">Nous aider</a></li> |
||||||
|
</ul> |
||||||
|
</div> |
||||||
|
</nav> |
||||||
|
|
||||||
@ -0,0 +1,27 @@ |
|||||||
|
{% extends 'base.html' %} |
||||||
|
|
||||||
|
{% block head %} |
||||||
|
<!-- LAOD MAIN CSS FILE --> |
||||||
|
<link href="{{ url_for('static', filename='css/style.css')}}" rel="stylesheet" media="screen"> |
||||||
|
<style>#bottom_nav{display:none}</style> |
||||||
|
{% endblock %} |
||||||
|
|
||||||
|
{% block nav %} |
||||||
|
{% include 'menu.html'%} |
||||||
|
{% endblock nav %} |
||||||
|
|
||||||
|
{% block content %} |
||||||
|
|
||||||
|
|
||||||
|
<a id="button">haut de page <b>↑</b></a> |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="vert_bar" class="left"></div> |
||||||
|
<div class="content_wrapper"> |
||||||
|
<article class="{{page.category}}"> |
||||||
|
{{ page }} |
||||||
|
</article> |
||||||
|
</div> |
||||||
|
|
||||||
|
{% endblock %} |
||||||
@ -0,0 +1,34 @@ |
|||||||
|
{% extends 'base.html' %} |
||||||
|
|
||||||
|
{% block head %} |
||||||
|
<!-- LAOD MAIN CSS FILE --> |
||||||
|
<link href="{{ url_for('static', filename='css/style.css')}}" rel="stylesheet" media="screen"> |
||||||
|
<style>#bottom_nav{display:none}</style> |
||||||
|
|
||||||
|
{% endblock %} |
||||||
|
|
||||||
|
{% block nav %} |
||||||
|
{% include 'menu.html'%} |
||||||
|
{% endblock nav %} |
||||||
|
|
||||||
|
{% block content %} |
||||||
|
|
||||||
|
<a id="button">haut de page <b>↑</b></a> |
||||||
|
|
||||||
|
<div class='article_gallery'> |
||||||
|
{% for img_w in img_web %} |
||||||
|
<div class="printBg"style='background : rgb( 255,127,95) ; position:fixed ; width:{{ range(2, 5) | random }}%;left:{{ range(-11, 105) | random }}%; top:{{ range(1, 100) | random }}vh; z-index : -1;' ><img class='home_picture' style="mix-blend-mode: screen; filter:grayscale(100%) brightness(0.7) contrast(2); "src={{'/static/md_files/home/'+img_w}} /></div> |
||||||
|
{% endfor %} |
||||||
|
</div> |
||||||
|
|
||||||
|
|
||||||
|
<div id="vert_bar" class="left"></div> |
||||||
|
<div class="content_wrapper"> |
||||||
|
<article class="{{page.category}}"> |
||||||
|
{{ page }} |
||||||
|
</article> |
||||||
|
</div> |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{% endblock %} |
||||||