Browse Source

More links

master
David Larlet 1 year ago
parent
commit
4764193254

+ 5
- 4
cache.py View File

from readability.readability import Document from readability.readability import Document


HERE = Path(".") HERE = Path(".")
CACHE_PATH = HERE / "cache" / "2022"
YEAR = "2023"
CACHE_PATH = HERE / "cache" / YEAR
LOCAL_DOMAIN = "http://larlet.test:3579" LOCAL_DOMAIN = "http://larlet.test:3579"




if not os.path.exists(cache_target): if not os.path.exists(cache_target):
os.makedirs(cache_target) os.makedirs(cache_target)
open(cache_target / "index.html", "w").write(page) open(cache_target / "index.html", "w").write(page)
print(f"Done: {LOCAL_DOMAIN}/david/cache/2022/{hash_url}/")
print(f"Done: {LOCAL_DOMAIN}/david/cache/{YEAR}/{hash_url}/")




@cli @cli
template = environment.get_template("cache_archives.html") template = environment.get_template("cache_archives.html")
page = template.render(cache_list=cache_list) page = template.render(cache_list=cache_list)
open(CACHE_PATH / "index.html", "w").write(page) open(CACHE_PATH / "index.html", "w").write(page)
print(f"Done: {LOCAL_DOMAIN}/david/cache/2022/")
print(f"Done: {LOCAL_DOMAIN}/david/cache/{YEAR}/")




@cli @cli
:url: The URL of the page to put into cache. :url: The URL of the page to put into cache.
""" """
hash_url = hashlib.md5(url.encode("utf-8")).hexdigest() hash_url = hashlib.md5(url.encode("utf-8")).hexdigest()
url_cache = f"/david/cache/2022/{hash_url}/"
url_cache = f"/david/cache/{YEAR}/{hash_url}/"
link_line = f"]({url}) ([cache]({url_cache}))" link_line = f"]({url}) ([cache]({url_cache}))"
print(link_line) print(link_line)
try: try:

+ 174
- 0
cache/2023/42b4db67c4daf075941dc387d6be4aaf/index.html View File

<!doctype html><!-- This is a valid HTML5 document. -->
<!-- Screen readers, SEO, extensions and so on. -->
<html lang="fr">
<!-- Has to be within the first 1024 bytes, hence before the `title` element
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
<meta charset="utf-8">
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
<!-- The viewport meta is quite crowded and we are responsible for that.
See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
<meta name="viewport" content="width=device-width,initial-scale=1">
<!-- Required to make a valid HTML5 document. -->
<title>ETC-ISTE : Bonne année (archive) — David Larlet</title>
<meta name="description" content="Publication mise en cache pour en conserver une trace.">
<!-- That good ol' feed, subscribe :). -->
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
<!-- Generated from https://realfavicongenerator.net/ such a mess. -->
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
<link rel="manifest" href="/static/david/icons2/site.webmanifest">
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
<meta name="msapplication-TileColor" content="#f7f7f7">
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
<meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
<!-- Documented, feel free to shoot an email. -->
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<script>
function toggleTheme(themeName) {
document.documentElement.classList.toggle(
'forced-dark',
themeName === 'dark'
)
document.documentElement.classList.toggle(
'forced-light',
themeName === 'light'
)
}
const selectedTheme = localStorage.getItem('theme')
if (selectedTheme !== 'undefined') {
toggleTheme(selectedTheme)
}
</script>

<meta name="robots" content="noindex, nofollow">
<meta content="origin-when-cross-origin" name="referrer">
<!-- Canonical URL for SEO purposes -->
<link rel="canonical" href="http://etc-iste.blogspot.com/2022/12/bonne-annee.html">

<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">


