Hacker Newsnew | past | comments | ask | show | jobs | submit | ngc6677's commentslogin


Excellent idea!

Really cool that it respects the SSG conventions and separation of content, collections, templates, themes etc.


[flagged]


Thanks for your comments, I appreciate it!

Yes a core part of what I’ve tried to do is separate content from presentation. This all started by trying to build an alt-protocol like Gemini or Gopher as a minimal writing and publishing experience. I realised that for it to be useful it needed to be accessible by browsers, so I added the SSG layer. But it still publishes the source content and config alongside the HTML. This means sites can be accessed by more than just browsers - as an experiment I made a CLI client that parses the source directly.

Themes can be imported via a URL or as a zip file and are pretty similar to Jekyll or 11ty themes. My next task is to port a bunch of them over. I’m also planning to create ready-configured template sites that users can copy and configure. Maybe take an Astro or Ghost approach, with a mix of free and paid themes.


> This all started by trying to build an alt-protocol like Gemini or Gopher as a minimal writing and publishing experience.

I took the briefest of looks at the Gopher/Gemini/alt-publishing scene and found it interesting (though I went no further than surface level research). I'd be interested in hearing more about where this experimentation took you!


A good way to get straight in, is to download `emacs`, open it, and follow the built in "Emacs Tutorial" (click the link on the first page that is shown). It brings a new user through the concepts of the editor, how to move around, do some of the most usual actions, and get familiar with its vocabulary.

At first, it is also a good practice not to install any package, and use the built-in capabilities (`magit` and `org-mode` are now part of the default installation) for a while, the time to discover what comes with the "factory defaults".

Also, for some inspirations, watching videos from `System Crafters, Howard Abrams, Emacs Rocks` to see how some people use it.

It can take a while to get used to everything, or to install packages and customize it to what other editors comes with by default, but the reward is worth.


Also be sure to use "C-h k" (describe-key), "C-h f" (describe-function) and "C-h v" (describe-variable) liberally. Emacs' self-documenting nature makes it significantly easier to understand what certain actions do and how certain options work.

> `magit` and `org-mode` are now part of the default installation)

Org is, but magit is not.


Also similar procedure used on joblist.today https://github.com/joblisttoday to fetch hiring companies and their jobs and store them into sqlite and duckdb, and retrieved on the client side with their wasm modules. The database are generated with a daily github workflow and hosted as artifact on a github page.


this exact same example used to work in firefox a few years back, i guess some change introduced this bug in between


Indeed, I lost the history in a shuffle, but a similar use case broke in some Firefox update, and it's the exact reason behind this comment:

https://github.com/seligman/podcast_to_text/blob/master/sear...

In my case, loading the entire file is loading a tiny bit more data, so this fallback doesn't hurt, but it's still annoying, and broke any hope I had of doing something more clever with the dataset.


The actual regression might be with githup pages where firefox was sending the same ambiguous headers the whole time but something in github's stack started interpreting them differently.


is it doing HTTP range request, to not download an entire db?


Fun! Would be nice to have an automatic translator built in, or already the alphabet.

Btw, for emacs users, there is a `morse-region` and `unmorse-region` https://www.emacswiki.org/emacs/MorseCode to play with


Also an other take here https://gitlab.com/sctlib/bmcp


1. web-components https://developer.mozilla.org/en-US/docs/Web/API/Web_compone...

2. router https://developer.mozilla.org/en-US/docs/Web/API/URL_Pattern...

The rest should be code organization, not even a build tool.

Can check this example https://github.com/radio4000/components


Also, ES modules:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guid...

You basically have the same capability you have in python or other ecosystems if you can be bothered to attempt what the OP suggests. Determining an appropriate way to organize your code is actually a really hard problem to solve if you've been leaning on 3rd parties to solve it for you. It's definitely a skill worth developing. Once you have it you will begin to dislike the organizational suggestions of others because they'll never fit your problem as well as a hand tuned strategy.


Also highly recommending decap CMS, or the svelte version sveltia[0]. With Gitlab backend and PKCE authorization, this CMS connects directly to gitlab without any other middleware (unlike when using Github, which will require one for the auth). With a gitlab pages + decap CMS + static site (jamstack), it is possible to have a site running at no cost. Currently having 20+ sites running this setup for clients and never hit an issue "modeling" the data as Decap config, widgets (also custom ones), can allow pretty much anything.

One downside for this setup, is that uploaded media are not re-sized or compressed (since there is no backend job doing it), so a client must be briefed into "making smaller images" (on the web client side with squoosh.app[2] for example), or using a SSG that does that built-in (hugo, gatsby)

0. https://github.com/sveltia

1. https://decapcms.org/docs/gitlab-backend/#client-side-pkce-a...

2. https://squoosh.app


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: