Markdown till hemsida
Den första versionen av hemsidan har en del brister. Jag har manuellt skrivit både test.html
och posts/webbsida.html
. Ett bättre system är att skriva texten i Markdown, och sedan köra ett script för att generera alla HTML-filer.
Pandoc
Jag hackade ihop ett python-script som kör Markdownfiler genom Pandoc och klistrar ihop allting till HTML. Nu genererar jag om allting på samma gång med
Post = collections.namedtuple(
"Post",
["title", "description", "date", "content_markdown_file"]
)
posts = [
Post(title="Den här webbsidan",
description="Hur jag skrev den här webbsidan.",
date="2 september 2018",
content_markdown_file="posts/den_har_webbsidan.md"
),
Post(title="Scripts för webbsidan",
description="Scriptsen som klistrar ihop webbsidan.",
date="2 september 2018",
content_markdown_file="posts/den_har_webbsidan_scripts.md"
),
]
for post in posts:
build_post(title=post.title,
description=post.description,
date=post.date,
content_markdown_file=post.content_markdown_file
)
build_main([(post.title, post.description, post.date)
for post in posts])
Ladda upp till Amazon
Att ladda upp till Amazon är ett bekymmer. Genom gränssnittet hittar jag bara hur man laddar upp en fil åt gången. Jag vill ladda upp allla. Helst programmatiskt.
Att ladda hemsidan från Amazon går acceptabelt snabbt.
Det går på under 200ms. Vilket jag läst någonstans är gränsen för att det ska uppfattas blixtsnabbt. Google PageSpeed-verktyg föreslår att lägga CSS-filen inline. Då kanske det blir ännu lite bättre.
Framtida förbättringar
Den första versionen är färglös och trist. Det kommer också bli svårt att hitta och trögt att ladda om alla posts är i en enda lång lista på förstasidan.
Om någon läser vad jag skriver ska jag lägga till Google-Analytics. Jag vill också slänga in något system för att kunna skriva matte. Helst i LaTeX i md-filerna. Jag tror att MathJax är ganska enkelt: man länkar till en JS-fil och skriver matte i LaTeX innanför en speciell tag.
HTTPS ska jag också kanske studera i framtiden. Amazon kan säkert hantera certifikat åt mig.