|
|
|
|
|
|
|
|
import locale |
|
|
import locale |
|
|
import os |
|
|
import os |
|
|
from dataclasses import dataclass |
|
|
from dataclasses import dataclass |
|
|
from datetime import date, datetime |
|
|
|
|
|
|
|
|
from datetime import date, datetime, timedelta |
|
|
from html import escape |
|
|
from html import escape |
|
|
from pathlib import Path |
|
|
from pathlib import Path |
|
|
from time import perf_counter |
|
|
from time import perf_counter |
|
|
|
|
|
|
|
|
LOCAL_DOMAIN = "http://larlet.test:3579" |
|
|
LOCAL_DOMAIN = "http://larlet.test:3579" |
|
|
# Hardcoding publication at 12 in Paris timezone. |
|
|
# Hardcoding publication at 12 in Paris timezone. |
|
|
NORMALIZED_STRFTIME = "%Y-%m-%dT12:00:00+01:00" |
|
|
NORMALIZED_STRFTIME = "%Y-%m-%dT12:00:00+01:00" |
|
|
|
|
|
TODAY = date.today() - timedelta(hours=6) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class CustomHTMLRenderer(mistune.HTMLRenderer): |
|
|
class CustomHTMLRenderer(mistune.HTMLRenderer): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@property |
|
|
@property |
|
|
def is_draft(self): |
|
|
def is_draft(self): |
|
|
return self.date > date.today() |
|
|
|
|
|
|
|
|
return self.date > TODAY |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@cli |
|
|
@cli |