socialincome-san / public

Fighting global poverty with the help of everyday people and your coding skills. Public repository of the NGO and global initiative Social Income.
https://socialincome.org
Other
70 stars 24 forks source link

[Website Feature]: Headless CMS for blog #702

Open ssandino opened 5 months ago

ssandino commented 5 months ago

Is there an existing request for this feature?

Is your feature request related to a problem? Please describe.

We are planning to introduce a blog feature on our website that enables non-dev volunteers to publish articles using a headless CMS. Currently, each new page (even text only pages) requires manual coding, which is inefficient and time-consuming.

Describe the solution/feature

Our goal is to use a easy-to-use visual interface that streamlines the workflow, supports automatic deployment, and facilitates the publishing of multilingual articles.

The proposed blog articles should be published under the subdirectory: socialincome.org/journal/TITLE

Important: The headless CMS should be implemented exclusively for the blog section, and not for any other pages on the website.

Describe alternatives you've considered

No response

Criteria for Completion

No response

Anything else?

Additional considerations and information:

Code of Conduct

ssandino commented 5 months ago

@renestalder, I have roughly sketched it out as discussed. Thanks for your help!!!

renestalder commented 5 months ago

@ssandino Thanks. Gonna take a look at it.

renestalder commented 5 months ago

@mkue I quickly wanted to prototype this, then noticed, we have some kind of custom setup with nextjs, as it doesn't follow the usual architecture of using pages/ folders. I also didn't find any note about this in our README.

Where do I begin to find out how this is configured, so I can adapt to that setup? I thought the next.config.js would give me some hint, but it just “magically” seems to work like it does.

It was answered by @ssandino via Slack. They have a "router switcher" hidden in the top section of the NextJS documentation, which I never noticed. My Google search always brought me to the documentation involving the other router.

renestalder commented 5 months ago

@ssandino Is there any need for «region» translated journal entries? Or are languages sufficient enough?

ssandino commented 5 months ago

Languages are sufficient – don't see a need to show journal entries based on region of a user.

renestalder commented 3 months ago

I have now Storyblok connected on the branch im working on, including the setup for using the visual editor.

I'm now about to integrate the journal story type I've setup in Storyblok.

renestalder commented 3 months ago

Another status update and why the ETA is difficult:

It's quite a hazzle, as Next.js 14 is new enough for official documentations not covering it especially. All documentations cover Next.js 13, where this is somewhat «easy» to do as it follows well common known paradigms.

I keep you posted.

renestalder commented 2 months ago

@ssandino @mkue Please somebody else with NextJS experience take that over. My journey with Next so far is a rather frustrating one and this burns completely through my spare time trying to fill the gaps that are missing from the react server components feature-list and NextJS gap-filling solutions.

Also, I get the impression, all tools that help me work in sandboxed environments, in particular Docker and Storybook, are not appreciated by anybody else and getting removed from the repository (Docker being removed a while ago). Which makes working with the code, at least for me, so much more time consuming.

mkue commented 2 months ago

I'll take it over.

Also, I get the impression, all tools that help me work in sandboxed environments, in particular Docker and Storybook, are not appreciated by anybody else and getting removed from the repository (Docker being removed a while ago). Which makes working with the code, at least for me, so much more time consuming.

Well, someone needs to maintain these tools/environments, and with very few people actively working on this repository, and nobody apart from myself actually committed to investing time into improving the dev experience, I have no motivation to keep everything alive for people who just spend a couple of hours per year working on this codebase. You are welcome to bring those tools back if you also commit to maintaining them.