<article>
<header>
<h1>ETC-ISTE : Bonne année</h1>
</header>
<nav>
<p class="center">
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="http://etc-iste.blogspot.com/2022/12/bonne-annee.html" title="Lien vers le contenu original">Source originale</a>
</p>
</nav>
<hr>
<div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwaW_aBPMSgWs1cz3WmsM64VncsDOt21WqB8nGkmBkxrJVcgowgvEHwIzL88JT15lwwFg-Lamh1pwi1hlqt83qHEFXE6O_QpVYsZIo8GzRRrpep-cvffCRbkfGfPbnOjQY_xAsxm1JCrhvMKGE15wOAPS-e4NsY7ztyY0HI430J7NlkVBnyHa0bmX3/s594/tumblr_ngqkjhY7zu1sb2ue8o1_640.jpg"><img border="0" data-original-height="341" data-original-width="594" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwaW_aBPMSgWs1cz3WmsM64VncsDOt21WqB8nGkmBkxrJVcgowgvEHwIzL88JT15lwwFg-Lamh1pwi1hlqt83qHEFXE6O_QpVYsZIo8GzRRrpep-cvffCRbkfGfPbnOjQY_xAsxm1JCrhvMKGE15wOAPS-e4NsY7ztyY0HI430J7NlkVBnyHa0bmX3/w400-h230/tumblr_ngqkjhY7zu1sb2ue8o1_640.jpg"></a></div>
<p> <span>&lt;3 Je vous souhaite de ne pas vous faire violer, séquestrer ou écraser, de ne pas crever du cancer ni de la maladie de charcot, de ne pas voir vos gosses mourir de faim ou votre femme de soif, de ne pas avoir à manger vos parents, de ne pas brûler ni finir noyer, de ne pas vous faire dévorer par une larve un rat ou un ours, de ne pas avoir à vous couper le bras au canif pour vous libérer d'une roche ni de vous ronger le pied pour vous extraite d'un piège à loup, de ne pas vous faire irradier par le cul, de ne pas tomber sans fin dans un gouffre, de ne pas vous faire balancer aux requins d'un hélicoptère, de ne pas vous faire crucifier, ni décapiter, ni gazer, ni enfermer dans une basse-fosse, de ne pas devenir fou, de ne pas confondre le remède et le poison, de ne pas vous insérer un obus dans le mauvais trou, de ne pas vous faire pondre des œufs qui vous bouffent de l'intérieur, de ne pas vous faire larguer dans le cosmos, de ne pas perdre en même temps le goût, l’ouïe et la vue, de ne pas vivre avec un tortionnaire, de ne pas faire de descente d'organe, de ne pas devoir ré-ingurgiter éternellement votre vomi  et de ne pas finir enterré vivant &lt;3</span><br></p>
<p><span data-delight-asset="305462029954292" data-delight="true">Bisou</span><span> </span><span data-delight-asset="305462029954292" data-delight="true">bisou</span></p>
</article>


<hr>

<footer>
<p>
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use>
</svg> Suivre</a> •
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use>
</svg> Pro</a> •
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use>
</svg> Email</a> •
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use>
</svg> Légal</abbr>
</p>
<template id="theme-selector">
<form>
<fieldset>
<legend><svg class="icon icon-brightness-contrast">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use>
</svg> Thème</legend>
<label>
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
</label>
<label>
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé
</label>
<label>
<input type="radio" value="light" name="chosen-color-scheme"> Clair
</label>
</fieldset>
</form>
</template>
</footer>
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
<script>
function loadThemeForm(templateName) {
const themeSelectorTemplate = document.querySelector(templateName)
const form = themeSelectorTemplate.content.firstElementChild
themeSelectorTemplate.replaceWith(form)

form.addEventListener('change', (e) => {
const chosenColorScheme = e.target.value
localStorage.setItem('theme', chosenColorScheme)
toggleTheme(chosenColorScheme)
})

const selectedTheme = localStorage.getItem('theme')
if (selectedTheme && selectedTheme !== 'undefined') {
form.querySelector(`[value="${selectedTheme}"]`).checked = true
}
}

