refacto
This commit is contained in:
parent
9267636687
commit
086287fad3
16
README.md
16
README.md
@ -76,14 +76,18 @@ Pandoc, PandocGmi
|
|||||||
|
|
||||||
# Roadmap
|
# Roadmap
|
||||||
|
|
||||||
- config par site web de son nom de domaine
|
|
||||||
- réécriture des liens internes
|
|
||||||
- réécriture des url des images vers le dossier courant
|
|
||||||
- réparer la génération de fichiers gmi
|
|
||||||
- template footer article: gestion article suivant et précédent
|
|
||||||
- conversion des liens avec nom de domaine si relatifs
|
|
||||||
|
|
||||||
|
- template footer article: gestion article suivant et précédent
|
||||||
|
- sérendipité
|
||||||
|
- pages de tags
|
||||||
|
- liste de N derniers articles sur l'accueil, 10 par défaut
|
||||||
|
- réécriture des liens internes
|
||||||
|
- conversion des liens avec nom de domaine si relatifs
|
||||||
|
- détection des ID org-roam pour réécrire les liens html
|
||||||
|
- réécriture des url des images vers le dossier courant
|
||||||
# Fait
|
# Fait
|
||||||
|
- génération de fichiers gmi
|
||||||
|
- config par site web de son nom de domaine
|
||||||
- navigation sur les pages d'article
|
- navigation sur les pages d'article
|
||||||
- gestion des langues dans la source et la destination
|
- gestion des langues dans la source et la destination
|
||||||
- gestion multi site et multi langue
|
- gestion multi site et multi langue
|
Binary file not shown.
168
build_indexes.py
168
build_indexes.py
@ -1,59 +1,58 @@
|
|||||||
import os
|
|
||||||
import argparse
|
import argparse
|
||||||
import re
|
|
||||||
import datetime
|
import datetime
|
||||||
|
import os
|
||||||
|
import re
|
||||||
import shutil
|
import shutil
|
||||||
|
|
||||||
import re
|
from enrich_html import enrich_one_file
|
||||||
from website_config import configs_sites
|
from website_config import configs_sites, global_config
|
||||||
|
|
||||||
# from enrich_html import static_page_path
|
# from enrich_html import static_page_path
|
||||||
# génère l'index gemini et html des articles rangés par langue
|
# génère l'index gemini et html des articles rangés par langue
|
||||||
|
|
||||||
parser = argparse.ArgumentParser(description="Générer un site Web à partir de fichiers HTML.")
|
parser = argparse.ArgumentParser(description="Générer un site Web à partir de fichiers HTML.")
|
||||||
parser.add_argument("source", help="Le chemin vers le dossier contenant les fichiers HTML.")
|
parser.add_argument("source", help="Le chemin vers le dossier contenant les fichiers HTML.")
|
||||||
parser.add_argument("title", default="Mon site Web", help="Le titre du site Web.")
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
# Variables personnalisables
|
# Variables personnalisables
|
||||||
DOSSIER_SOURCE = 'sources/'+args.source # Nom du dossier contenant les fichiers Markdown
|
DOSSIER_SOURCE = 'sources/' + args.source # Nom du dossier contenant les fichiers Markdown
|
||||||
FICHIER_INDEX = 'index_'+args.source # Nom du fichier d'index à générer
|
FICHIER_INDEX = 'index_' + args.source # Nom du fichier d'index à générer
|
||||||
# TITRE_INDEX = f" # {args.title} - Articles"
|
|
||||||
TITRE_INDEX = f""
|
TITRE_INDEX = f""
|
||||||
source_files_extension="org"
|
source_files_extension = "org"
|
||||||
|
|
||||||
|
config_title = configs_sites[args.source]['BLOG_TITLE']
|
||||||
|
|
||||||
# Expression régulière pour extraire la date et le slug du nom de fichier org
|
# Expression régulière pour extraire la date et le slug du nom de fichier org
|
||||||
regex = r"^(\d{14})(-[a-zA-Z0-9_-]+)\.gmi$"
|
regex = r"^(\d{14})(-[a-zA-Z0-9_-]+)\.gmi$"
|
||||||
regex_orgroam = r"^(\d{14})_([a-zA-Z0-9_-]+)\.gmi$"
|
regex_orgroam = r"^(\d{14})_([a-zA-Z0-9_-]+)\.gmi$"
|
||||||
|
|
||||||
use_article_file_for_name=False
|
use_article_file_for_name = (not global_config["slug_with_year"])
|
||||||
website_name = args.source
|
website_name = args.source
|
||||||
|
|
||||||
|
|
||||||
def trouver_nom_article(fichier_org, format="html"):
|
def trouver_nom_article(fichier_org, format="html"):
|
||||||
print('fichier_org, ',fichier_org)
|
# print('fichier_org, ', fichier_org)
|
||||||
with open(fichier_org, 'r') as file:
|
with open(fichier_org, 'r') as file:
|
||||||
lignes = file.readlines()
|
lignes = file.readlines()
|
||||||
|
|
||||||
nom_article = ''
|
nom_article = ''
|
||||||
|
|
||||||
|
# print('trouver_nom_article format',format)
|
||||||
# Expressions régulières pour trouver les titres de niveau 1 et 2
|
# Expressions régulières pour trouver les titres de niveau 1 et 2
|
||||||
if format == 'html':
|
if format == 'html':
|
||||||
titre_niveau_1 = r'^\<h1 id.*?\>(.+)\<\/h1\>$'
|
titre_niveau_1 = r'<h1\s+(?:id|data-created)="[^"]*">(.*?)</h1>'
|
||||||
titre_niveau_2 = r'^\<h2.*?\>(.+)\<\/h2\>$'
|
titre_niveau_2 = r'^\<h2.*?\>(.+)\<\/h2\>$'
|
||||||
else:
|
else:
|
||||||
titre_niveau_1 = r'^\*+ (.+)$'
|
titre_niveau_1 = r'^\*+ (.+)$'
|
||||||
titre_niveau_2 = r'^\*\*+ (.+)$'
|
titre_niveau_2 = r'^\*\*+ (.+)$'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Itérer sur les lignes du fichier
|
# Itérer sur les lignes du fichier
|
||||||
for ligne in lignes:
|
for ligne in lignes:
|
||||||
# Rechercher un titre de niveau 1
|
# Rechercher un titre de niveau 1
|
||||||
titre_niveau_1_match = re.match(titre_niveau_1, ligne)
|
titre_niveau_1_match = re.match(titre_niveau_1, ligne)
|
||||||
if titre_niveau_1_match:
|
if titre_niveau_1_match:
|
||||||
titre_niveau_1_texte = titre_niveau_1_match.group(1)
|
titre_niveau_1_texte = titre_niveau_1_match.group(1)
|
||||||
if titre_niveau_1_texte.lower() != "article" and titre_niveau_1_texte.lower() != "liens" :
|
if titre_niveau_1_texte.lower() != "article" and titre_niveau_1_texte.lower() != "liens":
|
||||||
nom_article = titre_niveau_1_texte
|
nom_article = titre_niveau_1_texte
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
@ -62,18 +61,18 @@ def trouver_nom_article(fichier_org, format="html"):
|
|||||||
if titre_niveau_2_match:
|
if titre_niveau_2_match:
|
||||||
nom_article = titre_niveau_2_match.group(1)
|
nom_article = titre_niveau_2_match.group(1)
|
||||||
break
|
break
|
||||||
print(f"Nom de l'article : {nom_article}")
|
# print(f"Nom de l'article : {nom_article}")
|
||||||
|
|
||||||
return nom_article.replace(args.source+'_', '').replace('_', ' ')
|
return nom_article.replace(args.source + '_', '').replace('_', ' ')
|
||||||
|
|
||||||
|
|
||||||
def find_year_and_slug(fichier):
|
def find_year_and_slug(fichier):
|
||||||
fichier = fichier.replace('..','.')
|
fichier = fichier.replace('..', '.')
|
||||||
# print(f" ------------ build_indexes: find in {fichier} -------------")
|
# print(f" ------------ build_indexes: find in {fichier} -------------")
|
||||||
slug = fichier.replace('.gmi','')
|
slug = fichier.replace('.gmi', '')
|
||||||
annee = '2024'
|
annee = '2024'
|
||||||
date_str= '2024-00-00'
|
date_str = '2024-00-00'
|
||||||
date= '2024-00-00'
|
date = '2024-00-00'
|
||||||
match = re.match(regex_orgroam, fichier)
|
match = re.match(regex_orgroam, fichier)
|
||||||
|
|
||||||
if match:
|
if match:
|
||||||
@ -89,12 +88,12 @@ def find_year_and_slug(fichier):
|
|||||||
date = datetime.datetime.strptime(date_str, "%Y-%m-%d")
|
date = datetime.datetime.strptime(date_str, "%Y-%m-%d")
|
||||||
else:
|
else:
|
||||||
date = datetime.datetime.strptime(date_str, "%Y%m%d%H%M%S")
|
date = datetime.datetime.strptime(date_str, "%Y%m%d%H%M%S")
|
||||||
date_string_replaced = str(date).replace(' 00:00:00','')
|
date_string_replaced = str(date).replace(' 00:00:00', '')
|
||||||
slug = fichier.replace('.gmi','')
|
slug = fichier.replace('.gmi', '')
|
||||||
slug = slug.replace(date_string_replaced,'')
|
slug = slug.replace(date_string_replaced, '')
|
||||||
slug = enlever_premier_tiret_ou_underscore(slug)
|
slug = enlever_premier_tiret_ou_underscore(slug)
|
||||||
|
|
||||||
annee = str(date.year).replace(' 00:00:00','')
|
annee = str(date.year).replace(' 00:00:00', '')
|
||||||
# else:
|
# else:
|
||||||
# print('ERREUR aucun slug trouvé')
|
# print('ERREUR aucun slug trouvé')
|
||||||
|
|
||||||
@ -113,7 +112,6 @@ def enlever_premier_tiret_ou_underscore(chaîne):
|
|||||||
return chaîne
|
return chaîne
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# création des dossiers intermédiaires s'il y en a
|
# création des dossiers intermédiaires s'il y en a
|
||||||
# déplace le fichier dans le dossier spécifié
|
# déplace le fichier dans le dossier spécifié
|
||||||
def create_path_folders_and_move_file(path, file):
|
def create_path_folders_and_move_file(path, file):
|
||||||
@ -121,15 +119,17 @@ def create_path_folders_and_move_file(path, file):
|
|||||||
|
|
||||||
shutil.move(file, path)
|
shutil.move(file, path)
|
||||||
|
|
||||||
|
|
||||||
def get_files_list_of_folder(folder_path):
|
def get_files_list_of_folder(folder_path):
|
||||||
# Vérifie si le dossier existe
|
# Vérifie si le dossier existe
|
||||||
if not os.path.exists(folder_path):
|
if not os.path.exists(folder_path):
|
||||||
print(f" ------------ build_indexes: Erreur : Le dossier '{dossier_md}' n'existe pas.")
|
print(f" ------------ build_indexes: Erreur : Le dossier '{folder_path}' n'existe pas.")
|
||||||
return
|
return
|
||||||
print('----------- get_files_list_of_folder: folder_path : ',folder_path)
|
# print('----------- get_files_list_of_folder: folder_path : ', folder_path)
|
||||||
# Liste les fichiers articles, trie par nom décroissant
|
# Liste les fichiers articles, trie par nom décroissant
|
||||||
try:
|
try:
|
||||||
fichiers_md = sorted([f.replace('.'+source_files_extension, '.gmi') for f in os.listdir(folder_path) if f.endswith(source_files_extension)], reverse=True)
|
fichiers_md = sorted([f.replace('.' + source_files_extension, '.gmi') for f in os.listdir(folder_path) if
|
||||||
|
f.endswith(source_files_extension)], reverse=True)
|
||||||
print('fichiers trouvés:', len(fichiers_md))
|
print('fichiers trouvés:', len(fichiers_md))
|
||||||
return fichiers_md
|
return fichiers_md
|
||||||
except OSError as e:
|
except OSError as e:
|
||||||
@ -140,99 +140,87 @@ def get_files_list_of_folder(folder_path):
|
|||||||
# transformer le nom du fichier orgmode en une création de dossier de l'année, et un sous dossier du nom du slug dans le nom de fichier, contenant un seul fichier d'index afin de faire de l'url rewrite en dur.
|
# transformer le nom du fichier orgmode en une création de dossier de l'année, et un sous dossier du nom du slug dans le nom de fichier, contenant un seul fichier d'index afin de faire de l'url rewrite en dur.
|
||||||
# le nom de fichier org commence par une date YYYY-MM-DD ou bien YYYYMMDDHHmmss, est suivie d'un slug, et finit par l'extension .org
|
# le nom de fichier org commence par une date YYYY-MM-DD ou bien YYYYMMDDHHmmss, est suivie d'un slug, et finit par l'extension .org
|
||||||
|
|
||||||
# Titre pour le fichier d'index
|
def generer_index(dossier_source, fichier_index):
|
||||||
|
|
||||||
|
|
||||||
def empty_folder_content(path):
|
|
||||||
print("empty ", path)
|
|
||||||
# parcours tous les fichiers et sous-dossiers du dossier
|
|
||||||
# for filename in os.listdir(path):
|
|
||||||
# file_path = os.path.join(path, filename)
|
|
||||||
|
|
||||||
# # supprime le fichier ou le sous-dossier
|
|
||||||
# if os.path.isfile(file_path):
|
|
||||||
# os.remove(file_path)
|
|
||||||
# else:
|
|
||||||
# shutil.rmtree(file_path)
|
|
||||||
|
|
||||||
|
|
||||||
def generer_index(dossier_source, fichier_index, titre_index):
|
|
||||||
# Chemin absolu du dossier parent (pour sauver le fichier d'index)
|
# Chemin absolu du dossier parent (pour sauver le fichier d'index)
|
||||||
dossier_parent = os.path.dirname(os.path.abspath(__file__))
|
dossier_parent = os.path.dirname(os.path.abspath(__file__))
|
||||||
empty_folder_content(dossier_parent+'/html-websites/'+args.source+'/')
|
|
||||||
|
|
||||||
# Chemin complet du dossier contenant les Markdown
|
# Chemin complet du dossier contenant les Markdown
|
||||||
chemin_dossier_source = os.path.join(dossier_parent, dossier_source)
|
chemin_dossier_source = os.path.join(dossier_parent, dossier_source)
|
||||||
|
|
||||||
files_static = get_files_list_of_folder(chemin_dossier_source+'/')
|
files_static = get_files_list_of_folder(chemin_dossier_source + '/')
|
||||||
files_fr = get_files_list_of_folder(chemin_dossier_source+'/lang_fr')
|
files_fr = get_files_list_of_folder(chemin_dossier_source + '/lang_fr')
|
||||||
files_en = get_files_list_of_folder(chemin_dossier_source+'/lang_en')
|
files_en = get_files_list_of_folder(chemin_dossier_source + '/lang_en')
|
||||||
|
|
||||||
# Chemin complet pour le fichier d'index
|
# Chemin complet pour le fichier d'index
|
||||||
chemin_fichier_index_gemini = os.path.join(dossier_parent, fichier_index+'.gmi')
|
chemin_fichier_index_gemini = os.path.join(dossier_parent, 'gemini-capsules', args.source, 'index.gmi')
|
||||||
chemin_fichier_index_html = os.path.join(dossier_parent, '/'+fichier_index+'.html')
|
chemin_fichier_index_html = os.path.join(dossier_parent, 'html-websites', args.source, 'index.html')
|
||||||
|
|
||||||
|
|
||||||
print('\n index html: ', chemin_fichier_index_html)
|
print('\n index html: ', chemin_fichier_index_html)
|
||||||
# Génère le contenu du fichier d'index
|
# Génère le contenu du fichier d'index
|
||||||
contenu_index_gmi = f"{titre_index}\n{'- ' * len(titre_index)}\n\n"
|
contenu_index_gmi = f"{config_title}\n{'- ' * len(config_title)}\n\n"
|
||||||
contenu_index_html = f"{titre_index}\n{'- ' * len(titre_index)}\n\n"
|
contenu_index_html = f"{config_title}\n{'- ' * len(config_title)}\n\n"
|
||||||
|
|
||||||
contenu_index_gmi += "\n# Navigation\n-------------------------\n"
|
contenu_index_gmi += "\n# Navigation\n-------------------------\n"
|
||||||
contenu_index_html += "<h1>Navigation</h1>"
|
contenu_index_html += "<h1>Navigation</h1>"
|
||||||
for fichier in files_static:
|
for fichier in files_static:
|
||||||
print(" -------- fichier ",fichier)
|
# print(" -------- fichier ", fichier)
|
||||||
link_html = fichier.replace('.gmi','.html')
|
link_html = fichier.replace('.gmi', '.html')
|
||||||
link_org = fichier.replace('.gmi','.org')
|
link_org = fichier.replace('.gmi', '.org')
|
||||||
|
file_path_org = os.path.join(dossier_parent, "sources", website_name, link_org)
|
||||||
|
article_name = trouver_nom_article(file_path_org, 'org')
|
||||||
|
|
||||||
|
if article_name:
|
||||||
|
contenu_index_gmi += f"=> {fichier} {article_name}\n"
|
||||||
|
else:
|
||||||
contenu_index_gmi += f"=> {fichier}\n"
|
contenu_index_gmi += f"=> {fichier}\n"
|
||||||
|
|
||||||
if fichier != "index.gmi":
|
if fichier != "index.gmi":
|
||||||
print(' -------- rechercher le nom de l article dans le fichier ')
|
# print(' -------- rechercher le nom de l article dans le fichier ')
|
||||||
if use_article_file_for_name:
|
if use_article_file_for_name:
|
||||||
article_name = link_html
|
article_name = link_html
|
||||||
else:
|
else:
|
||||||
file_path_org = os.path.join(dossier_parent,"sources",website_name, link_org)
|
article_name = trouver_nom_article(file_path_org, 'org')
|
||||||
print('-------------- trouver_nom_article ',file_path_org)
|
|
||||||
article_name=trouver_nom_article(file_path_org, 'org')
|
|
||||||
|
|
||||||
if not article_name:
|
if not article_name:
|
||||||
article_name = link_html
|
article_name = link_html
|
||||||
else:
|
else:
|
||||||
article_name = 'Index'
|
article_name = 'Index'
|
||||||
article_name = article_name.replace('_',' ')
|
article_name = article_name.replace('_', ' ')
|
||||||
contenu_index_html += f"<br><a href=/{link_html}>{article_name}</a>"
|
contenu_index_html += f"<br><a href=/{link_html}>{article_name}</a>"
|
||||||
|
|
||||||
# ne préciser la langue français que si on a des articles en Anglais
|
# ne préciser la langue français que si on a des articles en Anglais
|
||||||
if len(files_en):
|
if len(files_en):
|
||||||
contenu_index_gmi += "\n# Articles en Français\n-------------------------\n"
|
contenu_index_gmi += "\n# Articles en Français\n-------------------------\n"
|
||||||
# contenu_index_html += "<h1>Articles en Français</h1>"
|
lang_folder = "lang_fr/"
|
||||||
lang_folder="lang_fr/"
|
|
||||||
|
|
||||||
# ----------- indexer les articles en Français ------------------
|
# ----------- indexer les articles en Français ------------------
|
||||||
for fichier in files_fr:
|
for fichier in files_fr:
|
||||||
date_string, année, slug = find_year_and_slug(fichier)
|
date_string, année, slug = find_year_and_slug(fichier)
|
||||||
|
|
||||||
|
|
||||||
new_folder=f"{année}/{slug}"
|
|
||||||
new_folder_path_this_article = os.path.join(dossier_parent, 'html-websites/'+args.source+'/'+new_folder+'/')
|
|
||||||
|
|
||||||
contenu_index_gmi += f"=> {fichier}\n"
|
contenu_index_gmi += f"=> {fichier}\n"
|
||||||
link_html = fichier.replace('..gmi','.html')
|
link_html = fichier.replace('.gmi', '.html')
|
||||||
link_html = fichier.replace('.gmi','.html')
|
chemin_fichier_this_article_html = chemin_dossier_source + '/lang_fr/converted/' + link_html
|
||||||
|
chemin_fichier_this_article_html = chemin_dossier_source + '/lang_fr/converted/' + link_html
|
||||||
|
|
||||||
chemin_fichier_this_article = chemin_dossier_source+'/lang_fr/converted/'+link_html
|
link_org = fichier.replace('.gmi', '.org')
|
||||||
|
file_path_org = os.path.join(dossier_parent, "sources", website_name, lang_folder, link_org)
|
||||||
article_name=trouver_nom_article(chemin_fichier_this_article)
|
article_name = trouver_nom_article(file_path_org, 'org')
|
||||||
|
|
||||||
if not article_name:
|
if not article_name:
|
||||||
article_name=slug.replace('-', ' ')
|
article_name = slug.replace('-', ' ')
|
||||||
|
|
||||||
# contenu_index_html += f"<br><a href=/{lang_folder}/{link_html}>{link_html}</a>"
|
if global_config["slug_with_year"]:
|
||||||
|
new_folder = f"{année}/{slug}"
|
||||||
|
new_folder_path_this_article = os.path.join(dossier_parent,
|
||||||
|
'html-websites/' + args.source + '/' + new_folder + '/')
|
||||||
|
|
||||||
|
# déplacer le fichier html dans le dossier slug,
|
||||||
|
# et le renommer en index.html ensuite pour ne pas modifier l'index du blog
|
||||||
contenu_index_html += f"<br><a href=/{année}/{slug}>{année} {article_name}</a>"
|
contenu_index_html += f"<br><a href=/{année}/{slug}>{année} {article_name}</a>"
|
||||||
|
|
||||||
os.makedirs(os.path.dirname(new_folder_path_this_article), exist_ok=True)
|
os.makedirs(os.path.dirname(new_folder_path_this_article), exist_ok=True)
|
||||||
# déplacer le fichier html dans le dossier slug, et le renommer en index.html ensuite pour ne pas modifier l'index du blog
|
shutil.copy(chemin_fichier_this_article_html, new_folder_path_this_article + 'index.html')
|
||||||
shutil.copy(chemin_fichier_this_article, new_folder_path_this_article+'index.html')
|
else:
|
||||||
|
contenu_index_html += f"<br><a href=/{lang_folder}/{link_html}>{link_html}</a>"
|
||||||
|
|
||||||
# ---------------- pareil en anglais TODO
|
# ---------------- pareil en anglais TODO
|
||||||
# contenu_index_gmi += "\n# Articles in English\n-------------------------\n"
|
# contenu_index_gmi += "\n# Articles in English\n-------------------------\n"
|
||||||
@ -241,28 +229,24 @@ def generer_index(dossier_source, fichier_index, titre_index):
|
|||||||
# for fichier in files_en:
|
# for fichier in files_en:
|
||||||
# ----------------------------------------
|
# ----------------------------------------
|
||||||
|
|
||||||
print(contenu_index_gmi)
|
print('chemin_fichier_index_html', chemin_fichier_index_html)
|
||||||
|
|
||||||
print('chemin_fichier_index_html' , dossier_parent+chemin_fichier_index_html)
|
|
||||||
print(' ')
|
print(' ')
|
||||||
with open(dossier_parent+chemin_fichier_index_html, 'w', encoding='utf-8') as file:
|
with open(chemin_fichier_index_html, 'w', encoding='utf-8') as file:
|
||||||
file.write('<html><head><title>'+args.title+'</title><link rel=\"stylesheet\" href=\"/style.css\"></link></head><body>'+contenu_index_html+'</article></body></html>')
|
print('contenu_index_html', contenu_index_html)
|
||||||
|
contenu_index_html = enrich_one_file(contenu_index_html)
|
||||||
|
file.write(contenu_index_html)
|
||||||
print(f" ------------ build_indexes: Fichier d'index '{chemin_fichier_index_html}' généré avec succès.")
|
print(f" ------------ build_indexes: Fichier d'index '{chemin_fichier_index_html}' généré avec succès.")
|
||||||
|
|
||||||
|
|
||||||
destination_html = dossier_parent+'/html-websites/'+args.source+'/'
|
|
||||||
shutil.copy(dossier_parent+chemin_fichier_index_html, destination_html)
|
|
||||||
shutil.copy(destination_html+chemin_fichier_index_html, destination_html+'index.html')
|
|
||||||
|
|
||||||
|
|
||||||
# Écrit le contenu dans le fichier d'index
|
# Écrit le contenu dans le fichier d'index
|
||||||
try:
|
try:
|
||||||
with open(chemin_fichier_index_gemini, 'w', encoding='utf-8') as file:
|
with open(chemin_fichier_index_gemini, 'w', encoding='utf-8') as file:
|
||||||
file.write(contenu_index_gmi)
|
file.write(contenu_index_gmi)
|
||||||
print(f" ------------ build_indexes: Fichier d'index gemini '{chemin_fichier_index_gemini}' généré avec succès.")
|
print(
|
||||||
|
f" ------------ build_indexes: Fichier d'index gemini '{chemin_fichier_index_gemini}' généré avec succès.")
|
||||||
|
|
||||||
except OSError as e:
|
except OSError as e:
|
||||||
print(f" ------------ build_indexes: Erreur lors de l'écriture du fichier d'index : {e}")
|
print(f" ------------ build_indexes: Erreur lors de l'écriture du fichier d'index : {e}")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
generer_index(DOSSIER_SOURCE, FICHIER_INDEX, TITRE_INDEX)
|
generer_index(DOSSIER_SOURCE, FICHIER_INDEX)
|
||||||
|
@ -92,13 +92,13 @@ generate_website() {
|
|||||||
|
|
||||||
cd templates
|
cd templates
|
||||||
convert_sources ../
|
convert_sources ../
|
||||||
echo "----------- convert_sources : pages template $website_name converties"
|
# echo "----------- convert_sources : pages template $website_name converties"
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
# traduction fr
|
# traduction fr
|
||||||
cd lang_fr
|
cd lang_fr
|
||||||
convert_sources ../
|
convert_sources ../
|
||||||
echo "----------- convert_sources :pages en français du site web $website_name converties"
|
# echo "----------- convert_sources :pages en français du site web $website_name converties"
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
# traduction en
|
# traduction en
|
||||||
@ -133,10 +133,10 @@ convert_markdown_to_gmi() {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
echo "----------- convert_markdown_to_gmi : $PWD"
|
# echo "----------- convert_markdown_to_gmi : $PWD"
|
||||||
echo "----------- convert_markdown_to_gmi : destination: $destination_gemini"
|
# echo "----------- convert_markdown_to_gmi : destination: $destination_gemini"
|
||||||
|
|
||||||
echo "----------- convert_markdown_to_gmi : fichiers markdown présents dans le dossier de base: "
|
# echo "----------- convert_markdown_to_gmi : fichiers markdown présents dans le dossier de base: "
|
||||||
|
|
||||||
ls -l sources/$website_name/converted/*.md |wc
|
ls -l sources/$website_name/converted/*.md |wc
|
||||||
|
|
||||||
@ -146,7 +146,7 @@ convert_markdown_to_gmi() {
|
|||||||
# pages en
|
# pages en
|
||||||
for fichier in sources/$website_name/converted/*.md ; do
|
for fichier in sources/$website_name/converted/*.md ; do
|
||||||
if [ -f "$fichier" ]; then
|
if [ -f "$fichier" ]; then
|
||||||
echo "----------- convert_markdown_to_gmi : md2gemini : $destination_gemini : $fichier"
|
# echo "----------- convert_markdown_to_gmi : md2gemini : $destination_gemini : $fichier"
|
||||||
md2gemini "$fichier" -w -d $destination_gemini/
|
md2gemini "$fichier" -w -d $destination_gemini/
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
@ -154,7 +154,7 @@ convert_markdown_to_gmi() {
|
|||||||
|
|
||||||
for fichier in sources/$website_name/lang_fr/converted/*.md ; do
|
for fichier in sources/$website_name/lang_fr/converted/*.md ; do
|
||||||
if [ -f "$fichier" ]; then
|
if [ -f "$fichier" ]; then
|
||||||
echo "----------- convert_markdown_to_gmi : md2gemini : $fichier"
|
# echo "----------- convert_markdown_to_gmi : md2gemini : $fichier"
|
||||||
md2gemini "$fichier" -w -d sources/$website_name/lang_fr/converted/
|
md2gemini "$fichier" -w -d sources/$website_name/lang_fr/converted/
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
@ -162,7 +162,7 @@ convert_markdown_to_gmi() {
|
|||||||
|
|
||||||
for fichier in sources/$website_name/lang_en/converted/*.md ; do
|
for fichier in sources/$website_name/lang_en/converted/*.md ; do
|
||||||
if [ -f "$fichier" ]; then
|
if [ -f "$fichier" ]; then
|
||||||
echo "----------- convert_markdown_to_gmi : md2gemini : $fichier"
|
# echo "----------- convert_markdown_to_gmi : md2gemini : $fichier"
|
||||||
md2gemini "$fichier" -w -d sources/$website_name/lang_fr/converted/
|
md2gemini "$fichier" -w -d sources/$website_name/lang_fr/converted/
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
@ -183,7 +183,6 @@ convert_markdown_to_gmi() {
|
|||||||
# regrouper les types de fichiers générés
|
# regrouper les types de fichiers générés
|
||||||
|
|
||||||
bash sass_styles.sh
|
bash sass_styles.sh
|
||||||
# ls -l $style_file
|
|
||||||
|
|
||||||
# Boucle à travers la liste des sites Web
|
# Boucle à travers la liste des sites Web
|
||||||
for website_name in "${blogs_folders[@]}"; do
|
for website_name in "${blogs_folders[@]}"; do
|
||||||
@ -192,28 +191,18 @@ for website_name in "${blogs_folders[@]}"; do
|
|||||||
|
|
||||||
convert_markdown_to_gmi $website_name
|
convert_markdown_to_gmi $website_name
|
||||||
|
|
||||||
# création de l'index:
|
# création de l'index listant les articles pour le html et la capsule gemini:
|
||||||
# prendre les fichiers markdown du dossier md/ ,
|
# prendre les fichiers markdown du dossier md/ ,
|
||||||
# et créer un index des fichiers situés dedans, rangés par nom de fichier décroissant,
|
# et créer un index des fichiers situés dedans, rangés par nom de fichier décroissant,
|
||||||
# sauver le tout dans un fichier index.gmi
|
# sauver le tout dans un fichier index.gmi
|
||||||
python3 build_indexes.py $website_name "$website_name"
|
python3 build_indexes.py $website_name
|
||||||
|
|
||||||
# déplacer les fichiers générés en html dans le dossier statique
|
# déplacer les fichiers générés en html dans le dossier statique
|
||||||
|
mv sources/$website_name/converted/*.html html-websites/$website_name/
|
||||||
|
|
||||||
cp sources/$website_name/converted/*.html html-websites/$website_name/
|
python3 enrich_html.py html-websites/$website_name --style $style_file
|
||||||
cp index_$website_name.html html-websites/$website_name/index.html
|
|
||||||
# cp sources/$website_name/templates/converted/*.html html-websites/$website_name/templates/
|
|
||||||
# cp sources/$website_name/lang_en/converted/*.html html-websites/$website_name/lang_en/
|
|
||||||
|
|
||||||
python3 enrich_html.py html-websites/$website_name -t $website_name --style $style_file
|
# copier le style dans le dossier html
|
||||||
|
|
||||||
# # déplacer les fichirers gemini dans la capsule
|
|
||||||
cp index_$website_name.gmi gemini-capsules/$website_name/index.gmi
|
|
||||||
# cp sources/$website_name/converted/*.gmi gemini-capsules/$website_name/
|
|
||||||
# cp sources/$website_name/lang_fr/converted/*.gmi gemini-capsules/$website_name/lang_fr/
|
|
||||||
# cp sources/$website_name/lang_en/converted/*.gmi gemini-capsules/$website_name/lang_en/
|
|
||||||
|
|
||||||
# copy style
|
|
||||||
cp $style_file html-websites/$website_name/style.css
|
cp $style_file html-websites/$website_name/style.css
|
||||||
|
|
||||||
done
|
done
|
||||||
|
103
enrich_html.py
103
enrich_html.py
@ -1,36 +1,34 @@
|
|||||||
#!/bin/python3
|
#!/bin/python3
|
||||||
import os
|
|
||||||
import argparse
|
import argparse
|
||||||
|
import os
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from website_config import configs_sites
|
from website_config import configs_sites
|
||||||
|
|
||||||
parser = argparse.ArgumentParser(description="Générer un site Web à partir de fichiers HTML.")
|
parser = argparse.ArgumentParser(description="Générer un site Web à partir de fichiers HTML.")
|
||||||
parser.add_argument("blog_name", help="Le chemin vers le dossier contenant les fichiers HTML.")
|
parser.add_argument("blog_name", help="Le chemin vers le dossier contenant les fichiers HTML.")
|
||||||
parser.add_argument("--title", "-t", default="Mon site Web", help="Le titre du site Web.")
|
|
||||||
parser.add_argument("--style", default="templates/style_general.css", help="Le chemin vers le fichier de style CSS.")
|
parser.add_argument("--style", default="templates/style_general.css", help="Le chemin vers le fichier de style CSS.")
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
# Style CSS minimaliste
|
# Style CSS minimaliste
|
||||||
style_file = args.style
|
style_file = args.style
|
||||||
|
|
||||||
blog_name = args.blog_name.replace('html-websites/','')
|
blog_name = args.blog_name.replace('html-websites/', '')
|
||||||
source_blog = f"sources/{blog_name}"
|
source_blog = f"sources/{blog_name}"
|
||||||
header_content_path = f"{source_blog}/templates/converted/header_page.html"
|
header_content_path = f"{source_blog}/templates/converted/header_page.html"
|
||||||
footer_content_path = f"{source_blog}/templates/converted/footer_page.html"
|
footer_content_path = f"{source_blog}/templates/converted/footer_page.html"
|
||||||
static_page_path = f"{source_blog}/templates/html/static.html"
|
static_page_path = f"{source_blog}/templates/html/static.html"
|
||||||
|
|
||||||
|
|
||||||
print('---------- blog name ', blog_name)
|
print('---------- blog name ', blog_name)
|
||||||
template_content = configs_sites[blog_name]
|
template_content = configs_sites[blog_name]
|
||||||
|
|
||||||
footer_content=''
|
after_article = ''
|
||||||
after_article=''
|
|
||||||
# TODO add footer on every article
|
|
||||||
# with open(footer_content_path, "r") as f:
|
|
||||||
# footer_content = f.read()
|
|
||||||
|
|
||||||
# TODO make these variables overrided by configuration of a source website
|
inline_the_css = False
|
||||||
# variables du template de page
|
|
||||||
|
|
||||||
|
# inline_the_css=True
|
||||||
|
|
||||||
def extract_body_content(html_content):
|
def extract_body_content(html_content):
|
||||||
pattern = r'<body[^>]*?>(.*?)</body>'
|
pattern = r'<body[^>]*?>(.*?)</body>'
|
||||||
@ -40,41 +38,26 @@ def extract_body_content(html_content):
|
|||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
def remove_properties_section(text):
|
def remove_properties_section(text):
|
||||||
pattern = r"<h1 id=\"article\">Article</h1>.+?</ul>"
|
pattern = r"<h1 id=\"article\">Article</h1>.+?</ul>"
|
||||||
replacement = ""
|
replacement = ""
|
||||||
return re.sub(pattern, replacement, text, flags=re.DOTALL)
|
return re.sub(pattern, replacement, text, flags=re.DOTALL)
|
||||||
|
|
||||||
|
|
||||||
def remove_article_head_properties_orgmode(text):
|
def remove_article_head_properties_orgmode(text):
|
||||||
pattern = r":PROPERTIES:.+?:END:"
|
pattern = r":PROPERTIES:.+?:END:"
|
||||||
replacement = ""
|
replacement = ""
|
||||||
return re.sub(pattern, replacement, text, flags=re.DOTALL)
|
return re.sub(pattern, replacement, text, flags=re.DOTALL)
|
||||||
|
|
||||||
|
|
||||||
def remove_hint_html(text):
|
def remove_hint_html(text):
|
||||||
pattern = r"<p>ceci<sub>estduhtml</sub></p>"
|
pattern = r"<p>ceci<sub>estduhtml</sub></p>"
|
||||||
replacement = ""
|
replacement = ""
|
||||||
return re.sub(pattern, replacement, text, flags=re.DOTALL)
|
return re.sub(pattern, replacement, text, flags=re.DOTALL)
|
||||||
|
|
||||||
|
|
||||||
|
def enrich_one_file(html_content, partials={"header_page": "", "footer_content": ""}):
|
||||||
def enrich_one_file(file, root_path):
|
|
||||||
|
|
||||||
|
|
||||||
print(' ----------- enrich_html: file:',os.path.join(root_path, file))
|
|
||||||
css_content = ""
|
|
||||||
|
|
||||||
inline_the_css=False
|
|
||||||
# inline_the_css=True
|
|
||||||
|
|
||||||
print(' ----------- enrich_html: CSS inline: ',inline_the_css)
|
|
||||||
# Trouver le fichier entête
|
|
||||||
header_content=''
|
|
||||||
with open(os.path.join(root_path, file), "r") as f:
|
|
||||||
header_content = f.read()
|
|
||||||
# Ouvrir le fichier HTML en mode lecture
|
|
||||||
with open(os.path.join(root_path, file), "r") as f:
|
|
||||||
html_content = f.read()
|
|
||||||
|
|
||||||
# remove some parts
|
# remove some parts
|
||||||
html_content = remove_properties_section(html_content)
|
html_content = remove_properties_section(html_content)
|
||||||
html_content = remove_article_head_properties_orgmode(html_content)
|
html_content = remove_article_head_properties_orgmode(html_content)
|
||||||
@ -126,13 +109,15 @@ def enrich_one_file(file, root_path):
|
|||||||
</a>
|
</a>
|
||||||
<h1 class="blog-title">{template_content['BLOG_TITLE']}</h1>
|
<h1 class="blog-title">{template_content['BLOG_TITLE']}</h1>
|
||||||
<p class="blog-subtitle">{template_content['BLOG_SUBTITLE']}</p>
|
<p class="blog-subtitle">{template_content['BLOG_SUBTITLE']}</p>
|
||||||
|
<div class="template-header">
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<nav class="navbar is-fixed-top is-dark" role="navigation" aria-label="main navigation">
|
<nav class="navbar is-fixed-top is-dark" role="navigation" aria-label="main navigation">
|
||||||
<div class="navbar-brand">
|
<div class="navbar-brand">
|
||||||
<a class="navbar-item" href="{template_content['NDD']}">
|
<a class="navbar-item" href="{template_content['NDD']}">
|
||||||
|
Accueil
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="navbarBasicExample" class="navbar-menu">
|
<div id="navbarBasicExample" class="navbar-menu">
|
||||||
@ -168,11 +153,12 @@ def enrich_one_file(file, root_path):
|
|||||||
<footer class="site-footer has-top-divider">
|
<footer class="site-footer has-top-divider">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="site-footer-inner">
|
<div class="site-footer-inner">
|
||||||
|
<div class="site-foot">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<nav class="footer-nav">
|
||||||
{template_content['NAVIGATION']}
|
{template_content['NAVIGATION']}
|
||||||
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
@ -182,17 +168,46 @@ def enrich_one_file(file, root_path):
|
|||||||
</html>
|
</html>
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
# {partials['footer_page']}
|
||||||
|
# {partials['header_page']}
|
||||||
|
return html_content
|
||||||
|
|
||||||
html_path_enriched=os.path.join(root_path, file)
|
|
||||||
print(' ----------- enrich_html: html_path_enriched ============> ',html_path_enriched)
|
def ouvrir_fichier(chemin_fichier):
|
||||||
|
if os.path.exists(chemin_fichier):
|
||||||
|
with open(chemin_fichier, 'r') as fichier:
|
||||||
|
# Faire quelque chose avec le fichier ouvert
|
||||||
|
contenu = fichier.read()
|
||||||
|
return contenu
|
||||||
|
else:
|
||||||
|
raise FileNotFoundError(f"Le fichier {chemin_fichier} n'existe pas.")
|
||||||
|
|
||||||
|
|
||||||
|
# Parcourir tous les fichiers HTML dans le dossier
|
||||||
|
for root_path, _, files in os.walk(blog_name):
|
||||||
|
# Prendre les templates partiaux pour chaque site web
|
||||||
|
partials = {
|
||||||
|
"header_content": "",
|
||||||
|
"footer_content": "",
|
||||||
|
}
|
||||||
|
|
||||||
|
partials["header_content"] = ouvrir_fichier(os.path.join(root_path, 'templates', 'header_page.org'))
|
||||||
|
partials["footer_content"] = ouvrir_fichier(os.path.join(root_path, 'templates', 'footer_page.org'))
|
||||||
|
|
||||||
|
for file in files:
|
||||||
|
if file.endswith(".html"):
|
||||||
|
print(' ----------- enrich_html: file:', os.path.join(root_path, file))
|
||||||
|
|
||||||
|
print(' ----------- enrich_html: CSS inline: ', inline_the_css)
|
||||||
|
|
||||||
|
# Ouvrir le fichier HTML en mode lecture
|
||||||
|
with open(os.path.join(root_path, file), "r") as f:
|
||||||
|
html_content = f.read()
|
||||||
|
|
||||||
|
html_content = enrich_one_file(html_content, partials)
|
||||||
|
html_path_enriched = os.path.join(root_path, file)
|
||||||
|
print(' ----------- enrich_html: html_path_enriched ============> ', html_path_enriched)
|
||||||
# Écrire le contenu modifié dans le fichier HTML
|
# Écrire le contenu modifié dans le fichier HTML
|
||||||
with open(html_path_enriched, "w") as f:
|
with open(html_path_enriched, "w") as f:
|
||||||
f.write(html_content)
|
f.write(html_content)
|
||||||
print('\n ----------- enrich_html: html écrit ', html_path_enriched)
|
print('\n ----------- enrich_html: html écrit ', html_path_enriched)
|
||||||
|
|
||||||
# Parcourir tous les fichiers HTML dans le dossier
|
|
||||||
for root, _, files in os.walk(blog_name):
|
|
||||||
# print(files)
|
|
||||||
for file in files:
|
|
||||||
if file.endswith(".html"):
|
|
||||||
enrich_one_file(file, root)
|
|
1
essais.html
Normal file
1
essais.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
<div class="template-header"></div>
|
7
gemini-capsules/tykayn_blog/coucou.gmi
Normal file
7
gemini-capsules/tykayn_blog/coucou.gmi
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
## title: tykayn_blog
|
||||||
|
|
||||||
|
# index du vortex à chats
|
||||||
|
|
||||||
|
coucou!
|
@ -1,15 +1,15 @@
|
|||||||
|
Tykayn Blog
|
||||||
|
- - - - - - - - - - -
|
||||||
|
|
||||||
|
|
||||||
# Navigation
|
# Navigation
|
||||||
-------------------------
|
-------------------------
|
||||||
=> projets.gmi
|
=> projets.gmi Projets
|
||||||
=> index.gmi
|
|
||||||
=> footer-articles.gmi
|
=> footer-articles.gmi
|
||||||
=> contact.gmi
|
=> coucou.gmi index du vortex à chats
|
||||||
=> blogroll.gmi
|
=> contact.gmi Contact
|
||||||
=> accueil.gmi
|
=> blogroll.gmi Blogs recommandés
|
||||||
=> a-propos.gmi
|
=> accueil.gmi Accueil
|
||||||
|
=> a-propos.gmi à propos
|
||||||
=> 20241111235943-sketches_de_toulouse.gmi
|
=> 20241111235943-sketches_de_toulouse.gmi
|
||||||
=> 20211211215731-krita.gmi
|
=> 20211211215731-krita.gmi
|
||||||
|
@ -9,13 +9,11 @@ id: 0302f197-3e37-4ea8-b7ca-e880202889b5 title: tykayn_blog
|
|||||||
# sketches de toulouse {#sketches-de-toulouse-1 created="[2024-11-12 00:00:19]"}
|
# sketches de toulouse {#sketches-de-toulouse-1 created="[2024-11-12 00:00:19]"}
|
||||||
|
|
||||||
Quelques jours à Toulouse étaient l'occasion de se voir avec Regulus et Aube, on a visité le pays malgré la grisaille, revu la cité de l'espace et ses ouatmille trucs à voir et à essayer (y'en a plein, on ne peut pas tout voir en une seule journée X)), tester un restaurant végé vachement sympa nommé
|
Quelques jours à Toulouse étaient l'occasion de se voir avec Regulus et Aube, on a visité le pays malgré la grisaille, revu la cité de l'espace et ses ouatmille trucs à voir et à essayer (y'en a plein, on ne peut pas tout voir en une seule journée X)), tester un restaurant végé vachement sympa nommé
|
||||||
=> https://web.archive.org/web/20240825225407/https://www.lafaimdesharicots.fr/ la Faim des haricots
|
=> https://www.lafaimdesharicots.fr/ la Faim des haricots
|
||||||
. omnomnomnom! C'était un peu notre *reuvayvaule* de
|
. omnomnomnom! C'était un peu notre *reuvayvaule* de
|
||||||
=> https://web.archive.org/web/20240825225407/https://tykayn.fr/?s=vadrouille la petite vadrouille
|
=> https://tykayn.fr/?s=vadrouille la petite vadrouille
|
||||||
.
|
.
|
||||||
|
|
||||||
=> https://tykayn.fr/wp-content/uploads/2024/02/2024-02-18T21.36.27-1024x577.jpg [IMG]
|
=> https://tykayn.fr/wp-content/uploads/2024/02/2024-02-18T21.36.27.jpg [IMG]
|
||||||
|
|
||||||
=> https://tykayn.fr/wp-content/uploads/2024/02/2024-02-18T21.37.23-1024x577.jpg [IMG]
|
=> https://tykayn.fr/wp-content/uploads/2024/02/2024-02-18T21.37.23.jpg [IMG]
|
||||||
|
|
||||||
P
|
|
@ -8,8 +8,8 @@ id: ca57e319-7134-4fe2-b223-a723700b7245 title: tykayn_blog
|
|||||||
|
|
||||||
# sketches 18+ {#sketches-18-1 created="[2024-11-12 00:01:36]"}
|
# sketches 18+ {#sketches-18-1 created="[2024-11-12 00:01:36]"}
|
||||||
|
|
||||||
=> https://tykayn.fr/wp-content/uploads/2024/02/2022-02-08-des-boobies-1024x768.jpg [IMG]
|
=> https://tykayn.fr/wp-content/uploads/2024/02/2022-02-08-des-boobies.jpg [IMG]
|
||||||
|
|
||||||
=> https://tykayn.fr/wp-content/uploads/2024/02/2022-07-22-sketch1-pouic-table-et-back-pak-724x1024.jpg [IMG]
|
=> https://tykayn.fr/wp-content/uploads/2024/02/2022-07-22-sketch1-pouic-table-et-back-pak.jpg [IMG]
|
||||||
|
|
||||||
=> https://tykayn.fr/wp-content/uploads/2024/02/2022-07-22_sketch2_face_cuisses_brr-small-1024x724.jpg [IMG]
|
=> https://tykayn.fr/wp-content/uploads/2024/02/2022-07-22_sketch2_face_cuisses_brr-small.jpg [IMG]
|
@ -12,8 +12,9 @@ En 2023 je n'ai pas fait l'inktober mais le kinktober, manquant de temps disponi
|
|||||||
|
|
||||||
Enjaillez!
|
Enjaillez!
|
||||||
|
|
||||||
=> https://tykayn.fr/wp-content/uploads/2024/02/2023-kinktober-first-girl-nue-splash-448x1024.jpg [IMG]
|
=> https://tykayn.fr/wp-content/uploads/2024/02/2023-kinktober-first-girl-nue-splash.jpg [IMG]
|
||||||
[* https://tykayn.fr/wp-content/uploads/2024/02/2023-kinktober_girl_2-1024x803.jpg*]{.spurious-link target="
|
|
||||||
=> https://tykayn.fr/wp-content/uploads/2024/02/2023-kinktober_girl_2-1024x803.jpg%22%7D
|
=> https://tykayn.fr/wp-content/uploads/2024/02/2023-kinktober_girl_2.jpg [IMG]
|
||||||
[* https://tykayn.fr/wp-content/uploads/2024/02/2023-kintober_miss_patounage-1024x1008.jpg*]{.spurious-link target="
|
|
||||||
=> https://tykayn.fr/wp-content/uploads/2024/02/2023-kintober_miss_patounage-1024x1008.jpg%22%7D
|
[* https://tykayn.fr/wp-content/uploads/2024/02/2023-kintober_miss_patounage.jpg*]{.spurious-link target="
|
||||||
|
=> https://tykayn.fr/wp-content/uploads/2024/02/2023-kintober_miss_patounage.jpg%22%7D
|
@ -9,17 +9,16 @@ id: 2cd8fd23-9f44-4410-8d09-fe4d65ed1e87 title: tykayn_blog
|
|||||||
# calin yuri AH {#calin-yuri-ah-1 created="[2024-11-12 00:07:14]"}
|
# calin yuri AH {#calin-yuri-ah-1 created="[2024-11-12 00:07:14]"}
|
||||||
|
|
||||||
Petit yuri printanier avec les personnages de l'histoire Ayominai Hitomi,
|
Petit yuri printanier avec les personnages de l'histoire Ayominai Hitomi,
|
||||||
=> https://web.archive.org/web/20240825225407/https://tykayn.fr/2009/bd-one-shot-ayominai-hitomi/ une BD que j'ai fait en 2004
|
=> https://tykayn.fr/2009/bd-one-shot-ayominai-hitomi/ une BD que j'ai fait en 2004
|
||||||
.
|
.
|
||||||
|
|
||||||
[* https://tykayn.fr/wp-content/uploads/2023/08/2023-04-14-AH-calin-tykayn-yuri-1024x724.jpg*]{.spurious-link target="
|
=> https://tykayn.fr/wp-content/uploads/2023/08/2023-04-14-AH-calin-tykayn-yuri.jpg [IMG]
|
||||||
=> https://tykayn.fr/wp-content/uploads/2023/08/2023-04-14-AH-calin-tykayn-yuri-1024x724.jpg%22%7D
|
|
||||||
|
|
||||||
Publié dans
|
Publié dans
|
||||||
=> https://web.archive.org/web/20240825225407/https://tykayn.fr/category/non-classe/ Non classé
|
=> https://tykayn.fr/category/non-classe/ Non classé
|
||||||
Etiqueté
|
Etiqueté
|
||||||
=> https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/ayominai-hitomi/ ayominai hitomi
|
=> https://tykayn.fr/tag/ayominai-hitomi/ ayominai hitomi
|
||||||
,
|
,
|
||||||
=> https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/dessin/ dessin
|
=> https://tykayn.fr/tag/dessin/ dessin
|
||||||
,
|
,
|
||||||
=> https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/yuri/ yuri
|
=> https://tykayn.fr/tag/yuri/ yuri
|
@ -11,13 +11,13 @@ id: 78c21f96-39d5-46c3-990f-324150825437 title: tykayn_blog
|
|||||||
=> https://tykayn.fr/wp-content/uploads/2020/11/20200923_155228.jpg https://tykayn.fr/wp-content/uploads/2020/11/20200923_155228.jpg
|
=> https://tykayn.fr/wp-content/uploads/2020/11/20200923_155228.jpg https://tykayn.fr/wp-content/uploads/2020/11/20200923_155228.jpg
|
||||||
|
|
||||||
conseils en
|
conseils en
|
||||||
=> https://web.archive.org/web/20240825225407/https://mastodon.cipherbliss.com/tags/art #art
|
=> https://mastodon.cipherbliss.com/tags/art #art
|
||||||
:
|
:
|
||||||
|
|
||||||
* lancez vous dans des projets beaucoup moins gros, vraiment, des trucs minuscules, surtout au début de votre vie d'artiste.
|
* lancez vous dans des projets beaucoup moins gros, vraiment, des trucs minuscules, surtout au début de votre vie d'artiste.
|
||||||
* dessinez en prenant des modèles, des références, photos, sujets et objets. pourquoi pas du modèle vivant, rejoindre un cours d'art.
|
* dessinez en prenant des modèles, des références, photos, sujets et objets. pourquoi pas du modèle vivant, rejoindre un cours d'art.
|
||||||
* ayez des objectifs à long terme et à court terme dans ce que vous souhaitez faire pour vous améliorer en tant qu'
|
* ayez des objectifs à long terme et à court terme dans ce que vous souhaitez faire pour vous améliorer en tant qu'
|
||||||
=> https://web.archive.org/web/20240825225407/https://mastodon.cipherbliss.com/tags/artiste #artiste
|
=> https://mastodon.cipherbliss.com/tags/artiste #artiste
|
||||||
* apprenez à faire de la perspective, vraiment.
|
* apprenez à faire de la perspective, vraiment.
|
||||||
* ne dessinez pas que des bustes de personnages.
|
* ne dessinez pas que des bustes de personnages.
|
||||||
* ne soyez pas déçus si vous avez des retours constructifs qui ne vous mettent pas sur un piédestal. On a jamais fini de s'améliorer
|
* ne soyez pas déçus si vous avez des retours constructifs qui ne vous mettent pas sur un piédestal. On a jamais fini de s'améliorer
|
||||||
@ -29,17 +29,17 @@ conseils en
|
|||||||
* foutez la paix à votre téléphone, vous pouvez le mettre dans une autre pièce et en moda avion pour gagner un maximum de concentration. vous n'avez vraiment pas besoin de répondre à cette personne qui dit des bêtises dans votre flux interminable d'actualités. ni maintenant ni jamais.
|
* foutez la paix à votre téléphone, vous pouvez le mettre dans une autre pièce et en moda avion pour gagner un maximum de concentration. vous n'avez vraiment pas besoin de répondre à cette personne qui dit des bêtises dans votre flux interminable d'actualités. ni maintenant ni jamais.
|
||||||
* faites d'autres activités plutôt que de rester uniquement à votre lieu de production. Planifiez des moments hors ligne. Faites une balade, des activités physiques, de l'exploration du monde.
|
* faites d'autres activités plutôt que de rester uniquement à votre lieu de production. Planifiez des moments hors ligne. Faites une balade, des activités physiques, de l'exploration du monde.
|
||||||
* renseignez vous sur les syndicats qui existent. Ne restez pas seul et n'attendez pas de découvrir comment ça se passe quand on enrtre dans le bassin des requins, le monde professionel est somble et plein de terreurs.
|
* renseignez vous sur les syndicats qui existent. Ne restez pas seul et n'attendez pas de découvrir comment ça se passe quand on enrtre dans le bassin des requins, le monde professionel est somble et plein de terreurs.
|
||||||
=> https://web.archive.org/web/20240825225407/https://www.artistes-auteurs.fr/ <https://www.artistes-auteurs.fr>
|
=> https://www.artistes-auteurs.fr/ <https://www.artistes-auteurs.fr>
|
||||||
Rencontrez d'autres artistes et entraidez-vous.
|
Rencontrez d'autres artistes et entraidez-vous.
|
||||||
* mettez la tête dans le chat.
|
* mettez la tête dans le chat.
|
||||||
|
|
||||||
Publié dans
|
Publié dans
|
||||||
=> https://web.archive.org/web/20240825225407/https://tykayn.fr/category/non-classe/ Non classé
|
=> https://tykayn.fr/category/non-classe/ Non classé
|
||||||
Etiqueté
|
Etiqueté
|
||||||
=> https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/art/ art
|
=> https://tykayn.fr/tag/art/ art
|
||||||
,
|
,
|
||||||
=> https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/conseil/ conseil
|
=> https://tykayn.fr/tag/conseil/ conseil
|
||||||
,
|
,
|
||||||
=> https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/dessin/ dessin
|
=> https://tykayn.fr/tag/dessin/ dessin
|
||||||
,
|
,
|
||||||
=> https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/entraide/ entraide
|
=> https://tykayn.fr/tag/entraide/ entraide
|
@ -11,9 +11,9 @@ id: 21964c8f-7e77-4ce4-894e-a76d31845aa2 title: tykayn_blog
|
|||||||
Jeux de mains pour essayages en cabine.
|
Jeux de mains pour essayages en cabine.
|
||||||
|
|
||||||
Cette illustration est disponible dans le
|
Cette illustration est disponible dans le
|
||||||
=> https://web.archive.org/web/20240825225407/https://cloud.tykayn.fr/index.php/s/NjrPwGNHCGio49R dossier de partage nextcloud du tk blog
|
=> https://cloud.tykayn.fr/index.php/s/NjrPwGNHCGio49R dossier de partage nextcloud du tk blog
|
||||||
. Vous pouvez y retrouver le fichier source pour mes illus. celle-ci a été faite avec
|
. Vous pouvez y retrouver le fichier source pour mes illus. celle-ci a été faite avec
|
||||||
=> https://web.archive.org/web/20240825225407/https://krita.org/fr/ Krita
|
=> https://krita.org/fr/ Krita
|
||||||
, un excellent logiciel libre de dessin numérique.
|
, un excellent logiciel libre de dessin numérique.
|
||||||
|
|
||||||
=> https://tykayn.fr/wp-content/uploads/2022/04/cabine_girl_001-1024x1024.jpg [IMG]
|
=> https://tykayn.fr/wp-content/uploads/2022/04/cabine_girl_001-1024x1024.jpg [IMG]
|
||||||
@ -23,10 +23,10 @@ Cette illustration est disponible dans le
|
|||||||
=> https://tykayn.fr/wp-content/uploads/2022/04/cabine_girl_002-1024x768.jpg [IMG]
|
=> https://tykayn.fr/wp-content/uploads/2022/04/cabine_girl_002-1024x768.jpg [IMG]
|
||||||
|
|
||||||
Publié dans
|
Publié dans
|
||||||
=> https://web.archive.org/web/20240825225407/https://tykayn.fr/category/floodish/ Floodish
|
=> https://tykayn.fr/category/floodish/ Floodish
|
||||||
Etiqueté
|
Etiqueté
|
||||||
=> https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/boobies/ boobies
|
=> https://tykayn.fr/tag/boobies/ boobies
|
||||||
,
|
,
|
||||||
=> https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/essayage/ essayage
|
=> https://tykayn.fr/tag/essayage/ essayage
|
||||||
,
|
,
|
||||||
=> https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/patounage/ patounage
|
=> https://tykayn.fr/tag/patounage/ patounage
|
@ -9,21 +9,21 @@ id: 213879ff-4d38-4c19-ac43-be723ad66b4b title: tykayn_blog
|
|||||||
# la fougue dans les rideaux {#la-fougue-dans-les-rideaux-1 created="[2024-11-12 00:10:19]"}
|
# la fougue dans les rideaux {#la-fougue-dans-les-rideaux-1 created="[2024-11-12 00:10:19]"}
|
||||||
|
|
||||||
Et hop, de la fougue dans les rideaux ajoutée au
|
Et hop, de la fougue dans les rideaux ajoutée au
|
||||||
=> https://web.archive.org/web/20240825225407/https://cloud.tykayn.fr/index.php/s/NjrPwGNHCGio49R dossier de partage nextcloud du tk blog
|
=> https://cloud.tykayn.fr/index.php/s/NjrPwGNHCGio49R dossier de partage nextcloud du tk blog
|
||||||
. Vous pouvez y retrouver le fichier source pour mes illus. celle-ci a été faite avec
|
. Vous pouvez y retrouver le fichier source pour mes illus. celle-ci a été faite avec
|
||||||
=> https://web.archive.org/web/20240825225407/https://krita.org/fr/ Krita
|
=> https://krita.org/fr/ Krita
|
||||||
, un excellent logiciel libre de dessin numérique.
|
, un excellent logiciel libre de dessin numérique.
|
||||||
|
|
||||||
=> https://web.archive.org/web/20240825225407im_/https://tykayn.fr/wp-content/uploads/2022/04/fougue_rideaux-scaled.jpg [IMG]
|
=> https://web.archive.org/web/20240825225407im_/https://tykayn.fr/wp-content/uploads/2022/04/fougue_rideaux-scaled.jpg [IMG]
|
||||||
|
|
||||||
Voir sur Mastodon
|
Voir sur Mastodon
|
||||||
=> https://web.archive.org/web/20240825225407/https://mastodon.cipherbliss.com/@tykayn/108115540654384055 <https://mastodon.cipherbliss.com/@tykayn/108115540654384055>
|
=> https://mastodon.cipherbliss.com/@tykayn/108115540654384055 <https://mastodon.cipherbliss.com/@tykayn/108115540654384055>
|
||||||
|
|
||||||
Publié dans
|
Publié dans
|
||||||
=> https://web.archive.org/web/20240825225407/https://tykayn.fr/category/non-classe/ Non classé
|
=> https://tykayn.fr/category/non-classe/ Non classé
|
||||||
Etiqueté
|
Etiqueté
|
||||||
=> https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/couple/ couple
|
=> https://tykayn.fr/tag/couple/ couple
|
||||||
,
|
,
|
||||||
=> https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/illustration/ illustration
|
=> https://tykayn.fr/tag/illustration/ illustration
|
||||||
,
|
,
|
||||||
=> https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/nsfw/ nsfw
|
=> https://tykayn.fr/tag/nsfw/ nsfw
|
@ -10,20 +10,20 @@ id: eb168f39-c356-4783-8152-cb2e0f45a5ce title: tykayn_blog
|
|||||||
|
|
||||||
Si vous souhaitez avoir accès aux illustrations postées sur ce site et que j'ai réalisé, j'ai créé un dossier de partage nextcloud que je remplirai de temps à autre. Ces fichiers sont sous licence CC-BY
|
Si vous souhaitez avoir accès aux illustrations postées sur ce site et que j'ai réalisé, j'ai créé un dossier de partage nextcloud que je remplirai de temps à autre. Ces fichiers sont sous licence CC-BY
|
||||||
|
|
||||||
=> https://web.archive.org/web/20240825225407/https://cloud.tykayn.fr/index.php/s/dessins_partage_blog [https://cloud.tykayn.fr/index.php/s/dessins\\\_partage\\\_blog](https://cloud.tykayn.fr/index.php/s/dessins\_partage\_blog)
|
=> https://cloud.tykayn.fr/index.php/s/dessins_partage_blog [https://cloud.tykayn.fr/index.php/s/dessins\\\_partage\\\_blog](https://cloud.tykayn.fr/index.php/s/dessins\_partage\_blog)
|
||||||
|
|
||||||
Vous pouvez aussi récupérer les contenus des fanzines plein de CULture de Qzine par ici:
|
Vous pouvez aussi récupérer les contenus des fanzines plein de CULture de Qzine par ici:
|
||||||
=> https://web.archive.org/web/20240825225407/https://qzine.fr/telechargez-les-fanzines-qzine/ <https://qzine.fr/telechargez-les-fanzines-qzine/>
|
=> https://qzine.fr/telechargez-les-fanzines-qzine/ <https://qzine.fr/telechargez-les-fanzines-qzine/>
|
||||||
|
|
||||||
Le but de cette license étant de permettre beaucoup de choses, je vous encourage également à publier vos oeuvres avec une licence Creative Commons qui va bien,
|
Le but de cette license étant de permettre beaucoup de choses, je vous encourage également à publier vos oeuvres avec une licence Creative Commons qui va bien,
|
||||||
=> https://web.archive.org/web/20240825225407/https://creativecommons.org/choose/ vous avez le choix
|
=> https://creativecommons.org/choose/ vous avez le choix
|
||||||
.
|
.
|
||||||
|
|
||||||
|
|
||||||
=> https://web.archive.org/web/20240825225407/http://creativecommons.org/licenses/by/4.0/
|
=> http://creativecommons.org/licenses/by/4.0/
|
||||||
=> https://web.archive.org/web/20240825225407im_/https://i.creativecommons.org/l/by/4.0/80x15.png [IMG]
|
=> https://web.archive.org/web/20240825225407im_/https://i.creativecommons.org/l/by/4.0/80x15.png [IMG]
|
||||||
> Ce(tte) œuvre est mise à disposition selon les termes de la
|
> Ce(tte) œuvre est mise à disposition selon les termes de la
|
||||||
=> https://web.archive.org/web/20240825225407/http://creativecommons.org/licenses/by/4.0/ Licence
|
=> http://creativecommons.org/licenses/by/4.0/ Licence
|
||||||
> Creative Commons Attribution 4.0
|
> Creative Commons Attribution 4.0
|
||||||
> International
|
> International
|
||||||
.
|
.
|
||||||
@ -31,6 +31,6 @@ Le but de cette license étant de permettre beaucoup de choses, je vous encourag
|
|||||||
Bonne réutilisation o/
|
Bonne réutilisation o/
|
||||||
|
|
||||||
Publié dans
|
Publié dans
|
||||||
=> https://web.archive.org/web/20240825225407/https://tykayn.fr/category/non-classe/ Non classé
|
=> https://tykayn.fr/category/non-classe/ Non classé
|
||||||
Etiqueté
|
Etiqueté
|
||||||
=> https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/reutilisation/ réutilisation
|
=> https://tykayn.fr/tag/reutilisation/ réutilisation
|
@ -175,16 +175,13 @@ id="sketches-de-toulouse-1">sketches de toulouse</h1>
|
|||||||
et Aube, on a visité le pays malgré la grisaille, revu la cité de
|
et Aube, on a visité le pays malgré la grisaille, revu la cité de
|
||||||
l’espace et ses ouatmille trucs à voir et à essayer (y’en a plein, on ne
|
l’espace et ses ouatmille trucs à voir et à essayer (y’en a plein, on ne
|
||||||
peut pas tout voir en une seule journée X)), tester un restaurant végé
|
peut pas tout voir en une seule journée X)), tester un restaurant végé
|
||||||
vachement sympa nommé <a
|
vachement sympa nommé <a href="https://www.lafaimdesharicots.fr/">la
|
||||||
href="https://web.archive.org/web/20240825225407/https://www.lafaimdesharicots.fr/">la
|
|
||||||
Faim des haricots</a>. omnomnomnom! C’était un peu notre
|
Faim des haricots</a>. omnomnomnom! C’était un peu notre
|
||||||
<em>reuvayvaule</em> de <a
|
<em>reuvayvaule</em> de <a href="https://tykayn.fr/?s=vadrouille">la
|
||||||
href="https://web.archive.org/web/20240825225407/https://tykayn.fr/?s=vadrouille">la
|
|
||||||
petite vadrouille</a>.</p>
|
petite vadrouille</a>.</p>
|
||||||
<p><img
|
<p><img
|
||||||
src="https://tykayn.fr/wp-content/uploads/2024/02/2024-02-18T21.36.27-1024x577.jpg" /></p>
|
src="https://tykayn.fr/wp-content/uploads/2024/02/2024-02-18T21.36.27.jpg" /></p>
|
||||||
<p><img
|
<p><img
|
||||||
src="https://tykayn.fr/wp-content/uploads/2024/02/2024-02-18T21.37.23-1024x577.jpg" /></p>
|
src="https://tykayn.fr/wp-content/uploads/2024/02/2024-02-18T21.37.23.jpg" /></p>
|
||||||
<p>P</p>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -1,4 +1,115 @@
|
|||||||
<html><head><title>tykayn_blog</title><link rel="stylesheet" href="/style.css"></link></head><body>
|
|
||||||
|
|
||||||
|
|
||||||
<h1>Navigation</h1><br><a href=/projets.html>Projets</a><br><a href=/index.html>Index</a><br><a href=/footer-articles.html>footer-articles.html</a><br><a href=/contact.html>Contact</a><br><a href=/blogroll.html>Blogs recommandés</a><br><a href=/accueil.html>Accueil </a><br><a href=/a-propos.html>à propos</a><br><a href=/2024/20241111235943-sketches_de_toulouse>2024 20241111235943 sketches_de_toulouse</a><br><a href=/2021/20211211215731-krita>2021 krita astuces.</a></article></body></html>
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<meta property="og:image" content="https://tykayn.fr/wp-content/uploads/2016/12/rond.png">
|
||||||
|
<meta property="og:locale" content="fr_FR">
|
||||||
|
<meta property="og:description" content="Le vortex à chats - Illustrations, trucs en tout genre par Tykayn">
|
||||||
|
<meta property="og:url" content="https://tykayn.fr">
|
||||||
|
<meta property="og:site_name" content="">
|
||||||
|
<link rel="alternate" type="application/rss+xml" title="Cipher Bliss » Flux" href="https://tykayn.fr/feed/">
|
||||||
|
<link href="/style.css" rel="stylesheet">
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title></title>
|
||||||
|
<meta name="author" content="Tykayn">
|
||||||
|
<link rel="alternate" type="application/rss+xml" title="Tykayn Blog » Flux"
|
||||||
|
href="https://tykayn.fr/feed/">
|
||||||
|
<meta property="og:title" content="Baptiste Lemoine">
|
||||||
|
<meta property="og:locale" content="fr_FR">
|
||||||
|
<!-- Description de la page -->
|
||||||
|
<meta name="description" content="Baptiste Lemoine">
|
||||||
|
<meta name="reply-to" content="contact@cipherbliss.com">
|
||||||
|
<link rel="icon" type="image/png" href="https://tykayn.fr/wp-content/uploads/2016/12/rond.png">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div id="page">
|
||||||
|
<header id="masthead" class="site-header">
|
||||||
|
<div class="header-image" style="background: url(https://www.cipherbliss.com/wp-content/uploads/2016/11/bg.jpg)">
|
||||||
|
<a href="/">
|
||||||
|
<img src="https://tykayn.fr/wp-content/uploads/2016/12/rond.png" class="site-icon img">
|
||||||
|
</a>
|
||||||
|
<h1 class="blog-title">Tykayn Blog</h1>
|
||||||
|
<p class="blog-subtitle">Le vortex à chats - Illustrations, trucs en tout genre par Tykayn</p>
|
||||||
|
<div class="template-header">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<nav class="navbar is-fixed-top is-dark" role="navigation" aria-label="main navigation">
|
||||||
|
<div class="navbar-brand">
|
||||||
|
<a class="navbar-item" href="https://tykayn.fr">
|
||||||
|
Accueil
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="navbarBasicExample" class="navbar-menu">
|
||||||
|
<div class="navbar-start">
|
||||||
|
<a class="navbar-item" href="https://tykayn.fr">
|
||||||
|
<img src="https://tykayn.fr/wp-content/uploads/2016/12/rond.png"
|
||||||
|
class="img-fluid">
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<nav>
|
||||||
|
<a href="/">Accueil</a>
|
||||||
|
<a href="https://portfolio.cipherbliss.com">Portfolio</a>
|
||||||
|
<a href="https://qzine.fr">Qzine</a>
|
||||||
|
<a href="https://www.cipherbliss.com">Cipherbliss</a>
|
||||||
|
<a href="/feed">Flux RSS</a>
|
||||||
|
<a href="https://cloud.tykayn.fr/index.php/s/dessins_partage_blog">Sources des illustrations</a>
|
||||||
|
<a href="/contact">Contact</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="navbar-end">
|
||||||
|
<div class="navbar-item">
|
||||||
|
<form role="search" method="get" class="search-form" action="/">
|
||||||
|
<label>
|
||||||
|
<input class="search-field" placeholder="Recherche" value="" name="s"
|
||||||
|
type="search">
|
||||||
|
</label>
|
||||||
|
<input class="is-hidden search-submit" value="Rechercher" type="submit">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
<main class="body-wrap boxed-container">
|
||||||
|
<article class="content">
|
||||||
|
None
|
||||||
|
<p class="after-article">
|
||||||
|
|
||||||
|
</p>
|
||||||
|
</article>
|
||||||
|
</main>
|
||||||
|
<footer class="site-footer has-top-divider">
|
||||||
|
<div class="container">
|
||||||
|
<div class="site-footer-inner">
|
||||||
|
<div class="site-foot">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<nav class="footer-nav">
|
||||||
|
|
||||||
|
<nav>
|
||||||
|
<a href="/">Accueil</a>
|
||||||
|
<a href="https://portfolio.cipherbliss.com">Portfolio</a>
|
||||||
|
<a href="https://qzine.fr">Qzine</a>
|
||||||
|
<a href="https://www.cipherbliss.com">Cipherbliss</a>
|
||||||
|
<a href="/feed">Flux RSS</a>
|
||||||
|
<a href="https://cloud.tykayn.fr/index.php/s/dessins_partage_blog">Sources des illustrations</a>
|
||||||
|
<a href="/contact">Contact</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
<!-- généré avec orgmode-to-gemini-blog par Tykayn -->
|
||||||
|
</html>
|
||||||
|
|
||||||
|
@ -1,239 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Navigation
|
|
||||||
-------------------------
|
|
||||||
=> index.gmi
|
|
||||||
=> contact.gmi
|
|
||||||
|
|
||||||
# Articles en Français
|
|
||||||
-------------------------
|
|
||||||
=> 20241109231603-connaître-la-couleur-des-jours-edf-tempo-en-ligne-de-commande.gmi
|
|
||||||
=> 20241109231110-tags.gmi
|
|
||||||
=> 20241109230937-ressources-de-café-vie-privée.gmi
|
|
||||||
=> 20241108151758-ça-déménage.gmi
|
|
||||||
=> 20241103131856_cipherbliss_blog_soutien.gmi
|
|
||||||
=> 20241103124156_cipherbliss_blog_création-d'un-blog-gemini.gmi
|
|
||||||
=> 20220106183554_cipherbliss_blog_241_programme-pour-une-annee-2022-moins-pire.gmi
|
|
||||||
=> 20211023195028_cipherbliss_blog_240_video-du-premier-chatons-camp-2021.gmi
|
|
||||||
=> 20211023192307_cipherbliss_blog_239_nouvelles-doctobre-2021.gmi
|
|
||||||
=> 20210927092238_cipherbliss_blog_238_des-sauvegardes-qui-durent-mille-ans.gmi
|
|
||||||
=> 20210927092238_cipherbliss_215_des-sauvegardes-qui-durent-mille-ans.gmi
|
|
||||||
=> 20210820125241_cipherbliss_blog_237_nouvelles-daout-2021.gmi
|
|
||||||
=> 20210806154459_cipherbliss_blog_236_vider-sa-boite-protonmail-pour-faire-du-zero-inbox.gmi
|
|
||||||
=> 20210610150449_cipherbliss_blog_235_quelques-avancements-sur-framadate-funky.gmi
|
|
||||||
=> 20210527133058_cipherbliss_blog_211_plan-darchivage-et-de-backup.gmi
|
|
||||||
=> 20210417125303_cipherbliss_blog_234_bus-factor.gmi
|
|
||||||
=> 20210223005400_cipherbliss_blog_233_actus-de-fevrier-2021.gmi
|
|
||||||
=> 20210127151403_cipherbliss_blog_232_comment-faire-du-livestream-entierement-libre-avec-peertube-v3-et-obs-studio.gmi
|
|
||||||
=> 20201227115645_cipherbliss_blog_231_un-petit-message-de-noel-de-la-part-dedward-snowden.gmi
|
|
||||||
=> 20201125111911_cipherbliss_blog_230_passage-dans-lemission-libre-a-vous-le-17-novembre-2020.gmi
|
|
||||||
=> 20201118110346_cipherbliss_blog_229_live-toot-de-la-conference-avec-etienne-klein.gmi
|
|
||||||
=> 20201112113141_cipherbliss_blog_228_recuperer-de-la-musique-libre-de-lemission-cause-commune.gmi
|
|
||||||
=> 20201019161609_cipherbliss_blog_227_rencontre-openstreetmap-en-essonne-le-24-octobre-2020.gmi
|
|
||||||
=> 20201016165857_cipherbliss_blog_226_convertir-son-archive-mastodon-en-html-et-obtenir-ses-statistiques-de-compte.gmi
|
|
||||||
=> 20200714142306_cipherbliss_blog_222_notes-de-reunion-et-avancement-de-framadate.gmi
|
|
||||||
=> 20200714140305_cipherbliss_blog_223_refonte-de-framadate-avec-api.gmi
|
|
||||||
=> 20200629115208_cipherbliss_blog_221_comment-resourdre-bd_crypto_luks_open_blob-called-but-not-implemented.gmi
|
|
||||||
=> 20200624172458_cipherbliss_blog_216_lancement-de-joinfediverse-org.gmi
|
|
||||||
=> 20200624163242_cipherbliss_blog_219_liberation-de-donnees-publiques-de-meluzine.gmi
|
|
||||||
=> 20200621115644_cipherbliss_blog_220_un-site-web-pour-le-club-informatique-et-libertes-de-gometz-le-chatel.gmi
|
|
||||||
=> 20200621111423_cipherbliss_blog_210_comment-developper-localement-son-mastodon.gmi
|
|
||||||
=> 20200621104759_cipherbliss_blog_218_entraide-locale-avec-des-affiches-et-un-pad-en-ligne.gmi
|
|
||||||
=> 20200531174005_cipherbliss_blog_212_2e-confinatelier-le-6-juin-2020.gmi
|
|
||||||
=> 20191211202710_cipherbliss_blog_209_changer-la-limite-de-caracteres-sur-son-instance-mastodon.gmi
|
|
||||||
=> 20191028100923_cipherbliss_les-plateformes-sociales-privatives.gmi
|
|
||||||
=> 20190831120846_cipherbliss_blog_204_comment-jai-quitte-facebook-et-google.gmi
|
|
||||||
=> 20190819145346_cipherbliss_blog_206_comment-se-faire-des-amis-sur-mastodon.gmi
|
|
||||||
=> 20190819144521_cipherbliss_blog_205_comment-devenir-un-artiste-a-succes-sur-mastodon.gmi
|
|
||||||
=> 20190725153826_cipherbliss_blog_203_comparaison-entre-openstreetmap-et-googlemap-googleknowsnothing.gmi
|
|
||||||
=> 20190721113842_cipherbliss_blog_202_mobilizon-a-reussi-son-financement-et-a-depasse-ses-objectifs.gmi
|
|
||||||
=> 20190721110110_cipherbliss_blog_201_lappel-du-collectif-nofakescience-sur-le-traitement-desastreux-de-la-science-dans-les-medias.gmi
|
|
||||||
=> 20190520154212_cipherbliss_blog_199_mobilizon-lance-son-financement-participatif-et-cartonne-tout-des-le-premier-jour.gmi
|
|
||||||
=> 20190517220740_cipherbliss_blog_198_bonus-du-documentaire-la-bataille-du-libre-sur-peertube.gmi
|
|
||||||
=> 20190511134441_cipherbliss_blog_197_ouverture-dun-canal-matrix-cipherbliss.gmi
|
|
||||||
=> 20190501195621_cipherbliss_blog_194_suivre-une-chaine-de-videos-par-flux-rss.gmi
|
|
||||||
=> 20190225140842_cipherbliss_blog_192_rester-relie-a-son-passe-via-les-reseaux-sociaux.gmi
|
|
||||||
=> 20190222134640_cipherbliss_blog_186_debuter-sur-openstreetmaps.gmi
|
|
||||||
=> 20190214123525_cipherbliss_blog_193_faire-son-propre-theme-mastodon.gmi
|
|
||||||
=> 20190118155715_cipherbliss_blog_191_byebye-facebook.gmi
|
|
||||||
=> 20190116162300_cipherbliss_blog_190_aaron-swartz-lenfant-dinternet.gmi
|
|
||||||
=> 20190116121335_cipherbliss_blog_189_on-a-besoin-de-competences-en-ux-design-dans-les-projets-libres.gmi
|
|
||||||
=> 20190109154442_cipherbliss_blog_187_une-vraie-matiere-de-programmation-informatique-au-lycee.gmi
|
|
||||||
=> 20181207152825_cipherbliss_blog_185_la-verite-cest-moi.gmi
|
|
||||||
=> 20181207144755_cipherbliss_blog_184_nos-donnees-personnelles-sont-collectives.gmi
|
|
||||||
=> 20181122111749_cipherbliss_blog_183_ajouter-la-meteo-a-votre-calendrier.gmi
|
|
||||||
=> 20181120164153_cipherbliss_blog_182_lister-ses-branches-git-par-ordre-de-commit-le-plus-recent.gmi
|
|
||||||
=> 20181119164812_cipherbliss_blog_181_comment-se-delester-de-la-charge-mentale.gmi
|
|
||||||
=> 20181026165415_cipherbliss_blog_180_envoyer-des-sms-depuis-son-ordinateur.gmi
|
|
||||||
=> 20181011163735_cipherbliss_blog_179_deplacer-le-dossier-de-donnees-de-nextcloud.gmi
|
|
||||||
=> 20181009143617_cipherbliss_blog_175_10-raisons-pour-lesquelles-lopen-source-est-bon-pour-les-affaires.gmi
|
|
||||||
=> 20180928165919_cipherbliss_blog_177_les-obstacles-les-plus-frequents-au-travail-dequipe.gmi
|
|
||||||
=> 20180924114743_cipherbliss_blog_176_astuce-pour-faire-son-compte-rendu-dactivite.gmi
|
|
||||||
=> 20180902213912_cipherbliss_blog_173_faites-un-previsionnel-de-vos-comptes-sur-caisse-bliss.gmi
|
|
||||||
=> 20180902122416_cipherbliss_blog_172_raccourcis-photoshop-pour-gimp-2-10.gmi
|
|
||||||
=> 20180822175551_cipherbliss_blog_132_le-trajet-le-plus-court-ou-le-plus-agreable.gmi
|
|
||||||
=> 20180822122238_cipherbliss_blog_150_comment-ne-pas-repartir-de-zero-a-chaque-nouvel-ordi.gmi
|
|
||||||
=> 20180818171429_cipherbliss_blog_171_linstanciation-dobjets-dans-blender-ou-les-particules-objets.gmi
|
|
||||||
=> 20180808170150_cipherbliss_blog_170_dedupliquer-ses-archives.gmi
|
|
||||||
=> 20180803160326_cipherbliss_blog_168_comment-ne-plus-perdre-de-temps-avec-ses-mots-de-passe.gmi
|
|
||||||
=> 20180713153958_cipherbliss_blog_167_la-detresse-emotionnelle-pour-installer-un-programme.gmi
|
|
||||||
=> 20180713152156_cipherbliss_blog_166_depasser-la-barriere-de-la-langue.gmi
|
|
||||||
=> 20180713144352_cipherbliss_blog_165_se-passer-de-google-pour-ses-agendas.gmi
|
|
||||||
=> 20180622152225_cipherbliss_blog_123_lhumilitie-dans-lignorance.gmi
|
|
||||||
=> 20180516162134_cipherbliss_blog_164_saviez-vous-que-la-pub-sur-le-net-vous-coute-de-largent.gmi
|
|
||||||
=> 20180511174728_cipherbliss_blog_163_vous-navez-rien-a-cacher-a-part-votre-vie-privee.gmi
|
|
||||||
=> 20180510102309_cipherbliss_blog_161_graphique-fraude-aux-entreprises-vs-fraude-au-chomage.gmi
|
|
||||||
=> 20180420163455_cipherbliss_blog_159_une-caisse-en-ligne-pour-les-exposants.gmi
|
|
||||||
=> 20180416180525_cipherbliss_blog_158_panopticlick-contre-le-pistage-de-navigation.gmi
|
|
||||||
=> 20180416174522_cipherbliss_blog_156_facebook-est-mort-vive-mastodon.gmi
|
|
||||||
=> 20180410171321_cipherbliss_blog_152_parlez-vous-le-bullshit-couramment.gmi
|
|
||||||
=> 20180327162442_cipherbliss_blog_155_certifiez-la-detention-et-la-date-dun-document-grace-a-lethereum.gmi
|
|
||||||
=> 20180302205637_cipherbliss_blog_154_formation-angular-pour-faire-un-jeu-dont-vous-etes-le-heros.gmi
|
|
||||||
=> 20180207120417_cipherbliss_blog_153_cest-du-tres-loud-du-tres-tres-lourd.gmi
|
|
||||||
=> 20180205150537_cipherbliss_blog_146_blockchain-bitcoins-ethereum-dogecoin.gmi
|
|
||||||
=> 20180126114802_cipherbliss_blog_149_recuperer-les-infos-de-votre-compteur-linky.gmi
|
|
||||||
=> 20180122113954_cipherbliss_blog_148_installer-owncloud-sur-ubuntu-server.gmi
|
|
||||||
=> 20180108225408_cipherbliss_blog_147_le-vent-est-puissant-avec-celui-ci.gmi
|
|
||||||
=> 20171218135235_cipherbliss_blog_144_comment-installer-domoticz-sur-un-raspberry-pi-2-ou-3.gmi
|
|
||||||
=> 20171105212700_cipherbliss_blog_142_comment-reduire-en-masse-plein-de-photos-avant-de-les-transmettre.gmi
|
|
||||||
=> 20171105212346_cipherbliss_blog_141_comment-enlever-les-informations-exif-de-vos-photos-avant-de-les-publier.gmi
|
|
||||||
=> 20171103212517_cipherbliss_blog_140_le-village-global-dinternet.gmi
|
|
||||||
=> 20171031135433_cipherbliss_blog_139_nos-autodafes-numeriques.gmi
|
|
||||||
=> 20171031134709_cipherbliss_blog_138_le-futur-ecologique-des-annees-2000-sera-t-il-realite.gmi
|
|
||||||
=> 20170927222054_cipherbliss_blog_131_lautohebergement-cest-tellement-bien.gmi
|
|
||||||
=> 20170922184451_cipherbliss_blog_133_techniques-de-gestion-de-temps-sur-projets-personnels.gmi
|
|
||||||
=> 20170921210232_cipherbliss_blog_137_statistiques-sur-les-fanzines-references-par-meluzine.gmi
|
|
||||||
=> 20170921205432_cipherbliss_blog_136_comment-desactiver-de-facon-permanente-le-mode-only-full-group-by-de-mysql.gmi
|
|
||||||
=> 20170709144828_cipherbliss_blog_135_restez-en-vie-luttez-contre-le-presenteisme.gmi
|
|
||||||
=> 20170611124222_cipherbliss_blog_134_quand-ton-migrateur-de-blog-vers-wordpress-fonctionne.gmi
|
|
||||||
=> 20170212124235_cipherbliss_blog_130_comment-faire-sa-compta-dentreprise-individuelle-dans-une-feuille-de-calcul.gmi
|
|
||||||
=> 20170203145717_cipherbliss_blog_129_comment-facebook-choisit-vos-amis-a-votre-place.gmi
|
|
||||||
=> 20161230120120_cipherbliss_blog_128_prendre-en-main-gimp-avec-les-raccourcis-de-photoshop.gmi
|
|
||||||
=> 20161226174242_cipherbliss_blog_127_faire-ses-factures-avec-libreoffice-ou-google-sheet.gmi
|
|
||||||
=> 20161023215104_cipherbliss_blog_126_reparer-louverture-de-liens-dans-chrome.gmi
|
|
||||||
=> 20161003140749_cipherbliss_blog_125_du-grand-art-avec-gimp.gmi
|
|
||||||
=> 20160925220750_cipherbliss_blog_124_ne-vous-dites-pas-programmeur.gmi
|
|
||||||
=> 20160905220655_cipherbliss_blog_122_quand-tu-fais-migrer-ton-equipe-vers-gitlab.gmi
|
|
||||||
=> 20160824153918_cipherbliss_blog_121_changer-lediteur-de-texte-associe-a-git.gmi
|
|
||||||
=> 20160726204835_cipherbliss_blog_1_la-galaxie-des-fanzines.gmi
|
|
||||||
=> 20160726092648_cipherbliss_blog_2_ubuntu-party-15-10.gmi
|
|
||||||
=> 20160726084700_cipherbliss_blog_3_exporter-une-visualisation-de-son-schma-sql.gmi
|
|
||||||
=> 20160726082722_cipherbliss_blog_4_le-dysoon-de-djo.gmi
|
|
||||||
=> 20160511192505_cipherbliss_blog_5_conversion-de-pdf-en-image-et-ocr.gmi
|
|
||||||
=> 20160510145657_cipherbliss_blog_6_retour-d-exprience.gmi
|
|
||||||
=> 20160421131007_cipherbliss_blog_7_le-petit-printf.gmi
|
|
||||||
=> 20160329171940_cipherbliss_blog_8_gulpifie-ton-prestashop.gmi
|
|
||||||
=> 20160304165040_cipherbliss_blog_9_amlioration-continue-de-l-quipe.gmi
|
|
||||||
=> 20160102110725_cipherbliss_blog_10_gestion-de-projet.gmi
|
|
||||||
=> 20151208091242_cipherbliss_blog_11_twig-et-angular.gmi
|
|
||||||
=> 20151122152143_cipherbliss_blog_12_convertir-les-fichiers-de-config-de-symfony2-facilement.gmi
|
|
||||||
=> 20151122094803_cipherbliss_blog_13_2-degrs-avant-la-fin-du-monde.gmi
|
|
||||||
=> 20151118165642_cipherbliss_blog_14_il-suffit.gmi
|
|
||||||
=> 20151118102152_cipherbliss_blog_15_dveloppez-le-commerce-localhost.gmi
|
|
||||||
=> 20151116113834_cipherbliss_blog_16_inspirer-les-femmes-prendre-les-postes-qui-faconnent-le-monde.gmi
|
|
||||||
=> 20151111123141_cipherbliss_blog_17_les-resources-du-blog-sur-github.gmi
|
|
||||||
=> 20151108152227_cipherbliss_blog_18_dbuter-sa-gestion-de-projet.gmi
|
|
||||||
=> 20151108115733_cipherbliss_blog_19_mise-en-forme-de-code-color-sur-votre-site.gmi
|
|
||||||
=> 20150925133619_cipherbliss_blog_20_dual-boot-windows-10-et-linux.gmi
|
|
||||||
=> 20150909150013_cipherbliss_blog_21_le-triangle-du-projet.gmi
|
|
||||||
=> 20150908121246_cipherbliss_blog_22_avoir-une-vie-prive.gmi
|
|
||||||
=> 20150722135638_cipherbliss_blog_23_les-couleurs-de-la-ratp-dans-sass.gmi
|
|
||||||
=> 20150706140018_cipherbliss_blog_24_des-live-templates-pour-angular-dans-intellij.gmi
|
|
||||||
=> 20150702150433_cipherbliss_blog_25_le-bash-de-vos-rves.gmi
|
|
||||||
=> 20150702142939_cipherbliss_blog_26_customiser-son-serveur.gmi
|
|
||||||
=> 20150701120014_cipherbliss_blog_27_des-tests-plus-rapides-avec-jasmine.gmi
|
|
||||||
=> 20150630151830_cipherbliss_blog_28_paye-ton-arrondi-en-js.gmi
|
|
||||||
=> 20150626210550_cipherbliss_blog_29_installer-cozy-cloud-sur-son-serveur-ubuntu-14-04.gmi
|
|
||||||
=> 20150617085410_cipherbliss_blog_30_convertir-un-projet-javascript-en-coffeescript.gmi
|
|
||||||
=> 20150604190842_cipherbliss_blog_31_se-crer-un-historique-complet-de-git-log.gmi
|
|
||||||
=> 20150514195327_cipherbliss_blog_32_gnrateur-angular-jeej.gmi
|
|
||||||
=> 20150422104016_cipherbliss_blog_33_whatis-love.gmi
|
|
||||||
=> 20150421092707_cipherbliss_blog_34_faites-bosser-internet-pour-vous-avec-if-this-then-that.gmi
|
|
||||||
=> 20150421090948_cipherbliss_blog_35_transfrer-des-fichiers-en-wifi-direct-entre-son-ordi-et-son-tel-android.gmi
|
|
||||||
=> 20150417112747_cipherbliss_blog_36_un-testament-par-e-mail.gmi
|
|
||||||
=> 20150417110334_cipherbliss_blog_37_calculez-votre-heure-de-rveil.gmi
|
|
||||||
=> 20150407142422_cipherbliss_blog_38_un-datepicker-dans-un-formulaire-symfony2.gmi
|
|
||||||
=> 20150330080405_cipherbliss_blog_39_les-dates-importantes-de-votre-vie.gmi
|
|
||||||
=> 20150330075127_cipherbliss_blog_40_les-24h-de-la-bd-et-autres-vnements-ont-leur-planning.gmi
|
|
||||||
=> 20150330074730_cipherbliss_blog_41_du-php-sexiste.gmi
|
|
||||||
=> 20150316092450_cipherbliss_blog_42_digital-learning-day-2015.gmi
|
|
||||||
=> 20150304150212_cipherbliss_blog_43_paye-ton-explication.gmi
|
|
||||||
=> 20150205134708_cipherbliss_blog_44_la-fte-des-passwords-et-la-neutralit-du-net.gmi
|
|
||||||
=> 20141219122836_cipherbliss_blog_45_la-filbre-optique-c-est-pas-gagn.gmi
|
|
||||||
=> 20141219122038_cipherbliss_blog_46_la-neutralit-du-net.gmi
|
|
||||||
=> 20141016105818_cipherbliss_blog_47_capturer-et-annoter-facilement.gmi
|
|
||||||
=> 20140910192438_cipherbliss_blog_48_signez-pour-la-neutralit-du-net.gmi
|
|
||||||
=> 20140904202028_cipherbliss_blog_49_schema-graphique-de-base-de-donnes.gmi
|
|
||||||
=> 20140904100304_cipherbliss_blog_50_la-thorie-des-chaines-de-caractre.gmi
|
|
||||||
=> 20140811095601_cipherbliss_blog_51_distributions-img-et-sauvegarde-de-carte-sd.gmi
|
|
||||||
=> 20140807135049_cipherbliss_blog_52_anti-hack-de-nfc.gmi
|
|
||||||
=> 20140728093301_cipherbliss_blog_53_installer-une-distribution-linux-sur-une-carte-sd-pour-le-raspberry-pi.gmi
|
|
||||||
=> 20140717112116_cipherbliss_blog_54_des-alternatives-plein-de-softwares.gmi
|
|
||||||
=> 20140604194801_cipherbliss_blog_55_fosuserbundle-could-not-convert-database-value-to-doctrine-type-array.gmi
|
|
||||||
=> 20140523102823_cipherbliss_blog_56_redimension-d-image-en-ligne-de-commande-avec-imagemagick.gmi
|
|
||||||
=> 20140509114349_cipherbliss_blog_57_wordpress-comment-ne-plus-demander-les-dtails-ftp-pour-mettre-jour.gmi
|
|
||||||
=> 20140413190834_cipherbliss_blog_58_symfony-et-apc.gmi
|
|
||||||
=> 20140411154209_cipherbliss_blog_59_raspberry-pi-case-en-papier.gmi
|
|
||||||
=> 20140405105316_cipherbliss_blog_60_perdu-de-recherche.gmi
|
|
||||||
=> 20140318204651_cipherbliss_blog_61_a-wizard-installing-software.gmi
|
|
||||||
=> 20140313130915_cipherbliss_blog_62_css-split-circles.gmi
|
|
||||||
=> 20140313130103_cipherbliss_blog_63_poids-des-slecteurs-css.gmi
|
|
||||||
=> 20140304202259_cipherbliss_blog_64_smartwatch-faite-maison-avec-l-aide-de-hong-kong.gmi
|
|
||||||
=> 20140212082847_cipherbliss_blog_65_zen-coding.gmi
|
|
||||||
=> 20140201214844_cipherbliss_blog_66_astuces-pour-ligne-de-commande-linux.gmi
|
|
||||||
=> 20140130100646_cipherbliss_blog_67_s-essayer-git-pas-pas.gmi
|
|
||||||
=> 20131207203655_cipherbliss_blog_68_afficher-le-jour-de-la-semaine-dans-la-barre-d-ubuntu.gmi
|
|
||||||
=> 20131206210739_cipherbliss_blog_69_importer-facilement-sa-base-de-donnes.gmi
|
|
||||||
=> 20131127221604_cipherbliss_blog_70_dcaler-les-sous-titres-dans-vlc-media-player.gmi
|
|
||||||
=> 20131126112903_cipherbliss_blog_71_alias-symfony-et-git-pour-linux.gmi
|
|
||||||
=> 20131014085745_cipherbliss_blog_72_rooter-galaxy-s3-et-cyanogenmod-10.gmi
|
|
||||||
=> 20130814130055_cipherbliss_blog_73_les-illtrs-technologiques-que-nous-sommes.gmi
|
|
||||||
=> 20130729142557_cipherbliss_blog_74_crer-des-alias-de-commande-windows-7.gmi
|
|
||||||
=> 20130725132546_cipherbliss_blog_75_redirection-dotclear.gmi
|
|
||||||
=> 20130606200412_cipherbliss_blog_76_navigo-c-est-pas-toujours-facile.gmi
|
|
||||||
=> 20130606200218_cipherbliss_blog_77_mangez-des-pommes.gmi
|
|
||||||
=> 20130606195819_cipherbliss_blog_78_clavier-lumineux.gmi
|
|
||||||
=> 20130605091107_cipherbliss_blog_79_faire-durer-4-jours-d-autonomie-un-galaxy-s3.gmi
|
|
||||||
=> 20130512213030_cipherbliss_blog_80_git-it-git-it-no-one-wants-to-be-defeated.gmi
|
|
||||||
=> 20130503135733_cipherbliss_blog_81_problme-avec-le-slecteur-css-last-child.gmi
|
|
||||||
=> 20130503073224_cipherbliss_blog_82_skype-sous-linux-debian-6-0.gmi
|
|
||||||
=> 20130502140046_cipherbliss_blog_83_une-autre-poque.gmi
|
|
||||||
=> 20130502064740_cipherbliss_blog_84_comment-tuer-git.gmi
|
|
||||||
=> 20130221135547_cipherbliss_blog_85_wampserveur-403-forbidden.gmi
|
|
||||||
=> 20130208125527_cipherbliss_blog_86_cache-manifest.gmi
|
|
||||||
=> 20121208192248_cipherbliss_blog_87_tethering-android-2.gmi
|
|
||||||
=> 20120917162837_cipherbliss_blog_88_bill-gates-vs-steve-jobs.gmi
|
|
||||||
=> 20120912132000_cipherbliss_blog_89_tutoriel-de-plugin-jquery.gmi
|
|
||||||
=> 20120912123209_cipherbliss_blog_90_tuto-comment-crer-un-plugin-jquery.gmi
|
|
||||||
=> 20120831204952_cipherbliss_blog_91_processus-com-motorola-service-main-s-est-arrt.gmi
|
|
||||||
=> 20120702120713_cipherbliss_blog_92_dclaration-de-l-internet-libre.gmi
|
|
||||||
=> 20120430050428_cipherbliss_blog_93_envoyer-des-mails-depuis-localhost.gmi
|
|
||||||
=> 20120425170530_cipherbliss_blog_94_changer-de-lecteur-de-code-source-dans-firefox.gmi
|
|
||||||
=> 20120423235600_cipherbliss_blog_95_stabilisation-vido-diteur-youtube.gmi
|
|
||||||
=> 20120320210224_cipherbliss_blog_96_tablette-qui-fait-sentir-des-textures.gmi
|
|
||||||
=> 20120215171320_cipherbliss_blog_97_technologie.gmi
|
|
||||||
=> 20120128054429_cipherbliss_blog_98_non-acta-manifestation-dans-toute-l-europe.gmi
|
|
||||||
=> 20120114182002_cipherbliss_blog_99_tron-legacy-les-effets-spciaux.gmi
|
|
||||||
=> 20120113231642_cipherbliss_blog_100_jusqu-o-peut-on-zoomer-dans-l-univers.gmi
|
|
||||||
=> 20120104110842_cipherbliss_blog_101_se-dbarrasser-de-ie-6.gmi
|
|
||||||
=> 20120102115840_cipherbliss_blog_102_entre-du-tgv-lyon-perrache-vue-conducteur.gmi
|
|
||||||
=> 20111227225952_cipherbliss_blog_103_internet-meme-database-know-your-meme.gmi
|
|
||||||
=> 20111219184902_cipherbliss_blog_104_fonction-random-picture.gmi
|
|
||||||
=> 20111219175754_cipherbliss_blog_105_dsignations-dans-une-quipe.gmi
|
|
||||||
=> 20111218231405_cipherbliss_blog_106_ne-souriez-pas-aux-inconnus.gmi
|
|
||||||
=> 20111209054553_cipherbliss_blog_107_un-peu-de-ralit-augmente-magique.gmi
|
|
||||||
=> 20111209042031_cipherbliss_blog_108_smartphone-voiture-pourquoi-choisir.gmi
|
|
||||||
=> 20111206044956_cipherbliss_blog_109_retour-haptique-haptic-feedback.gmi
|
|
||||||
=> 20111206041850_cipherbliss_blog_110_maison-l-preuve-des-zombies-et-des-tmoins-de-jovah.gmi
|
|
||||||
=> 20111206033912_cipherbliss_blog_111_lier-une-image-alatoire-dans-un-dossier.gmi
|
|
||||||
=> 20111204185751_cipherbliss_blog_112_my-first-crowbar-manette-pour-half-life.gmi
|
|
||||||
=> 20111202143254_cipherbliss_blog_113_url-maker-1-6-publier-des-liens-sans-avoir-les-crire.gmi
|
|
||||||
=> 20111201070237_cipherbliss_blog_114_dotclear-commenter-sans-tre-oblig-de-preview.gmi
|
|
||||||
=> 20111130170248_cipherbliss_blog_115_restauration-de-fichiers.gmi
|
|
||||||
=> 20111130155035_cipherbliss_blog_116_ninite-multi-installeur.gmi
|
|
||||||
=> 20111129174943_cipherbliss_blog_117_connaissances-de-base-en-tableur.gmi
|
|
||||||
=> 20111129161519_cipherbliss_blog_118_ssd-tuto-de-remplacement-sur-pc-portable-laptop.gmi
|
|
||||||
=> 20111129153113_cipherbliss_blog_119_geek-nerd-dork.gmi
|
|
||||||
=> 20111126170159_cipherbliss_blog_120_bienvenue-sur-informageek.gmi
|
|
@ -15,48 +15,48 @@
|
|||||||
|
|
||||||
le, hah! 2018-04-03T22:05:22Z 95
|
le, hah! 2018-04-03T22:05:22Z 95
|
||||||
hey les pouets! vous me conseillez quoi de beau comme espace de
|
hey les pouets! vous me conseillez quoi de beau comme espace de
|
||||||
coworking du côté d&apos Orsay ? 91 c'est dimanche et il fait beau, les
|
coworking du côté d' Orsay ? 91 c'est dimanche et il fait beau, les
|
||||||
cyclistes sont de sortie. fly safe Les gens 2018-05-06T07:33:32Z 91
|
cyclistes sont de sortie. fly safe Les gens 2018-05-06T07:33:32Z 91
|
||||||
aaaaaah bon matin les mastodontes! on a pas idée de se lever aussi tôt
|
aaaaaah bon matin les mastodontes! on a pas idée de se lever aussi tôt
|
||||||
2018-05-03T05:09:42Z 77 passer la moitié du temps chez la famille a
|
2018-05-03T05:09:42Z 77 passer la moitié du temps chez la famille a
|
||||||
dormi, ça c'est fait 2018-03-24T21:16:37Z 76 je sais pas pour vous mais
|
dormi, ça c'est fait 2018-03-24T21:16:37Z 76 je sais pas pour vous mais
|
||||||
je perds toute sociabilité dès que j&apos ai trop chaud.c&apos 71 ça se
|
je perds toute sociabilité dès que j' ai trop chaud.c' 71 ça se
|
||||||
situe comment sur le spectre transgenre la Cisjordanie ?
|
situe comment sur le spectre transgenre la Cisjordanie ?
|
||||||
2018-03-17T21:27:04Z 69 bonjour, je suis secrétaire et je me nomme Alain
|
2018-03-17T21:27:04Z 69 bonjour, je suis secrétaire et je me nomme Alain
|
||||||
Primante 2018-05-01T11:36:11Z 64 si Claude François était sur internet
|
Primante 2018-05-01T11:36:11Z 64 si Claude François était sur internet
|
||||||
il chanterait : " je n&apos 62 ah la bonne odeur de café dans le
|
il chanterait : " je n' 62 ah la bonne odeur de café dans le
|
||||||
placard de la cuisine 2018-05-05T19:37:04Z 62 et hop, quelques bitcoins
|
placard de la cuisine 2018-05-05T19:37:04Z 62 et hop, quelques bitcoins
|
||||||
de plus dans la cagnotte o/ 2018-05-05T12:09:49Z 60 hey les gens qui
|
de plus dans la cagnotte o/ 2018-05-05T12:09:49Z 60 hey les gens qui
|
||||||
avez des enfants ça vous arrive d&apos avoir du temps pour lire un livre
|
avez des enfants ça vous arrive d' avoir du temps pour lire un livre
|
||||||
ou un ebook? le seul moyen que j&apos 58 allez bonne manifestation de
|
ou un ebook? le seul moyen que j' 58 allez bonne manifestation de
|
||||||
demain tout le monde 2018-03-21T20:53:25Z 56 quand ton écran fait un
|
demain tout le monde 2018-03-21T20:53:25Z 56 quand ton écran fait un
|
||||||
bruit de criquets c&apos est le moment de se barrer en vacances 51 Pti
|
bruit de criquets c' est le moment de se barrer en vacances 51 Pti
|
||||||
tour en Vaporetto à Lyon bien chaleureux 2018-04-22T09:22:31Z 51 coucou
|
tour en Vaporetto à Lyon bien chaleureux 2018-04-22T09:22:31Z 51 coucou
|
||||||
la ville de Mâcon ! parce que c&apos est notre POJEEEET 46 aaaaah vos
|
la ville de Mâcon ! parce que c' est notre POJEEEET 46 aaaaah vos
|
||||||
gueules les emails de RGPD! 2018-05-25T08:48:28Z 45 hop café du matin.
|
gueules les emails de RGPD! 2018-05-25T08:48:28Z 45 hop café du matin.
|
||||||
oh wait déjà 11h30 2018-05-01T09:33:33Z 44 Bienvenue sur diaspora! Heu,
|
oh wait déjà 11h30 2018-05-01T09:33:33Z 44 Bienvenue sur diaspora! Heu,
|
||||||
mamoot 2017-06-03T20:38:48Z 42 quand tu réussis un truc en 2018 c&apos
|
mamoot 2017-06-03T20:38:48Z 42 quand tu réussis un truc en 2018 c'
|
||||||
est formi-DAB 42 est il de notoriété publique qu&apos un chantier de
|
est formi-DAB 42 est il de notoriété publique qu' un chantier de
|
||||||
maison ça avance toujours aussi lentement qu&apos 39 bonne mamans à
|
maison ça avance toujours aussi lentement qu' 39 bonne mamans à
|
||||||
toutes les fêtes! 2018-05-27T08:17:09Z 39 when you do a js class but
|
toutes les fêtes! 2018-05-27T08:17:09Z 39 when you do a js class but
|
||||||
don&apos t use this 38 bienvenue dans LE jour de l&apos année où on fait
|
don' t use this 38 bienvenue dans LE jour de l' année où on fait
|
||||||
attention que tout ce que l&apos 35 mieux vaux .tar que jamais
|
attention que tout ce que l' 35 mieux vaux .tar que jamais
|
||||||
2017-05-31T09:59:23Z 33 1,829 meters under 2018-03-21T20:52:53Z 25 lit
|
2017-05-31T09:59:23Z 33 1,829 meters under 2018-03-21T20:52:53Z 25 lit
|
||||||
bébé, délivré 2018-04-26T08:56:20Z 24 coucou Houilles!
|
bébé, délivré 2018-04-26T08:56:20Z 24 coucou Houilles!
|
||||||
2018-03-30T08:48:31Z 23 coucou Auxerre ! 2018-04-21T07:02:55Z 23 en vaut
|
2018-03-30T08:48:31Z 23 coucou Auxerre ! 2018-04-21T07:02:55Z 23 en vaut
|
||||||
deux 2018-04-02T10:43:09Z 19 ptain c&apos est tellement moche de devoir
|
deux 2018-04-02T10:43:09Z 19 ptain c' est tellement moche de devoir
|
||||||
reconduire de la voiture thermique auprès avoir acheté une électrique.
|
reconduire de la voiture thermique auprès avoir acheté une électrique.
|
||||||
c&apos 15 quelqu&apos un sait ce qui délimite les toots mis en local ?
|
c' 15 quelqu' un sait ce qui délimite les toots mis en local ?
|
||||||
ceux postés par des gens inscris sur mamot.fr vs le reste du monde ? *o*
|
ceux postés par des gens inscris sur mamot.fr vs le reste du monde ? *o*
|
||||||
14 quelqu&apos un saurait m&apos 14 bon c&apos est pas grave j&apos 13
|
14 quelqu' un saurait m' 14 bon c' est pas grave j' 13
|
||||||
was c&apos est presque aussi cher que le café à 7 euros que j&apos 13
|
was c' est presque aussi cher que le café à 7 euros que j' 13
|
||||||
rha c&apos est moche les gens bourrés sur l&apos 13 Let&apos s see what
|
rha c' est moche les gens bourrés sur l' 13 Let' s see what
|
||||||
is running here. Not me 11 j&apos aurai bien soutenu financièrement les
|
is running here. Not me 11 j' aurai bien soutenu financièrement les
|
||||||
cheminots avec le pot commun mais ce site est archi buggé 9 c&apos est
|
cheminots avec le pot commun mais ce site est archi buggé 9 c' est
|
||||||
un peu mignon ici 9 c&apos est parti pour la fête à Macron 9 "
|
un peu mignon ici 9 c' est parti pour la fête à Macron 9 "
|
||||||
Businesses that make money by collecting and selling detailed records of
|
Businesses that make money by collecting and selling detailed records of
|
||||||
private lives were once plainly described as " 8 " bonjour je
|
private lives were once plainly described as " 8 " bonjour je
|
||||||
m&apos 8 0
|
m' 8 0
|
||||||
|
|
||||||
|
|
||||||
* Liens
|
* Liens
|
||||||
|
@ -1,174 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<meta name="generator" content="pandoc" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
|
||||||
<title>tykayn_blog</title>
|
|
||||||
<style>
|
|
||||||
html {
|
|
||||||
color: #1a1a1a;
|
|
||||||
background-color: #fdfdfd;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
margin: 0 auto;
|
|
||||||
max-width: 36em;
|
|
||||||
padding-left: 50px;
|
|
||||||
padding-right: 50px;
|
|
||||||
padding-top: 50px;
|
|
||||||
padding-bottom: 50px;
|
|
||||||
hyphens: auto;
|
|
||||||
overflow-wrap: break-word;
|
|
||||||
text-rendering: optimizeLegibility;
|
|
||||||
font-kerning: normal;
|
|
||||||
}
|
|
||||||
@media (max-width: 600px) {
|
|
||||||
body {
|
|
||||||
font-size: 0.9em;
|
|
||||||
padding: 12px;
|
|
||||||
}
|
|
||||||
h1 {
|
|
||||||
font-size: 1.8em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media print {
|
|
||||||
html {
|
|
||||||
background-color: white;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
background-color: transparent;
|
|
||||||
color: black;
|
|
||||||
font-size: 12pt;
|
|
||||||
}
|
|
||||||
p, h2, h3 {
|
|
||||||
orphans: 3;
|
|
||||||
widows: 3;
|
|
||||||
}
|
|
||||||
h2, h3, h4 {
|
|
||||||
page-break-after: avoid;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
p {
|
|
||||||
margin: 1em 0;
|
|
||||||
}
|
|
||||||
a {
|
|
||||||
color: #1a1a1a;
|
|
||||||
}
|
|
||||||
a:visited {
|
|
||||||
color: #1a1a1a;
|
|
||||||
}
|
|
||||||
img {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
h1, h2, h3, h4, h5, h6 {
|
|
||||||
margin-top: 1.4em;
|
|
||||||
}
|
|
||||||
h5, h6 {
|
|
||||||
font-size: 1em;
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
h6 {
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
ol, ul {
|
|
||||||
padding-left: 1.7em;
|
|
||||||
margin-top: 1em;
|
|
||||||
}
|
|
||||||
li > ol, li > ul {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
blockquote {
|
|
||||||
margin: 1em 0 1em 1.7em;
|
|
||||||
padding-left: 1em;
|
|
||||||
border-left: 2px solid #e6e6e6;
|
|
||||||
color: #606060;
|
|
||||||
}
|
|
||||||
code {
|
|
||||||
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
|
|
||||||
font-size: 85%;
|
|
||||||
margin: 0;
|
|
||||||
hyphens: manual;
|
|
||||||
}
|
|
||||||
pre {
|
|
||||||
margin: 1em 0;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
pre code {
|
|
||||||
padding: 0;
|
|
||||||
overflow: visible;
|
|
||||||
overflow-wrap: normal;
|
|
||||||
}
|
|
||||||
.sourceCode {
|
|
||||||
background-color: transparent;
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
hr {
|
|
||||||
background-color: #1a1a1a;
|
|
||||||
border: none;
|
|
||||||
height: 1px;
|
|
||||||
margin: 1em 0;
|
|
||||||
}
|
|
||||||
table {
|
|
||||||
margin: 1em 0;
|
|
||||||
border-collapse: collapse;
|
|
||||||
width: 100%;
|
|
||||||
overflow-x: auto;
|
|
||||||
display: block;
|
|
||||||
font-variant-numeric: lining-nums tabular-nums;
|
|
||||||
}
|
|
||||||
table caption {
|
|
||||||
margin-bottom: 0.75em;
|
|
||||||
}
|
|
||||||
tbody {
|
|
||||||
margin-top: 0.5em;
|
|
||||||
border-top: 1px solid #1a1a1a;
|
|
||||||
border-bottom: 1px solid #1a1a1a;
|
|
||||||
}
|
|
||||||
th {
|
|
||||||
border-top: 1px solid #1a1a1a;
|
|
||||||
padding: 0.25em 0.5em 0.25em 0.5em;
|
|
||||||
}
|
|
||||||
td {
|
|
||||||
padding: 0.125em 0.5em 0.25em 0.5em;
|
|
||||||
}
|
|
||||||
header {
|
|
||||||
margin-bottom: 4em;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
#TOC li {
|
|
||||||
list-style: none;
|
|
||||||
}
|
|
||||||
#TOC ul {
|
|
||||||
padding-left: 1.3em;
|
|
||||||
}
|
|
||||||
#TOC > ul {
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
#TOC a:not(:hover) {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
code{white-space: pre-wrap;}
|
|
||||||
span.smallcaps{font-variant: small-caps;}
|
|
||||||
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
|
||||||
div.column{flex: auto; overflow-x: auto;}
|
|
||||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
|
||||||
/* The extra [class] is a hack that increases specificity enough to
|
|
||||||
override a similar rule in reveal.js */
|
|
||||||
ul.task-list[class]{list-style: none;}
|
|
||||||
ul.task-list li input[type="checkbox"] {
|
|
||||||
font-size: inherit;
|
|
||||||
width: 0.8em;
|
|
||||||
margin: 0 0.8em 0.2em -1.6em;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<header id="title-block-header">
|
|
||||||
<h1 class="title">tykayn_blog</h1>
|
|
||||||
</header>
|
|
||||||
<h1 id="à-propos">à propos</h1>
|
|
||||||
<p>à propos de ce site</p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,174 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<meta name="generator" content="pandoc" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
|
||||||
<title>tykayn_blog</title>
|
|
||||||
<style>
|
|
||||||
html {
|
|
||||||
color: #1a1a1a;
|
|
||||||
background-color: #fdfdfd;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
margin: 0 auto;
|
|
||||||
max-width: 36em;
|
|
||||||
padding-left: 50px;
|
|
||||||
padding-right: 50px;
|
|
||||||
padding-top: 50px;
|
|
||||||
padding-bottom: 50px;
|
|
||||||
hyphens: auto;
|
|
||||||
overflow-wrap: break-word;
|
|
||||||
text-rendering: optimizeLegibility;
|
|
||||||
font-kerning: normal;
|
|
||||||
}
|
|
||||||
@media (max-width: 600px) {
|
|
||||||
body {
|
|
||||||
font-size: 0.9em;
|
|
||||||
padding: 12px;
|
|
||||||
}
|
|
||||||
h1 {
|
|
||||||
font-size: 1.8em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media print {
|
|
||||||
html {
|
|
||||||
background-color: white;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
background-color: transparent;
|
|
||||||
color: black;
|
|
||||||
font-size: 12pt;
|
|
||||||
}
|
|
||||||
p, h2, h3 {
|
|
||||||
orphans: 3;
|
|
||||||
widows: 3;
|
|
||||||
}
|
|
||||||
h2, h3, h4 {
|
|
||||||
page-break-after: avoid;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
p {
|
|
||||||
margin: 1em 0;
|
|
||||||
}
|
|
||||||
a {
|
|
||||||
color: #1a1a1a;
|
|
||||||
}
|
|
||||||
a:visited {
|
|
||||||
color: #1a1a1a;
|
|
||||||
}
|
|
||||||
img {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
h1, h2, h3, h4, h5, h6 {
|
|
||||||
margin-top: 1.4em;
|
|
||||||
}
|
|
||||||
h5, h6 {
|
|
||||||
font-size: 1em;
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
h6 {
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
ol, ul {
|
|
||||||
padding-left: 1.7em;
|
|
||||||
margin-top: 1em;
|
|
||||||
}
|
|
||||||
li > ol, li > ul {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
blockquote {
|
|
||||||
margin: 1em 0 1em 1.7em;
|
|
||||||
padding-left: 1em;
|
|
||||||
border-left: 2px solid #e6e6e6;
|
|
||||||
color: #606060;
|
|
||||||
}
|
|
||||||
code {
|
|
||||||
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
|
|
||||||
font-size: 85%;
|
|
||||||
margin: 0;
|
|
||||||
hyphens: manual;
|
|
||||||
}
|
|
||||||
pre {
|
|
||||||
margin: 1em 0;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
pre code {
|
|
||||||
padding: 0;
|
|
||||||
overflow: visible;
|
|
||||||
overflow-wrap: normal;
|
|
||||||
}
|
|
||||||
.sourceCode {
|
|
||||||
background-color: transparent;
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
hr {
|
|
||||||
background-color: #1a1a1a;
|
|
||||||
border: none;
|
|
||||||
height: 1px;
|
|
||||||
margin: 1em 0;
|
|
||||||
}
|
|
||||||
table {
|
|
||||||
margin: 1em 0;
|
|
||||||
border-collapse: collapse;
|
|
||||||
width: 100%;
|
|
||||||
overflow-x: auto;
|
|
||||||
display: block;
|
|
||||||
font-variant-numeric: lining-nums tabular-nums;
|
|
||||||
}
|
|
||||||
table caption {
|
|
||||||
margin-bottom: 0.75em;
|
|
||||||
}
|
|
||||||
tbody {
|
|
||||||
margin-top: 0.5em;
|
|
||||||
border-top: 1px solid #1a1a1a;
|
|
||||||
border-bottom: 1px solid #1a1a1a;
|
|
||||||
}
|
|
||||||
th {
|
|
||||||
border-top: 1px solid #1a1a1a;
|
|
||||||
padding: 0.25em 0.5em 0.25em 0.5em;
|
|
||||||
}
|
|
||||||
td {
|
|
||||||
padding: 0.125em 0.5em 0.25em 0.5em;
|
|
||||||
}
|
|
||||||
header {
|
|
||||||
margin-bottom: 4em;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
#TOC li {
|
|
||||||
list-style: none;
|
|
||||||
}
|
|
||||||
#TOC ul {
|
|
||||||
padding-left: 1.3em;
|
|
||||||
}
|
|
||||||
#TOC > ul {
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
#TOC a:not(:hover) {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
code{white-space: pre-wrap;}
|
|
||||||
span.smallcaps{font-variant: small-caps;}
|
|
||||||
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
|
||||||
div.column{flex: auto; overflow-x: auto;}
|
|
||||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
|
||||||
/* The extra [class] is a hack that increases specificity enough to
|
|
||||||
override a similar rule in reveal.js */
|
|
||||||
ul.task-list[class]{list-style: none;}
|
|
||||||
ul.task-list li input[type="checkbox"] {
|
|
||||||
font-size: inherit;
|
|
||||||
width: 0.8em;
|
|
||||||
margin: 0 0.8em 0.2em -1.6em;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<header id="title-block-header">
|
|
||||||
<h1 class="title">tykayn_blog</h1>
|
|
||||||
</header>
|
|
||||||
<h1 id="accueil">Accueil</h1>
|
|
||||||
<p>hello les gens.</p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,176 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<meta name="generator" content="pandoc" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
|
||||||
<title>tykayn_blog</title>
|
|
||||||
<style>
|
|
||||||
html {
|
|
||||||
color: #1a1a1a;
|
|
||||||
background-color: #fdfdfd;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
margin: 0 auto;
|
|
||||||
max-width: 36em;
|
|
||||||
padding-left: 50px;
|
|
||||||
padding-right: 50px;
|
|
||||||
padding-top: 50px;
|
|
||||||
padding-bottom: 50px;
|
|
||||||
hyphens: auto;
|
|
||||||
overflow-wrap: break-word;
|
|
||||||
text-rendering: optimizeLegibility;
|
|
||||||
font-kerning: normal;
|
|
||||||
}
|
|
||||||
@media (max-width: 600px) {
|
|
||||||
body {
|
|
||||||
font-size: 0.9em;
|
|
||||||
padding: 12px;
|
|
||||||
}
|
|
||||||
h1 {
|
|
||||||
font-size: 1.8em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media print {
|
|
||||||
html {
|
|
||||||
background-color: white;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
background-color: transparent;
|
|
||||||
color: black;
|
|
||||||
font-size: 12pt;
|
|
||||||
}
|
|
||||||
p, h2, h3 {
|
|
||||||
orphans: 3;
|
|
||||||
widows: 3;
|
|
||||||
}
|
|
||||||
h2, h3, h4 {
|
|
||||||
page-break-after: avoid;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
p {
|
|
||||||
margin: 1em 0;
|
|
||||||
}
|
|
||||||
a {
|
|
||||||
color: #1a1a1a;
|
|
||||||
}
|
|
||||||
a:visited {
|
|
||||||
color: #1a1a1a;
|
|
||||||
}
|
|
||||||
img {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
h1, h2, h3, h4, h5, h6 {
|
|
||||||
margin-top: 1.4em;
|
|
||||||
}
|
|
||||||
h5, h6 {
|
|
||||||
font-size: 1em;
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
h6 {
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
ol, ul {
|
|
||||||
padding-left: 1.7em;
|
|
||||||
margin-top: 1em;
|
|
||||||
}
|
|
||||||
li > ol, li > ul {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
blockquote {
|
|
||||||
margin: 1em 0 1em 1.7em;
|
|
||||||
padding-left: 1em;
|
|
||||||
border-left: 2px solid #e6e6e6;
|
|
||||||
color: #606060;
|
|
||||||
}
|
|
||||||
code {
|
|
||||||
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
|
|
||||||
font-size: 85%;
|
|
||||||
margin: 0;
|
|
||||||
hyphens: manual;
|
|
||||||
}
|
|
||||||
pre {
|
|
||||||
margin: 1em 0;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
pre code {
|
|
||||||
padding: 0;
|
|
||||||
overflow: visible;
|
|
||||||
overflow-wrap: normal;
|
|
||||||
}
|
|
||||||
.sourceCode {
|
|
||||||
background-color: transparent;
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
hr {
|
|
||||||
background-color: #1a1a1a;
|
|
||||||
border: none;
|
|
||||||
height: 1px;
|
|
||||||
margin: 1em 0;
|
|
||||||
}
|
|
||||||
table {
|
|
||||||
margin: 1em 0;
|
|
||||||
border-collapse: collapse;
|
|
||||||
width: 100%;
|
|
||||||
overflow-x: auto;
|
|
||||||
display: block;
|
|
||||||
font-variant-numeric: lining-nums tabular-nums;
|
|
||||||
}
|
|
||||||
table caption {
|
|
||||||
margin-bottom: 0.75em;
|
|
||||||
}
|
|
||||||
tbody {
|
|
||||||
margin-top: 0.5em;
|
|
||||||
border-top: 1px solid #1a1a1a;
|
|
||||||
border-bottom: 1px solid #1a1a1a;
|
|
||||||
}
|
|
||||||
th {
|
|
||||||
border-top: 1px solid #1a1a1a;
|
|
||||||
padding: 0.25em 0.5em 0.25em 0.5em;
|
|
||||||
}
|
|
||||||
td {
|
|
||||||
padding: 0.125em 0.5em 0.25em 0.5em;
|
|
||||||
}
|
|
||||||
header {
|
|
||||||
margin-bottom: 4em;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
#TOC li {
|
|
||||||
list-style: none;
|
|
||||||
}
|
|
||||||
#TOC ul {
|
|
||||||
padding-left: 1.3em;
|
|
||||||
}
|
|
||||||
#TOC > ul {
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
#TOC a:not(:hover) {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
code{white-space: pre-wrap;}
|
|
||||||
span.smallcaps{font-variant: small-caps;}
|
|
||||||
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
|
||||||
div.column{flex: auto; overflow-x: auto;}
|
|
||||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
|
||||||
/* The extra [class] is a hack that increases specificity enough to
|
|
||||||
override a similar rule in reveal.js */
|
|
||||||
ul.task-list[class]{list-style: none;}
|
|
||||||
ul.task-list li input[type="checkbox"] {
|
|
||||||
font-size: inherit;
|
|
||||||
width: 0.8em;
|
|
||||||
margin: 0 0.8em 0.2em -1.6em;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<header id="title-block-header">
|
|
||||||
<h1 class="title">tykayn_blog</h1>
|
|
||||||
</header>
|
|
||||||
<h1 id="blogs-recommandés">Blogs recommandés</h1>
|
|
||||||
<ul>
|
|
||||||
<li></li>
|
|
||||||
</ul>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,173 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<meta name="generator" content="pandoc" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
|
||||||
<title>tykayn_blog</title>
|
|
||||||
<style>
|
|
||||||
html {
|
|
||||||
color: #1a1a1a;
|
|
||||||
background-color: #fdfdfd;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
margin: 0 auto;
|
|
||||||
max-width: 36em;
|
|
||||||
padding-left: 50px;
|
|
||||||
padding-right: 50px;
|
|
||||||
padding-top: 50px;
|
|
||||||
padding-bottom: 50px;
|
|
||||||
hyphens: auto;
|
|
||||||
overflow-wrap: break-word;
|
|
||||||
text-rendering: optimizeLegibility;
|
|
||||||
font-kerning: normal;
|
|
||||||
}
|
|
||||||
@media (max-width: 600px) {
|
|
||||||
body {
|
|
||||||
font-size: 0.9em;
|
|
||||||
padding: 12px;
|
|
||||||
}
|
|
||||||
h1 {
|
|
||||||
font-size: 1.8em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media print {
|
|
||||||
html {
|
|
||||||
background-color: white;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
background-color: transparent;
|
|
||||||
color: black;
|
|
||||||
font-size: 12pt;
|
|
||||||
}
|
|
||||||
p, h2, h3 {
|
|
||||||
orphans: 3;
|
|
||||||
widows: 3;
|
|
||||||
}
|
|
||||||
h2, h3, h4 {
|
|
||||||
page-break-after: avoid;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
p {
|
|
||||||
margin: 1em 0;
|
|
||||||
}
|
|
||||||
a {
|
|
||||||
color: #1a1a1a;
|
|
||||||
}
|
|
||||||
a:visited {
|
|
||||||
color: #1a1a1a;
|
|
||||||
}
|
|
||||||
img {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
h1, h2, h3, h4, h5, h6 {
|
|
||||||
margin-top: 1.4em;
|
|
||||||
}
|
|
||||||
h5, h6 {
|
|
||||||
font-size: 1em;
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
h6 {
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
ol, ul {
|
|
||||||
padding-left: 1.7em;
|
|
||||||
margin-top: 1em;
|
|
||||||
}
|
|
||||||
li > ol, li > ul {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
blockquote {
|
|
||||||
margin: 1em 0 1em 1.7em;
|
|
||||||
padding-left: 1em;
|
|
||||||
border-left: 2px solid #e6e6e6;
|
|
||||||
color: #606060;
|
|
||||||
}
|
|
||||||
code {
|
|
||||||
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
|
|
||||||
font-size: 85%;
|
|
||||||
margin: 0;
|
|
||||||
hyphens: manual;
|
|
||||||
}
|
|
||||||
pre {
|
|
||||||
margin: 1em 0;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
pre code {
|
|
||||||
padding: 0;
|
|
||||||
overflow: visible;
|
|
||||||
overflow-wrap: normal;
|
|
||||||
}
|
|
||||||
.sourceCode {
|
|
||||||
background-color: transparent;
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
hr {
|
|
||||||
background-color: #1a1a1a;
|
|
||||||
border: none;
|
|
||||||
height: 1px;
|
|
||||||
margin: 1em 0;
|
|
||||||
}
|
|
||||||
table {
|
|
||||||
margin: 1em 0;
|
|
||||||
border-collapse: collapse;
|
|
||||||
width: 100%;
|
|
||||||
overflow-x: auto;
|
|
||||||
display: block;
|
|
||||||
font-variant-numeric: lining-nums tabular-nums;
|
|
||||||
}
|
|
||||||
table caption {
|
|
||||||
margin-bottom: 0.75em;
|
|
||||||
}
|
|
||||||
tbody {
|
|
||||||
margin-top: 0.5em;
|
|
||||||
border-top: 1px solid #1a1a1a;
|
|
||||||
border-bottom: 1px solid #1a1a1a;
|
|
||||||
}
|
|
||||||
th {
|
|
||||||
border-top: 1px solid #1a1a1a;
|
|
||||||
padding: 0.25em 0.5em 0.25em 0.5em;
|
|
||||||
}
|
|
||||||
td {
|
|
||||||
padding: 0.125em 0.5em 0.25em 0.5em;
|
|
||||||
}
|
|
||||||
header {
|
|
||||||
margin-bottom: 4em;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
#TOC li {
|
|
||||||
list-style: none;
|
|
||||||
}
|
|
||||||
#TOC ul {
|
|
||||||
padding-left: 1.3em;
|
|
||||||
}
|
|
||||||
#TOC > ul {
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
#TOC a:not(:hover) {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
code{white-space: pre-wrap;}
|
|
||||||
span.smallcaps{font-variant: small-caps;}
|
|
||||||
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
|
||||||
div.column{flex: auto; overflow-x: auto;}
|
|
||||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
|
||||||
/* The extra [class] is a hack that increases specificity enough to
|
|
||||||
override a similar rule in reveal.js */
|
|
||||||
ul.task-list[class]{list-style: none;}
|
|
||||||
ul.task-list li input[type="checkbox"] {
|
|
||||||
font-size: inherit;
|
|
||||||
width: 0.8em;
|
|
||||||
margin: 0 0.8em 0.2em -1.6em;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<header id="title-block-header">
|
|
||||||
<h1 class="title">tykayn_blog</h1>
|
|
||||||
</header>
|
|
||||||
<h1 id="contact">Contact</h1>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,175 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<meta name="generator" content="pandoc" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
|
||||||
<title>tykayn_blog</title>
|
|
||||||
<style>
|
|
||||||
html {
|
|
||||||
color: #1a1a1a;
|
|
||||||
background-color: #fdfdfd;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
margin: 0 auto;
|
|
||||||
max-width: 36em;
|
|
||||||
padding-left: 50px;
|
|
||||||
padding-right: 50px;
|
|
||||||
padding-top: 50px;
|
|
||||||
padding-bottom: 50px;
|
|
||||||
hyphens: auto;
|
|
||||||
overflow-wrap: break-word;
|
|
||||||
text-rendering: optimizeLegibility;
|
|
||||||
font-kerning: normal;
|
|
||||||
}
|
|
||||||
@media (max-width: 600px) {
|
|
||||||
body {
|
|
||||||
font-size: 0.9em;
|
|
||||||
padding: 12px;
|
|
||||||
}
|
|
||||||
h1 {
|
|
||||||
font-size: 1.8em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media print {
|
|
||||||
html {
|
|
||||||
background-color: white;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
background-color: transparent;
|
|
||||||
color: black;
|
|
||||||
font-size: 12pt;
|
|
||||||
}
|
|
||||||
p, h2, h3 {
|
|
||||||
orphans: 3;
|
|
||||||
widows: 3;
|
|
||||||
}
|
|
||||||
h2, h3, h4 {
|
|
||||||
page-break-after: avoid;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
p {
|
|
||||||
margin: 1em 0;
|
|
||||||
}
|
|
||||||
a {
|
|
||||||
color: #1a1a1a;
|
|
||||||
}
|
|
||||||
a:visited {
|
|
||||||
color: #1a1a1a;
|
|
||||||
}
|
|
||||||
img {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
h1, h2, h3, h4, h5, h6 {
|
|
||||||
margin-top: 1.4em;
|
|
||||||
}
|
|
||||||
h5, h6 {
|
|
||||||
font-size: 1em;
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
h6 {
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
ol, ul {
|
|
||||||
padding-left: 1.7em;
|
|
||||||
margin-top: 1em;
|
|
||||||
}
|
|
||||||
li > ol, li > ul {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
blockquote {
|
|
||||||
margin: 1em 0 1em 1.7em;
|
|
||||||
padding-left: 1em;
|
|
||||||
border-left: 2px solid #e6e6e6;
|
|
||||||
color: #606060;
|
|
||||||
}
|
|
||||||
code {
|
|
||||||
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
|
|
||||||
font-size: 85%;
|
|
||||||
margin: 0;
|
|
||||||
hyphens: manual;
|
|
||||||
}
|
|
||||||
pre {
|
|
||||||
margin: 1em 0;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
pre code {
|
|
||||||
padding: 0;
|
|
||||||
overflow: visible;
|
|
||||||
overflow-wrap: normal;
|
|
||||||
}
|
|
||||||
.sourceCode {
|
|
||||||
background-color: transparent;
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
hr {
|
|
||||||
background-color: #1a1a1a;
|
|
||||||
border: none;
|
|
||||||
height: 1px;
|
|
||||||
margin: 1em 0;
|
|
||||||
}
|
|
||||||
table {
|
|
||||||
margin: 1em 0;
|
|
||||||
border-collapse: collapse;
|
|
||||||
width: 100%;
|
|
||||||
overflow-x: auto;
|
|
||||||
display: block;
|
|
||||||
font-variant-numeric: lining-nums tabular-nums;
|
|
||||||
}
|
|
||||||
table caption {
|
|
||||||
margin-bottom: 0.75em;
|
|
||||||
}
|
|
||||||
tbody {
|
|
||||||
margin-top: 0.5em;
|
|
||||||
border-top: 1px solid #1a1a1a;
|
|
||||||
border-bottom: 1px solid #1a1a1a;
|
|
||||||
}
|
|
||||||
th {
|
|
||||||
border-top: 1px solid #1a1a1a;
|
|
||||||
padding: 0.25em 0.5em 0.25em 0.5em;
|
|
||||||
}
|
|
||||||
td {
|
|
||||||
padding: 0.125em 0.5em 0.25em 0.5em;
|
|
||||||
}
|
|
||||||
header {
|
|
||||||
margin-bottom: 4em;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
#TOC li {
|
|
||||||
list-style: none;
|
|
||||||
}
|
|
||||||
#TOC ul {
|
|
||||||
padding-left: 1.3em;
|
|
||||||
}
|
|
||||||
#TOC > ul {
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
#TOC a:not(:hover) {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
code{white-space: pre-wrap;}
|
|
||||||
span.smallcaps{font-variant: small-caps;}
|
|
||||||
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
|
||||||
div.column{flex: auto; overflow-x: auto;}
|
|
||||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
|
||||||
/* The extra [class] is a hack that increases specificity enough to
|
|
||||||
override a similar rule in reveal.js */
|
|
||||||
ul.task-list[class]{list-style: none;}
|
|
||||||
ul.task-list li input[type="checkbox"] {
|
|
||||||
font-size: inherit;
|
|
||||||
width: 0.8em;
|
|
||||||
margin: 0 0.8em 0.2em -1.6em;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<header id="title-block-header">
|
|
||||||
<h1 class="title">tykayn_blog</h1>
|
|
||||||
</header>
|
|
||||||
<hr />
|
|
||||||
<p>Écrit par Tykayn. Si vous aimez ce que nous faisons, soutenez
|
|
||||||
vous</p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,176 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<meta name="generator" content="pandoc" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
|
||||||
<title>tykayn_blog</title>
|
|
||||||
<style>
|
|
||||||
html {
|
|
||||||
color: #1a1a1a;
|
|
||||||
background-color: #fdfdfd;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
margin: 0 auto;
|
|
||||||
max-width: 36em;
|
|
||||||
padding-left: 50px;
|
|
||||||
padding-right: 50px;
|
|
||||||
padding-top: 50px;
|
|
||||||
padding-bottom: 50px;
|
|
||||||
hyphens: auto;
|
|
||||||
overflow-wrap: break-word;
|
|
||||||
text-rendering: optimizeLegibility;
|
|
||||||
font-kerning: normal;
|
|
||||||
}
|
|
||||||
@media (max-width: 600px) {
|
|
||||||
body {
|
|
||||||
font-size: 0.9em;
|
|
||||||
padding: 12px;
|
|
||||||
}
|
|
||||||
h1 {
|
|
||||||
font-size: 1.8em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media print {
|
|
||||||
html {
|
|
||||||
background-color: white;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
background-color: transparent;
|
|
||||||
color: black;
|
|
||||||
font-size: 12pt;
|
|
||||||
}
|
|
||||||
p, h2, h3 {
|
|
||||||
orphans: 3;
|
|
||||||
widows: 3;
|
|
||||||
}
|
|
||||||
h2, h3, h4 {
|
|
||||||
page-break-after: avoid;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
p {
|
|
||||||
margin: 1em 0;
|
|
||||||
}
|
|
||||||
a {
|
|
||||||
color: #1a1a1a;
|
|
||||||
}
|
|
||||||
a:visited {
|
|
||||||
color: #1a1a1a;
|
|
||||||
}
|
|
||||||
img {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
h1, h2, h3, h4, h5, h6 {
|
|
||||||
margin-top: 1.4em;
|
|
||||||
}
|
|
||||||
h5, h6 {
|
|
||||||
font-size: 1em;
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
h6 {
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
ol, ul {
|
|
||||||
padding-left: 1.7em;
|
|
||||||
margin-top: 1em;
|
|
||||||
}
|
|
||||||
li > ol, li > ul {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
blockquote {
|
|
||||||
margin: 1em 0 1em 1.7em;
|
|
||||||
padding-left: 1em;
|
|
||||||
border-left: 2px solid #e6e6e6;
|
|
||||||
color: #606060;
|
|
||||||
}
|
|
||||||
code {
|
|
||||||
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
|
|
||||||
font-size: 85%;
|
|
||||||
margin: 0;
|
|
||||||
hyphens: manual;
|
|
||||||
}
|
|
||||||
pre {
|
|
||||||
margin: 1em 0;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
pre code {
|
|
||||||
padding: 0;
|
|
||||||
overflow: visible;
|
|
||||||
overflow-wrap: normal;
|
|
||||||
}
|
|
||||||
.sourceCode {
|
|
||||||
background-color: transparent;
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
hr {
|
|
||||||
background-color: #1a1a1a;
|
|
||||||
border: none;
|
|
||||||
height: 1px;
|
|
||||||
margin: 1em 0;
|
|
||||||
}
|
|
||||||
table {
|
|
||||||
margin: 1em 0;
|
|
||||||
border-collapse: collapse;
|
|
||||||
width: 100%;
|
|
||||||
overflow-x: auto;
|
|
||||||
display: block;
|
|
||||||
font-variant-numeric: lining-nums tabular-nums;
|
|
||||||
}
|
|
||||||
table caption {
|
|
||||||
margin-bottom: 0.75em;
|
|
||||||
}
|
|
||||||
tbody {
|
|
||||||
margin-top: 0.5em;
|
|
||||||
border-top: 1px solid #1a1a1a;
|
|
||||||
border-bottom: 1px solid #1a1a1a;
|
|
||||||
}
|
|
||||||
th {
|
|
||||||
border-top: 1px solid #1a1a1a;
|
|
||||||
padding: 0.25em 0.5em 0.25em 0.5em;
|
|
||||||
}
|
|
||||||
td {
|
|
||||||
padding: 0.125em 0.5em 0.25em 0.5em;
|
|
||||||
}
|
|
||||||
header {
|
|
||||||
margin-bottom: 4em;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
#TOC li {
|
|
||||||
list-style: none;
|
|
||||||
}
|
|
||||||
#TOC ul {
|
|
||||||
padding-left: 1.3em;
|
|
||||||
}
|
|
||||||
#TOC > ul {
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
#TOC a:not(:hover) {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
code{white-space: pre-wrap;}
|
|
||||||
span.smallcaps{font-variant: small-caps;}
|
|
||||||
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
|
||||||
div.column{flex: auto; overflow-x: auto;}
|
|
||||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
|
||||||
/* The extra [class] is a hack that increases specificity enough to
|
|
||||||
override a similar rule in reveal.js */
|
|
||||||
ul.task-list[class]{list-style: none;}
|
|
||||||
ul.task-list li input[type="checkbox"] {
|
|
||||||
font-size: inherit;
|
|
||||||
width: 0.8em;
|
|
||||||
margin: 0 0.8em 0.2em -1.6em;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<header id="title-block-header">
|
|
||||||
<h1 class="title">tykayn_blog</h1>
|
|
||||||
</header>
|
|
||||||
<h1 id="projets">Projets</h1>
|
|
||||||
<ul>
|
|
||||||
<li>mon projet 1</li>
|
|
||||||
</ul>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -9,4 +9,8 @@
|
|||||||
:END:
|
:END:
|
||||||
|
|
||||||
|
|
||||||
[[https://tykayn.fr/wp-content/uploads/2024/02/2022-02-08-des-boobies-1024x768.jpg]] [[https://tykayn.fr/wp-content/uploads/2024/02/2022-07-22-sketch1-pouic-table-et-back-pak-724x1024.jpg]] [[https://tykayn.fr/wp-content/uploads/2024/02/2022-07-22_sketch2_face_cuisses_brr-small-1024x724.jpg]]
|
[[https://tykayn.fr/wp-content/uploads/2024/02/2022-02-08-des-boobies.jpg]]
|
||||||
|
|
||||||
|
[[https://tykayn.fr/wp-content/uploads/2024/02/2022-07-22-sketch1-pouic-table-et-back-pak.jpg]]
|
||||||
|
|
||||||
|
[[https://tykayn.fr/wp-content/uploads/2024/02/2022-07-22_sketch2_face_cuisses_brr-small.jpg]]
|
@ -13,5 +13,9 @@ En 2023 je n’ai pas fait l’inktober mais le kinktober, manquant de temps dis
|
|||||||
|
|
||||||
Enjaillez!
|
Enjaillez!
|
||||||
|
|
||||||
[[https://tykayn.fr/wp-content/uploads/2024/02/2023-kinktober-first-girl-nue-splash-448x1024.jpg]] [[ https://tykayn.fr/wp-content/uploads/2024/02/2023-kinktober_girl_2-1024x803.jpg]] [[ https://tykayn.fr/wp-content/uploads/2024/02/2023-kintober_miss_patounage-1024x1008.jpg]]
|
[[https://tykayn.fr/wp-content/uploads/2024/02/2023-kinktober-first-girl-nue-splash.jpg]]
|
||||||
|
|
||||||
|
[[https://tykayn.fr/wp-content/uploads/2024/02/2023-kinktober_girl_2.jpg]]
|
||||||
|
|
||||||
|
[[ https://tykayn.fr/wp-content/uploads/2024/02/2023-kintober_miss_patounage.jpg]]
|
||||||
|
|
@ -0,0 +1,16 @@
|
|||||||
|
:PROPERTIES:
|
||||||
|
:ID: 2cd8fd23-9f44-4410-8d09-fe4d65ed1e87
|
||||||
|
:END:
|
||||||
|
#+title: calin yuri AH
|
||||||
|
2023-08-07
|
||||||
|
* calin yuri AH
|
||||||
|
:PROPERTIES:
|
||||||
|
:CREATED: [2024-11-12 00:07:14]
|
||||||
|
:END:
|
||||||
|
|
||||||
|
Petit yuri printanier avec les personnages de l’histoire Ayominai Hitomi, [[https://tykayn.fr/2009/bd-one-shot-ayominai-hitomi/][une BD que j’ai fait en 2004]].
|
||||||
|
|
||||||
|
[[https://tykayn.fr/wp-content/uploads/2023/08/2023-04-14-AH-calin-tykayn-yuri.jpg]]
|
||||||
|
|
||||||
|
Publié dans [[https://tykayn.fr/category/non-classe/][Non classé]]
|
||||||
|
Etiqueté [[https://tykayn.fr/tag/ayominai-hitomi/][ayominai hitomi]], [[https://tykayn.fr/tag/dessin/][dessin]], [[https://tykayn.fr/tag/yuri/][yuri]]
|
@ -11,11 +11,11 @@
|
|||||||
|
|
||||||
https://tykayn.fr/wp-content/uploads/2020/11/20200923_155228.jpg
|
https://tykayn.fr/wp-content/uploads/2020/11/20200923_155228.jpg
|
||||||
|
|
||||||
conseils en [[https://web.archive.org/web/20240825225407/https://mastodon.cipherbliss.com/tags/art][#art]]:
|
conseils en [[https://mastodon.cipherbliss.com/tags/art][#art]]:
|
||||||
|
|
||||||
- lancez vous dans des projets beaucoup moins gros, vraiment, des trucs minuscules, surtout au début de votre vie d’artiste.
|
- lancez vous dans des projets beaucoup moins gros, vraiment, des trucs minuscules, surtout au début de votre vie d’artiste.
|
||||||
- dessinez en prenant des modèles, des références, photos, sujets et objets. pourquoi pas du modèle vivant, rejoindre un cours d’art.
|
- dessinez en prenant des modèles, des références, photos, sujets et objets. pourquoi pas du modèle vivant, rejoindre un cours d’art.
|
||||||
- ayez des objectifs à long terme et à court terme dans ce que vous souhaitez faire pour vous améliorer en tant qu’[[https://web.archive.org/web/20240825225407/https://mastodon.cipherbliss.com/tags/artiste][#artiste]]
|
- ayez des objectifs à long terme et à court terme dans ce que vous souhaitez faire pour vous améliorer en tant qu’[[https://mastodon.cipherbliss.com/tags/artiste][#artiste]]
|
||||||
- apprenez à faire de la perspective, vraiment.
|
- apprenez à faire de la perspective, vraiment.
|
||||||
- ne dessinez pas que des bustes de personnages.
|
- ne dessinez pas que des bustes de personnages.
|
||||||
- ne soyez pas déçus si vous avez des retours constructifs qui ne vous mettent pas sur un piédestal. On a jamais fini de s’améliorer
|
- ne soyez pas déçus si vous avez des retours constructifs qui ne vous mettent pas sur un piédestal. On a jamais fini de s’améliorer
|
||||||
@ -26,8 +26,8 @@ conseils en [[https://web.archive.org/web/20240825225407/https://mastodon.cipher
|
|||||||
- laissez des espaces vides sur votre bureau / atelier / espace de création artistique.
|
- laissez des espaces vides sur votre bureau / atelier / espace de création artistique.
|
||||||
- foutez la paix à votre téléphone, vous pouvez le mettre dans une autre pièce et en moda avion pour gagner un maximum de concentration. vous n’avez vraiment pas besoin de répondre à cette personne qui dit des bêtises dans votre flux interminable d’actualités. ni maintenant ni jamais.
|
- foutez la paix à votre téléphone, vous pouvez le mettre dans une autre pièce et en moda avion pour gagner un maximum de concentration. vous n’avez vraiment pas besoin de répondre à cette personne qui dit des bêtises dans votre flux interminable d’actualités. ni maintenant ni jamais.
|
||||||
- faites d’autres activités plutôt que de rester uniquement à votre lieu de production. Planifiez des moments hors ligne. Faites une balade, des activités physiques, de l’exploration du monde.
|
- faites d’autres activités plutôt que de rester uniquement à votre lieu de production. Planifiez des moments hors ligne. Faites une balade, des activités physiques, de l’exploration du monde.
|
||||||
- renseignez vous sur les syndicats qui existent. Ne restez pas seul et n’attendez pas de découvrir comment ça se passe quand on enrtre dans le bassin des requins, le monde professionel est somble et plein de terreurs. [[https://web.archive.org/web/20240825225407/https://www.artistes-auteurs.fr/][https://www.artistes-auteurs.fr]] Rencontrez d’autres artistes et entraidez-vous.
|
- renseignez vous sur les syndicats qui existent. Ne restez pas seul et n’attendez pas de découvrir comment ça se passe quand on enrtre dans le bassin des requins, le monde professionel est somble et plein de terreurs. [[https://www.artistes-auteurs.fr/][https://www.artistes-auteurs.fr]] Rencontrez d’autres artistes et entraidez-vous.
|
||||||
- mettez la tête dans le chat.
|
- mettez la tête dans le chat.
|
||||||
|
|
||||||
Publié dans [[https://web.archive.org/web/20240825225407/https://tykayn.fr/category/non-classe/][Non classé]]
|
Publié dans [[https://tykayn.fr/category/non-classe/][Non classé]]
|
||||||
Etiqueté [[https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/art/][art]], [[https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/conseil/][conseil]], [[https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/dessin/][dessin]], [[https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/entraide/][entraide]]
|
Etiqueté [[https://tykayn.fr/tag/art/][art]], [[https://tykayn.fr/tag/conseil/][conseil]], [[https://tykayn.fr/tag/dessin/][dessin]], [[https://tykayn.fr/tag/entraide/][entraide]]
|
@ -0,0 +1,22 @@
|
|||||||
|
:PROPERTIES:
|
||||||
|
:ID: 21964c8f-7e77-4ce4-894e-a76d31845aa2
|
||||||
|
:END:
|
||||||
|
#+title: essais en cabine
|
||||||
|
2022-04-12
|
||||||
|
* Essais en cabine
|
||||||
|
:PROPERTIES:
|
||||||
|
:CREATED: [2024-11-12 00:09:19]
|
||||||
|
:END:
|
||||||
|
|
||||||
|
Jeux de mains pour essayages en cabine.
|
||||||
|
|
||||||
|
Cette illustration est disponible dans le [[https://cloud.tykayn.fr/index.php/s/NjrPwGNHCGio49R][dossier de partage nextcloud du tk blog]]. Vous pouvez y retrouver le fichier source pour mes illus. celle-ci a été faite avec [[https://krita.org/fr/][Krita]], un excellent logiciel libre de dessin numérique.
|
||||||
|
|
||||||
|
[[https://tykayn.fr/wp-content/uploads/2022/04/cabine_girl_001-1024x1024.jpg]]
|
||||||
|
|
||||||
|
[[https://tykayn.fr/wp-content/uploads/2022/04/cabine_girl_brouillon-1024x768.jpg]]
|
||||||
|
|
||||||
|
[[https://tykayn.fr/wp-content/uploads/2022/04/cabine_girl_002-1024x768.jpg]]
|
||||||
|
|
||||||
|
Publié dans [[https://tykayn.fr/category/floodish/][Floodish]]
|
||||||
|
Etiqueté [[https://tykayn.fr/tag/boobies/][boobies]], [[https://tykayn.fr/tag/essayage/][essayage]], [[https://tykayn.fr/tag/patounage/][patounage]]
|
@ -0,0 +1,19 @@
|
|||||||
|
:PROPERTIES:
|
||||||
|
:ID: 213879ff-4d38-4c19-ac43-be723ad66b4b
|
||||||
|
:END:
|
||||||
|
#+title: la fougue dans les rideaux
|
||||||
|
2022-04-12
|
||||||
|
* la fougue dans les rideaux
|
||||||
|
:PROPERTIES:
|
||||||
|
:CREATED: [2024-11-12 00:10:19]
|
||||||
|
:END:
|
||||||
|
|
||||||
|
|
||||||
|
Et hop, de la fougue dans les rideaux ajoutée au [[https://cloud.tykayn.fr/index.php/s/NjrPwGNHCGio49R][dossier de partage nextcloud du tk blog]]. Vous pouvez y retrouver le fichier source pour mes illus. celle-ci a été faite avec [[https://krita.org/fr/][Krita]], un excellent logiciel libre de dessin numérique.
|
||||||
|
|
||||||
|
[[https://web.archive.org/web/20240825225407im_/https://tykayn.fr/wp-content/uploads/2022/04/fougue_rideaux-scaled.jpg]]
|
||||||
|
|
||||||
|
Voir sur Mastodon [[https://mastodon.cipherbliss.com/@tykayn/108115540654384055][https://mastodon.cipherbliss.com/@tykayn/108115540654384055]]
|
||||||
|
|
||||||
|
Publié dans [[https://tykayn.fr/category/non-classe/][Non classé]]
|
||||||
|
Etiqueté [[https://tykayn.fr/tag/couple/][couple]], [[https://tykayn.fr/tag/illustration/][illustration]], [[https://tykayn.fr/tag/nsfw/][nsfw]]
|
@ -0,0 +1,32 @@
|
|||||||
|
:PROPERTIES:
|
||||||
|
:ID: eb168f39-c356-4783-8152-cb2e0f45a5ce
|
||||||
|
:END:
|
||||||
|
#+title: dossier de partage des sources d'illustrations
|
||||||
|
2022-01-24
|
||||||
|
* dossier de partage des sources d'illustrations
|
||||||
|
:PROPERTIES:
|
||||||
|
:CREATED: [2024-11-12 00:11:19]
|
||||||
|
:END:
|
||||||
|
|
||||||
|
|
||||||
|
Si vous souhaitez avoir accès aux illustrations postées sur ce site et que j’ai réalisé, j’ai créé un dossier de partage nextcloud que je remplirai de temps à autre. Ces fichiers sont sous licence CC-BY
|
||||||
|
|
||||||
|
[[https://cloud.tykayn.fr/index.php/s/dessins_partage_blog][https://cloud.tykayn.fr/index.php/s/dessins\_partage\_blog]]
|
||||||
|
|
||||||
|
Vous pouvez aussi récupérer les contenus des fanzines plein de CULture de Qzine par ici: [[https://qzine.fr/telechargez-les-fanzines-qzine/][https://qzine.fr/telechargez-les-fanzines-qzine/]]
|
||||||
|
|
||||||
|
Le but de cette license étant de permettre beaucoup de choses, je vous encourage également à publier vos oeuvres avec une licence Creative Commons qui va bien, [[https://creativecommons.org/choose/][vous avez le choix]].
|
||||||
|
|
||||||
|
#+begin_quote
|
||||||
|
|
||||||
|
|
||||||
|
[[http://creativecommons.org/licenses/by/4.0/][https://web.archive.org/web/20240825225407im_/https://i.creativecommons.org/l/by/4.0/80x15.png]]
|
||||||
|
Ce(tte) œuvre est mise à disposition selon les termes de la [[http://creativecommons.org/licenses/by/4.0/][Licence Creative Commons Attribution 4.0 International]].
|
||||||
|
|
||||||
|
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
Bonne réutilisation o/
|
||||||
|
|
||||||
|
Publié dans [[https://tykayn.fr/category/non-classe/][Non classé]]
|
||||||
|
Etiqueté [[https://tykayn.fr/tag/reutilisation/][réutilisation]]
|
@ -8,10 +8,9 @@
|
|||||||
:CREATED: [2024-11-12 00:00:19]
|
:CREATED: [2024-11-12 00:00:19]
|
||||||
:END:
|
:END:
|
||||||
|
|
||||||
Quelques jours à Toulouse étaient l’occasion de se voir avec Regulus et Aube, on a visité le pays malgré la grisaille, revu la cité de l’espace et ses ouatmille trucs à voir et à essayer (y’en a plein, on ne peut pas tout voir en une seule journée X)), tester un restaurant végé vachement sympa nommé [[https://web.archive.org/web/20240825225407/https://www.lafaimdesharicots.fr/][la Faim des haricots]]. omnomnomnom! C’était un peu notre /reuvayvaule/ de [[https://web.archive.org/web/20240825225407/https://tykayn.fr/?s=vadrouille][la petite vadrouille]].
|
Quelques jours à Toulouse étaient l’occasion de se voir avec Regulus et Aube, on a visité le pays malgré la grisaille, revu la cité de l’espace et ses ouatmille trucs à voir et à essayer (y’en a plein, on ne peut pas tout voir en une seule journée X)), tester un restaurant végé vachement sympa nommé [[https://www.lafaimdesharicots.fr/][la Faim des haricots]]. omnomnomnom! C’était un peu notre /reuvayvaule/ de [[https://tykayn.fr/?s=vadrouille][la petite vadrouille]].
|
||||||
|
|
||||||
[[https://tykayn.fr/wp-content/uploads/2024/02/2024-02-18T21.36.27-1024x577.jpg]]
|
[[https://tykayn.fr/wp-content/uploads/2024/02/2024-02-18T21.36.27.jpg]]
|
||||||
|
|
||||||
[[https://tykayn.fr/wp-content/uploads/2024/02/2024-02-18T21.37.23-1024x577.jpg]]
|
[[https://tykayn.fr/wp-content/uploads/2024/02/2024-02-18T21.37.23.jpg]]
|
||||||
|
|
||||||
P
|
|
||||||
|
@ -1,16 +0,0 @@
|
|||||||
:PROPERTIES:
|
|
||||||
:ID: 2cd8fd23-9f44-4410-8d09-fe4d65ed1e87
|
|
||||||
:END:
|
|
||||||
#+title: calin yuri AH
|
|
||||||
2023-08-07
|
|
||||||
* calin yuri AH
|
|
||||||
:PROPERTIES:
|
|
||||||
:CREATED: [2024-11-12 00:07:14]
|
|
||||||
:END:
|
|
||||||
|
|
||||||
Petit yuri printanier avec les personnages de l’histoire Ayominai Hitomi, [[https://web.archive.org/web/20240825225407/https://tykayn.fr/2009/bd-one-shot-ayominai-hitomi/][une BD que j’ai fait en 2004]].
|
|
||||||
|
|
||||||
[[ https://tykayn.fr/wp-content/uploads/2023/08/2023-04-14-AH-calin-tykayn-yuri-1024x724.jpg]]
|
|
||||||
|
|
||||||
Publié dans [[https://web.archive.org/web/20240825225407/https://tykayn.fr/category/non-classe/][Non classé]]
|
|
||||||
Etiqueté [[https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/ayominai-hitomi/][ayominai hitomi]], [[https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/dessin/][dessin]], [[https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/yuri/][yuri]]
|
|
@ -1,22 +0,0 @@
|
|||||||
:PROPERTIES:
|
|
||||||
:ID: 21964c8f-7e77-4ce4-894e-a76d31845aa2
|
|
||||||
:END:
|
|
||||||
#+title: essais en cabine
|
|
||||||
2022-04-12
|
|
||||||
* Essais en cabine
|
|
||||||
:PROPERTIES:
|
|
||||||
:CREATED: [2024-11-12 00:09:19]
|
|
||||||
:END:
|
|
||||||
|
|
||||||
Jeux de mains pour essayages en cabine.
|
|
||||||
|
|
||||||
Cette illustration est disponible dans le [[https://web.archive.org/web/20240825225407/https://cloud.tykayn.fr/index.php/s/NjrPwGNHCGio49R][dossier de partage nextcloud du tk blog]]. Vous pouvez y retrouver le fichier source pour mes illus. celle-ci a été faite avec [[https://web.archive.org/web/20240825225407/https://krita.org/fr/][Krita]], un excellent logiciel libre de dessin numérique.
|
|
||||||
|
|
||||||
[[https://tykayn.fr/wp-content/uploads/2022/04/cabine_girl_001-1024x1024.jpg]]
|
|
||||||
|
|
||||||
[[https://tykayn.fr/wp-content/uploads/2022/04/cabine_girl_brouillon-1024x768.jpg]]
|
|
||||||
|
|
||||||
[[https://tykayn.fr/wp-content/uploads/2022/04/cabine_girl_002-1024x768.jpg]]
|
|
||||||
|
|
||||||
Publié dans [[https://web.archive.org/web/20240825225407/https://tykayn.fr/category/floodish/][Floodish]]
|
|
||||||
Etiqueté [[https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/boobies/][boobies]], [[https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/essayage/][essayage]], [[https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/patounage/][patounage]]
|
|
@ -1,19 +0,0 @@
|
|||||||
:PROPERTIES:
|
|
||||||
:ID: 213879ff-4d38-4c19-ac43-be723ad66b4b
|
|
||||||
:END:
|
|
||||||
#+title: la fougue dans les rideaux
|
|
||||||
2022-04-12
|
|
||||||
* la fougue dans les rideaux
|
|
||||||
:PROPERTIES:
|
|
||||||
:CREATED: [2024-11-12 00:10:19]
|
|
||||||
:END:
|
|
||||||
|
|
||||||
|
|
||||||
Et hop, de la fougue dans les rideaux ajoutée au [[https://web.archive.org/web/20240825225407/https://cloud.tykayn.fr/index.php/s/NjrPwGNHCGio49R][dossier de partage nextcloud du tk blog]]. Vous pouvez y retrouver le fichier source pour mes illus. celle-ci a été faite avec [[https://web.archive.org/web/20240825225407/https://krita.org/fr/][Krita]], un excellent logiciel libre de dessin numérique.
|
|
||||||
|
|
||||||
[[https://web.archive.org/web/20240825225407im_/https://tykayn.fr/wp-content/uploads/2022/04/fougue_rideaux-scaled.jpg]]
|
|
||||||
|
|
||||||
Voir sur Mastodon [[https://web.archive.org/web/20240825225407/https://mastodon.cipherbliss.com/@tykayn/108115540654384055][https://mastodon.cipherbliss.com/@tykayn/108115540654384055]]
|
|
||||||
|
|
||||||
Publié dans [[https://web.archive.org/web/20240825225407/https://tykayn.fr/category/non-classe/][Non classé]]
|
|
||||||
Etiqueté [[https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/couple/][couple]], [[https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/illustration/][illustration]], [[https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/nsfw/][nsfw]]
|
|
@ -1,32 +0,0 @@
|
|||||||
:PROPERTIES:
|
|
||||||
:ID: eb168f39-c356-4783-8152-cb2e0f45a5ce
|
|
||||||
:END:
|
|
||||||
#+title: dossier de partage des sources d'illustrations
|
|
||||||
2022-01-24
|
|
||||||
* dossier de partage des sources d'illustrations
|
|
||||||
:PROPERTIES:
|
|
||||||
:CREATED: [2024-11-12 00:11:19]
|
|
||||||
:END:
|
|
||||||
|
|
||||||
|
|
||||||
Si vous souhaitez avoir accès aux illustrations postées sur ce site et que j’ai réalisé, j’ai créé un dossier de partage nextcloud que je remplirai de temps à autre. Ces fichiers sont sous licence CC-BY
|
|
||||||
|
|
||||||
[[https://web.archive.org/web/20240825225407/https://cloud.tykayn.fr/index.php/s/dessins_partage_blog][https://cloud.tykayn.fr/index.php/s/dessins\_partage\_blog]]
|
|
||||||
|
|
||||||
Vous pouvez aussi récupérer les contenus des fanzines plein de CULture de Qzine par ici: [[https://web.archive.org/web/20240825225407/https://qzine.fr/telechargez-les-fanzines-qzine/][https://qzine.fr/telechargez-les-fanzines-qzine/]]
|
|
||||||
|
|
||||||
Le but de cette license étant de permettre beaucoup de choses, je vous encourage également à publier vos oeuvres avec une licence Creative Commons qui va bien, [[https://web.archive.org/web/20240825225407/https://creativecommons.org/choose/][vous avez le choix]].
|
|
||||||
|
|
||||||
#+begin_quote
|
|
||||||
|
|
||||||
|
|
||||||
[[https://web.archive.org/web/20240825225407/http://creativecommons.org/licenses/by/4.0/][https://web.archive.org/web/20240825225407im_/https://i.creativecommons.org/l/by/4.0/80x15.png]]
|
|
||||||
Ce(tte) œuvre est mise à disposition selon les termes de la [[https://web.archive.org/web/20240825225407/http://creativecommons.org/licenses/by/4.0/][Licence Creative Commons Attribution 4.0 International]].
|
|
||||||
|
|
||||||
|
|
||||||
#+end_quote
|
|
||||||
|
|
||||||
Bonne réutilisation o/
|
|
||||||
|
|
||||||
Publié dans [[https://web.archive.org/web/20240825225407/https://tykayn.fr/category/non-classe/][Non classé]]
|
|
||||||
Etiqueté [[https://web.archive.org/web/20240825225407/https://tykayn.fr/tag/reutilisation/][réutilisation]]
|
|
@ -15,48 +15,48 @@
|
|||||||
|
|
||||||
le, hah! 2018-04-03T22:05:22Z 95
|
le, hah! 2018-04-03T22:05:22Z 95
|
||||||
hey les pouets! vous me conseillez quoi de beau comme espace de
|
hey les pouets! vous me conseillez quoi de beau comme espace de
|
||||||
coworking du côté d&apos Orsay ? 91 c'est dimanche et il fait beau, les
|
coworking du côté d' Orsay ? 91 c'est dimanche et il fait beau, les
|
||||||
cyclistes sont de sortie. fly safe Les gens 2018-05-06T07:33:32Z 91
|
cyclistes sont de sortie. fly safe Les gens 2018-05-06T07:33:32Z 91
|
||||||
aaaaaah bon matin les mastodontes! on a pas idée de se lever aussi tôt
|
aaaaaah bon matin les mastodontes! on a pas idée de se lever aussi tôt
|
||||||
2018-05-03T05:09:42Z 77 passer la moitié du temps chez la famille a
|
2018-05-03T05:09:42Z 77 passer la moitié du temps chez la famille a
|
||||||
dormi, ça c'est fait 2018-03-24T21:16:37Z 76 je sais pas pour vous mais
|
dormi, ça c'est fait 2018-03-24T21:16:37Z 76 je sais pas pour vous mais
|
||||||
je perds toute sociabilité dès que j&apos ai trop chaud.c&apos 71 ça se
|
je perds toute sociabilité dès que j' ai trop chaud.c' 71 ça se
|
||||||
situe comment sur le spectre transgenre la Cisjordanie ?
|
situe comment sur le spectre transgenre la Cisjordanie ?
|
||||||
2018-03-17T21:27:04Z 69 bonjour, je suis secrétaire et je me nomme Alain
|
2018-03-17T21:27:04Z 69 bonjour, je suis secrétaire et je me nomme Alain
|
||||||
Primante 2018-05-01T11:36:11Z 64 si Claude François était sur internet
|
Primante 2018-05-01T11:36:11Z 64 si Claude François était sur internet
|
||||||
il chanterait : " je n&apos 62 ah la bonne odeur de café dans le
|
il chanterait : " je n' 62 ah la bonne odeur de café dans le
|
||||||
placard de la cuisine 2018-05-05T19:37:04Z 62 et hop, quelques bitcoins
|
placard de la cuisine 2018-05-05T19:37:04Z 62 et hop, quelques bitcoins
|
||||||
de plus dans la cagnotte o/ 2018-05-05T12:09:49Z 60 hey les gens qui
|
de plus dans la cagnotte o/ 2018-05-05T12:09:49Z 60 hey les gens qui
|
||||||
avez des enfants ça vous arrive d&apos avoir du temps pour lire un livre
|
avez des enfants ça vous arrive d' avoir du temps pour lire un livre
|
||||||
ou un ebook? le seul moyen que j&apos 58 allez bonne manifestation de
|
ou un ebook? le seul moyen que j' 58 allez bonne manifestation de
|
||||||
demain tout le monde 2018-03-21T20:53:25Z 56 quand ton écran fait un
|
demain tout le monde 2018-03-21T20:53:25Z 56 quand ton écran fait un
|
||||||
bruit de criquets c&apos est le moment de se barrer en vacances 51 Pti
|
bruit de criquets c' est le moment de se barrer en vacances 51 Pti
|
||||||
tour en Vaporetto à Lyon bien chaleureux 2018-04-22T09:22:31Z 51 coucou
|
tour en Vaporetto à Lyon bien chaleureux 2018-04-22T09:22:31Z 51 coucou
|
||||||
la ville de Mâcon ! parce que c&apos est notre POJEEEET 46 aaaaah vos
|
la ville de Mâcon ! parce que c' est notre POJEEEET 46 aaaaah vos
|
||||||
gueules les emails de RGPD! 2018-05-25T08:48:28Z 45 hop café du matin.
|
gueules les emails de RGPD! 2018-05-25T08:48:28Z 45 hop café du matin.
|
||||||
oh wait déjà 11h30 2018-05-01T09:33:33Z 44 Bienvenue sur diaspora! Heu,
|
oh wait déjà 11h30 2018-05-01T09:33:33Z 44 Bienvenue sur diaspora! Heu,
|
||||||
mamoot 2017-06-03T20:38:48Z 42 quand tu réussis un truc en 2018 c&apos
|
mamoot 2017-06-03T20:38:48Z 42 quand tu réussis un truc en 2018 c'
|
||||||
est formi-DAB 42 est il de notoriété publique qu&apos un chantier de
|
est formi-DAB 42 est il de notoriété publique qu' un chantier de
|
||||||
maison ça avance toujours aussi lentement qu&apos 39 bonne mamans à
|
maison ça avance toujours aussi lentement qu' 39 bonne mamans à
|
||||||
toutes les fêtes! 2018-05-27T08:17:09Z 39 when you do a js class but
|
toutes les fêtes! 2018-05-27T08:17:09Z 39 when you do a js class but
|
||||||
don&apos t use this 38 bienvenue dans LE jour de l&apos année où on fait
|
don' t use this 38 bienvenue dans LE jour de l' année où on fait
|
||||||
attention que tout ce que l&apos 35 mieux vaux .tar que jamais
|
attention que tout ce que l' 35 mieux vaux .tar que jamais
|
||||||
2017-05-31T09:59:23Z 33 1,829 meters under 2018-03-21T20:52:53Z 25 lit
|
2017-05-31T09:59:23Z 33 1,829 meters under 2018-03-21T20:52:53Z 25 lit
|
||||||
bébé, délivré 2018-04-26T08:56:20Z 24 coucou Houilles!
|
bébé, délivré 2018-04-26T08:56:20Z 24 coucou Houilles!
|
||||||
2018-03-30T08:48:31Z 23 coucou Auxerre ! 2018-04-21T07:02:55Z 23 en vaut
|
2018-03-30T08:48:31Z 23 coucou Auxerre ! 2018-04-21T07:02:55Z 23 en vaut
|
||||||
deux 2018-04-02T10:43:09Z 19 ptain c&apos est tellement moche de devoir
|
deux 2018-04-02T10:43:09Z 19 ptain c' est tellement moche de devoir
|
||||||
reconduire de la voiture thermique auprès avoir acheté une électrique.
|
reconduire de la voiture thermique auprès avoir acheté une électrique.
|
||||||
c&apos 15 quelqu&apos un sait ce qui délimite les toots mis en local ?
|
c' 15 quelqu' un sait ce qui délimite les toots mis en local ?
|
||||||
ceux postés par des gens inscris sur mamot.fr vs le reste du monde ? *o*
|
ceux postés par des gens inscris sur mamot.fr vs le reste du monde ? *o*
|
||||||
14 quelqu&apos un saurait m&apos 14 bon c&apos est pas grave j&apos 13
|
14 quelqu' un saurait m' 14 bon c' est pas grave j' 13
|
||||||
was c&apos est presque aussi cher que le café à 7 euros que j&apos 13
|
was c' est presque aussi cher que le café à 7 euros que j' 13
|
||||||
rha c&apos est moche les gens bourrés sur l&apos 13 Let&apos s see what
|
rha c' est moche les gens bourrés sur l' 13 Let' s see what
|
||||||
is running here. Not me 11 j&apos aurai bien soutenu financièrement les
|
is running here. Not me 11 j' aurai bien soutenu financièrement les
|
||||||
cheminots avec le pot commun mais ce site est archi buggé 9 c&apos est
|
cheminots avec le pot commun mais ce site est archi buggé 9 c' est
|
||||||
un peu mignon ici 9 c&apos est parti pour la fête à Macron 9 "
|
un peu mignon ici 9 c' est parti pour la fête à Macron 9 "
|
||||||
Businesses that make money by collecting and selling detailed records of
|
Businesses that make money by collecting and selling detailed records of
|
||||||
private lives were once plainly described as " 8 " bonjour je
|
private lives were once plainly described as " 8 " bonjour je
|
||||||
m&apos 8 0
|
m' 8 0
|
||||||
|
|
||||||
|
|
||||||
* Liens
|
* Liens
|
||||||
|
27
utils.py
Normal file
27
utils.py
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/python3
|
||||||
|
import re
|
||||||
|
|
||||||
|
# this path should be customized
|
||||||
|
org_roam_dir: str = '/home/tykayn/Nextcloud/textes/orgmode/org-roam/'
|
||||||
|
|
||||||
|
pattern_roam_id_search = r':ID:(?:\s+)?([a-zA-Z0-9-]+)'
|
||||||
|
|
||||||
|
def get_id_of_roam_note_content(content):
|
||||||
|
match = re.search(pattern_roam_id_search, content)
|
||||||
|
if match:
|
||||||
|
return match.group(1)
|
||||||
|
return None
|
||||||
|
|
||||||
|
def find_first_level1_title(content):
|
||||||
|
pattern = r'^\* (.+)$'
|
||||||
|
match = re.search(pattern, content, re.MULTILINE)
|
||||||
|
if match:
|
||||||
|
if match.group(1) != 'Article':
|
||||||
|
return match.group(1)
|
||||||
|
else:
|
||||||
|
pattern = r'^\*\* (.+)$'
|
||||||
|
match = re.search(pattern, content, re.MULTILINE)
|
||||||
|
if match:
|
||||||
|
return match.group(1)
|
||||||
|
return None
|
||||||
|
|
@ -1,6 +1,8 @@
|
|||||||
#!/usr/bin/python3
|
#!/usr/bin/python3
|
||||||
# configuration pour générer les sites web de plusieurs dossiers
|
# configuration pour générer les sites web de plusieurs dossiers
|
||||||
|
global_config = {
|
||||||
|
"slug_with_year": True,
|
||||||
|
}
|
||||||
configs_sites = {
|
configs_sites = {
|
||||||
"cipherbliss_blog": {
|
"cipherbliss_blog": {
|
||||||
"DOSSIER_SOURCE":"cipherbliss_blog",
|
"DOSSIER_SOURCE":"cipherbliss_blog",
|
||||||
|
Loading…
Reference in New Issue
Block a user