est.social on üks paljudest sõltumatutest Mastodoni serveritest, mida saab fediversumis osalemiseks kasutada.
est.social on mõeldud Eestis üldkasutatavaks Mastodoni serveriks. est.social is meant to be a general use Mastodon server for Estonia.

Administraator:

Serveri statistika:

95
aktiivsed kasutajad

#hugo

5 postitusega5 osalejaga0 postitust täna

I've written about how we've migrated the @OpenBio website from Wordpress to Hugo. Which was surprisingly easy, especially given that the OBF website has been around since _2001_, so there's nearly 25 years worth of blog posts, conference pages etc.

tzovar.as/migrating-from-wp/

a pole to which many cables connect in a central space
Bastian Greshake TzovarasNotes on migrating a long-running website from WP to Hugo
Veel kasutajalt Bastian Greshake Tzovaras

Can someone point me to an explainer on what is happening in the #Hugo SSG (Static Site Generator) community? I hear stuff about "pay for features" but 'm not really sure what is happening. (FTR, I still happily rely on #Jekyll for my sites, but am always willing to try alternatives and Hugo was obviously a possible choice)

Donno about you guys but it sure is nice not to have to try and decipher the clusterfuck-like syntax of Hugo’s Go-based templating engine anymore…

The code on the left is Kitten¹, on the right is Hugo².

Kitten’s ‘template engine’ is just JavaScript tagged template strings.

(I’m porting the Small Technology Foundation web site³ from Site.js⁴ to Kitten, and in the process from being a Hugo-based static site to a dynamic one with a nice little admin panel I’m making to make it trivially easy to add new news items, events, and videos.)

¹ kitten.small-web.org
² gohugo.io
³ small-tech.org
sitejs.org

Your web server having an interactive shell (REPL) where you can live update entries in your site/app’s database is pretty neat (if I do say so myself) :)

kitten.small-web.org/reference

(I’m porting the Small Technology Foundation site¹ from Site.js² – and hence from being a static site generated via Site.js’s integrated Hugo³ – to Kitten⁴. In the process, I’m creating an admin panel⁵ for the news, events, and videos sections, which will make them easier to update, and storing the data in Kitten’s internal JavaScript Database⁶.)

¹ small-tech.org
² sitejs.org
³ gohugo.io/
kitten.small-web.org
⁵ It’s trivial to create authenticated routes in Kitten. You just add a lock emoji (🔒) to the end of your route’s name. e.g., admin🔒.page.js or /admin🔒/index.page.js (see kitten.small-web.org/reference).
codeberg.org/small-tech/jsdb

#Kitten#REPL#shell
Vastatud lõimes

@TerryHancock@m.filmfreedom.net @TerryHancock@realsocial.life I've seen people talking about this option, of converting the whole WordPress site to a static version, and hosting that online.

reddit.com/r/Wordpress/comment

You'll still need to keep a local PHP version for updates, but the final thing will be just html, javascript, css and images.

A proper static website generator is a good alternative. Like #11ty #hugo or #jekyll

www.reddit.comReddit - Dive into anything

I want to revive my old blog, keeping the old posts. What's the nicest #fediverse #activitypub enabled blog software at the moment? I have markdown files in #hugo now. I could use it's rss, but I'd rather have software that's activitypub native.

My blog also needs to render a static html version which I can publish to #tor, #i2p, #gopher and #ipfs, since I do that currently as well (and it needs some custom javascript to do url replacements/clearnet warnings there).

Well, I am changing my name, so a
new #introduction seems apt...

I'm Raven!

🩺 #nurse
📸 #photography is cool,
👩‍💻 #Linux nerd
🏳️‍⚧️ #trans, #polyamory
🏳️‍🌈 heckin #bi,
🌱 #vegan,
🌹 #leftist,
🌠 star stuff (hail #carlsagan )

I'm #pdx based!

Starting the process of moving away from #meta owned platforms is going to be hard, and IDK how to get other folks on here, but I love this space more than Bluesky or anything else really.

I like using #Signal for comms and stories, so I guess that part is figured out.

Other interests I have...

#sewing
#rockclimbing
#webdesign (check out my #hugo theme: betterwebsites.dev)
#carfree inspired by @notjustbikes
#jiujitsu
#union activism

If any of that resonates with you, feel free to reach out!

My blog is: ravenwinters.org

betterwebsites.devbetterwebsites.devLinks to content by BetterWebsites

Has anyone implemented user authentication system to a static site (think: #Eleventy / #Hugo / anything that ends up as a bunch of HTML pages)?

I'd love to restrict access to one of my semi-public sites to a specific group of friends and assign them their own user-password pairs.

I'd love something nicer than plain .htpasswd.

I'd love it to be as plain and simple as possible. Only a login form. No user sign up, no password reminders. Maybe magic links via email or even static user-password pairs stored in a secure manner on some external backend server.

Of course, I want to self-host it, I want to spend as little time as possible maintaining it, but I could pay a reasonable sum for a nice out-of-the-box solution.

Any suggestions?

(I know Authorizer - authorizer.dev/ - but I wonder if there's anything else I haven't discovered)

authorizer.devAuthorizer | Your data your controlOpen Source Authentication and Authorization solution for your business. Easy to integrate and quick to implement with available SDKs

Minä en ymmärä Hugon cachen toimintaa. Minulla on kaksi templatea, jotka hakevat saman ulkoisen resurssin tismalleen samalla osoitteella. Ymmärsin, että tästä syntyisi cacheen vain yksi merkintä, mutta minulla syntyy kaksi.

Sitten opin, että voin itse määrittää cachen avaimen. Jos laitan avaimeksi sen saman osoitteen, cacheen syntyy vain yksi merkintä.

Mitäköhän ihmettä Hugo käyttää avaimena? 🤔

I gave #Eleventy (the static-site generator) a go, suggested by some fine folks from 32bit.cafe, particularly inspired by @Leilukin's site.

it went pretty well and could even handle my bi-hosting for markdown -> html for my website and gemtext -> gemtext for my gemini capsule surprisingly smoothly.

...until I needed to handle per-blog-post assets.

I put assets such as images associated with each post in the same folder as the index.md of the post resides: posts/2025-01-01-my-post/index.md and posts/2025-01-01-my-post/my-image.png. this is not only easier for organization, but also referencing assets and avoids duplicating post slugs in the file hierarchy.

In #Hugo, these assets will get the same permalink as that of the post. ie, /posts/my-post/index.html and /posts/my-post/my-asset.png, where /posts/my-post is the configurable permalink for blog posts.

Eleventy doesn't handle any file extension other than what can be made into pages, from (md, html, njk, etc) and so these assets are ignored by default. With eleventConfig.addPassthroughCopy(...) I can use a glob such as posts/*/*.{png,mp4,webp,...} to copy the assets into the posts/*/ directory for output. However, it does not respect the permalink field in the data cascade at all, and ends up reproducing the full source directory slug together with the ISO date prefix, ie: /posts/2025-01-01-my-post/my-image.png.

The PR that resolves this which adds a new mode: "html-relative" option to addPassthroughCopy was merged about 3 weeks ago(!), and only part of the latest alpha release as of writing.

At a glance, this seems to solve my problem, but only partially -- it might not work when a post has no HTML output, only gemini, with a single index.gmi file in the posts/2025-01-01-my-post/ directory.

Fingerprinting and cache busting for resources also seems to require using a post-site-generation hook. one of the solutions would loop through all copied assets, rename the files (eg, asset.ext -> asset.hash.ext), loop through all output files and rewrite references to each asset.

Don't get me wrong -- Eleventy, Hugo, Lume, and all the rest of them, they're all great at doing what they are able to do. But when popular SSGs try and fit every need they still end up becoming a little opinionated in certain corner cases. My attempts to roll my own ends up being not very well tested clones of existing SSGs. Perhaps if I'd started with something different, such as Eleventy rather than Hugo to begin with, the story would be different. Or am I just doing everything wrong?

In any case, looks like Eleventy won't be the end to my SSG-hopping...

export default async function(eleventyConfig) {
	// glob here is relative to project root
	eleventyConfig.addPassthroughCopy("content/**/*.mp4", {
		mode: "html-relative"
	});
}...
GitHubAdds `html-relative` Passthrough Copy mode for relative asset references in HTML #3552 by zachleat · Pull Request #3573 · 11ty/eleventyzachleat poolt