const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
window.addEventListener('load', () => {
let hasDarkRules = false
for (const styleSheet of Array.from(document.styleSheets)) {
let mediaRules = []
for (const cssRule of styleSheet.cssRules) {
if (cssRule.type !== CSSRule.MEDIA_RULE) {
continue
}
// WARNING: Safari does not have/supports `conditionText`.
if (cssRule.conditionText) {
if (cssRule.conditionText !== prefersColorSchemeDark) {
continue
}
} else {
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
continue
}
}
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
}

// WARNING: do not try to insert a Rule to a styleSheet you are
// currently iterating on, otherwise the browser will be stuck
// in a infinite loop…
for (const mediaRule of mediaRules) {
styleSheet.insertRule(mediaRule.cssText)
hasDarkRules = true
}
}
if (hasDarkRules) {
loadThemeForm('#theme-selector')
}
})
</script>
</body>
</html>

+ 6
- 0
cache/2023/42b4db67c4daf075941dc387d6be4aaf/index.md View File

title: ETC-ISTE : Bonne année
url: http://etc-iste.blogspot.com/2022/12/bonne-annee.html
hash_url: 42b4db67c4daf075941dc387d6be4aaf

<div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwaW_aBPMSgWs1cz3WmsM64VncsDOt21WqB8nGkmBkxrJVcgowgvEHwIzL88JT15lwwFg-Lamh1pwi1hlqt83qHEFXE6O_QpVYsZIo8GzRRrpep-cvffCRbkfGfPbnOjQY_xAsxm1JCrhvMKGE15wOAPS-e4NsY7ztyY0HI430J7NlkVBnyHa0bmX3/s594/tumblr_ngqkjhY7zu1sb2ue8o1_640.jpg"><img border="0" data-original-height="341" data-original-width="594" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwaW_aBPMSgWs1cz3WmsM64VncsDOt21WqB8nGkmBkxrJVcgowgvEHwIzL88JT15lwwFg-Lamh1pwi1hlqt83qHEFXE6O_QpVYsZIo8GzRRrpep-cvffCRbkfGfPbnOjQY_xAsxm1JCrhvMKGE15wOAPS-e4NsY7ztyY0HI430J7NlkVBnyHa0bmX3/w400-h230/tumblr_ngqkjhY7zu1sb2ue8o1_640.jpg"></a></div>
<p> <span>&lt;3 Je vous souhaite de ne pas vous faire violer, séquestrer ou écraser, de ne pas crever du cancer ni de la maladie de charcot, de ne pas voir vos gosses mourir de faim ou votre femme de soif, de ne pas avoir à manger vos parents, de ne pas brûler ni finir noyer, de ne pas vous faire dévorer par une larve un rat ou un ours, de ne pas avoir à vous couper le bras au canif pour vous libérer d'une roche ni de vous ronger le pied pour vous extraite d'un piège à loup, de ne pas vous faire irradier par le cul, de ne pas tomber sans fin dans un gouffre, de ne pas vous faire balancer aux requins d'un hélicoptère, de ne pas vous faire crucifier, ni décapiter, ni gazer, ni enfermer dans une basse-fosse, de ne pas devenir fou, de ne pas confondre le remède et le poison, de ne pas vous insérer un obus dans le mauvais trou, de ne pas vous faire pondre des œufs qui vous bouffent de l'intérieur, de ne pas vous faire larguer dans le cosmos, de ne pas perdre en même temps le goût, l’ouïe et la vue, de ne pas vivre avec un tortionnaire, de ne pas faire de descente d'organe, de ne pas devoir ré-ingurgiter éternellement votre vomi  et de ne pas finir enterré vivant &lt;3</span><br></p><p><span data-delight-asset="305462029954292" data-delight="true">Bisou</span><span> </span><span data-delight-asset="305462029954292" data-delight="true">bisou</span></p>

+ 178
- 0
cache/2023/63654b08ad9eda03b6bea8d1f82e2843/index.html
File diff suppressed because it is too large
View File


+ 11
- 0
cache/2023/63654b08ad9eda03b6bea8d1f82e2843/index.md
File diff suppressed because it is too large
View File


+ 172
- 0
cache/2023/index.html View File

<!doctype html><!-- This is a valid HTML5 document. -->
<!-- Screen readers, SEO, extensions and so on. -->
<html lang="fr">
<!-- Has to be within the first 1024 bytes, hence before the `title` element
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
<meta charset="utf-8">
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
<!-- The viewport meta is quite crowded and we are responsible for that.
See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
<meta name="viewport" content="width=device-width,initial-scale=1">
<!-- Required to make a valid HTML5 document. -->
<title>Articles archivés — David Larlet</title>
<meta name="description" content="Lien vers les publications externes mises en cache.">
<!-- That good ol' feed, subscribe :). -->
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
<!-- Generated from https://realfavicongenerator.net/ such a mess. -->
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
<link rel="manifest" href="/static/david/icons2/site.webmanifest">
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
<meta name="msapplication-TileColor" content="#f7f7f7">
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
<meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
<!-- Documented, feel free to shoot an email. -->
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<script>
function toggleTheme(themeName) {
document.documentElement.classList.toggle(
'forced-dark',
themeName === 'dark'
)
document.documentElement.classList.toggle(
'forced-light',
themeName === 'light'
)
}
const selectedTheme = localStorage.getItem('theme')
if (selectedTheme !== 'undefined') {
toggleTheme(selectedTheme)
}
</script>

<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">


<header>
<h1>Articles archivés</h1>
</header>
<nav>
<p class="center">
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
</svg> Accueil</a>
</p>
</nav>
<hr>
<main>
<ul>
<li><a href="/david/cache/2022/63654b08ad9eda03b6bea8d1f82e2843/" title="Accès à l’article dans le cache local : Yearnotes #3 • détour.studio">Yearnotes #3 • détour.studio</a> (<a href="https://détour.studio/yearnotes/3/" title="Accès à l’article original distant : Yearnotes #3 • détour.studio">original</a>)</li>
<li><a href="/david/cache/2022/42b4db67c4daf075941dc387d6be4aaf/" title="Accès à l’article dans le cache local : ETC-ISTE : Bonne année">ETC-ISTE : Bonne année</a> (<a href="http://etc-iste.blogspot.com/2022/12/bonne-annee.html" title="Accès à l’article original distant : ETC-ISTE : Bonne année">original</a>)</li>
</ul>
</main>


<hr>

<footer>
<p>
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use>
</svg> Suivre</a> •
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use>
</svg> Pro</a> •
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use>
</svg> Email</a> •
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use>
</svg> Légal</abbr>
</p>
<template id="theme-selector">
<form>
<fieldset>
<legend><svg class="icon icon-brightness-contrast">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use>
</svg> Thème</legend>
<label>
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
</label>
<label>
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé
</label>
<label>
<input type="radio" value="light" name="chosen-color-scheme"> Clair
</label>
</fieldset>
</form>
</template>
</footer>
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
<script>
function loadThemeForm(templateName) {
const themeSelectorTemplate = document.querySelector(templateName)
const form = themeSelectorTemplate.content.firstElementChild
themeSelectorTemplate.replaceWith(form)

form.addEventListener('change', (e) => {
const chosenColorScheme = e.target.value
localStorage.setItem('theme', chosenColorScheme)
toggleTheme(chosenColorScheme)
})

const selectedTheme = localStorage.getItem('theme')
if (selectedTheme && selectedTheme !== 'undefined') {
form.querySelector(`[value="${selectedTheme}"]`).checked = true
}
}

const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
window.addEventListener('load', () => {
let hasDarkRules = false
for (const styleSheet of Array.from(document.styleSheets)) {
let mediaRules = []
for (const cssRule of styleSheet.cssRules) {
if (cssRule.type !== CSSRule.MEDIA_RULE) {
continue
}
// WARNING: Safari does not have/supports `conditionText`.
if (cssRule.conditionText) {
if (cssRule.conditionText !== prefersColorSchemeDark) {
continue
}
} else {
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
continue
}
}
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
}

// WARNING: do not try to insert a Rule to a styleSheet you are
// currently iterating on, otherwise the browser will be stuck
// in a infinite loop…
for (const mediaRule of mediaRules) {
styleSheet.insertRule(mediaRule.cssText)
hasDarkRules = true
}
}
if (hasDarkRules) {
loadThemeForm('#theme-selector')
}
})
</script>
</body>
</html>

Loading…
Cancel
Save