picocms / Pico

Pico is a stupidly simple, blazing fast, flat file CMS.
http://picocms.org/
MIT License
3.81k stars 616 forks source link

cookbook issue #694

Closed digitalinferno closed 2 months ago

digitalinferno commented 3 months ago

Working on the stats plugin, I encountered some issues with the tags plugin, so I started investigating to achieve clean results.

Considering what I needed (a simple tagging system for my posts) and what I found around (there's an old discussion here on GitHub), I ended up creating my Twig script that properly handles tags without the need for plugins or anything else. Happy face here.

The potential of Twig is immense, and often, at least for someone as ignorant as myself, one might think that it's necessary to use a plugin to do certain things, while Twig can't handle much more than just colors. False.

Long story short, I think we need to better promote the cookbook, and we need to release these scripts as plugins, perhaps with a specific name (just for reference, something like "Extensions"), where plugins add functionality to the Pico Core and Extensions indicate that they add specific functionalities or behaviors to the template.

If now I copy/paste my Twig script here, this issue would be closed, abandoned, and forgotten. My 2 cents.

github-actions[bot] commented 3 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in two days if no further activity occurs. Thank you for your contributions! :+1:

PhrozenByte commented 3 months ago

I totally agree.

However, Pico's biggest issue surely is lack of development and support in general. Towards your suggestion to improve the cookbook I could - as always - say "pull requests are welcome", but honestly, I'm not sure whether I really want to suggest that considering that Pico's future is undecided (doesn't mean that one shouldn't or can't use it for one's own projects; there are no issues with Pico as-is, i.e. if it's working for you that's just fine, however, there's just no development happening).

So, yeah, I agree, but unless the development issue is solved I really don't want to suggest anyone to invest time for other stuff, it might be in vain.

digitalinferno commented 3 months ago

It's easy to say "we need to" without making a pull request, I know. But Pico is intentionally barebones, which aligns with its philosophy. However, showcasing what it can do can be beneficial. It's not just about having the tools, but demonstrating their capabilities. We have tons of plugin, but outdated. Very little exemples for make this or that. Can this attract more devs, power users, or casual lurkers? Maybe as you say, those are vain things without an big interest in the project, but how can we overcome this? I ask just to understand, no polemics or other things.

PhrozenByte commented 3 months ago

No offence taken, it's a valid question. Pico's philosophy is both blessing and curse: Pico targets power users and expects them to solve the stuff they need themselves, because Pico aims to provide the bare minimum of a concept, not final solutions. That's why people mostly come up with individual solutions that aren't universally applicable, thus they often refrain from publishing it. Same with Pico itself, it aims to provide the bare minimum of a concept, thus it's basically feature-complete already - all future features just improve the concept and don't add much new functionality. That's not very attractive to devs. Besides, Pico is no community project: Even though I basically rewrote Pico from scratch, I'm still just a "Contributor" with very limited access; I asked the guy (Greg) who bought the project from its original dev (Gilbert) multiple times to transform it into a community project, but it unfortunately never happened - I thus basically gave up.

Anyway, I don't know what would help to attract more devs, power users, or casual lurkers. You might be right. I don't know. However, we won't get it for free - someone needs to invest time to make it happen. I unfortunately don't have that time - and since I don't see any dev willing to take over the project, I'm not sure whether investing time into related things is worth one's time. However, it's FLOSS, if someone wants to do it I won't prevent them from doing so, I just don't want to give a false impression here.

digitalinferno commented 3 months ago

all future features just improve the concept and don't add much new functionality. That's not very attractive to devs

<meme>Pointing Rick Dalton</meme>

Okay, the goal is not to clone WordPress or Grav; that's clear. And I love Pico's simplicity. But there is room for improvement.

From my point of view, Pico is lacking in two areas:

I asked the guy (Greg) who bought the project from its original dev (Gilbert) multiple times to transform it into a community project, but it unfortunately never happened - I thus basically gave up.

Why not fork? Give a shot to this path.

PhrozenByte commented 3 months ago

Why not fork? Give a shot to this path.

Requires equally, if not even more time, I personally just no longer have. However, if some dev is willing to take this responsibility I'll happily tell people and hand over the limited control I have.

  • basic authentication system to serve specific pages to registered users

There are plugins for that. If I remember correctly the most "feature-complete" (and very solid from a coding perspective) plugin was called PicoAuth. I think it's in the wiki, if not on the website?

  • A style guide for theming

Full ACK. I'd say not just that, but a developers guide in general.

digitalinferno commented 3 months ago

There are plugins for that. If I remember correctly the most "feature-complete" (and very solid from a coding perspective) plugin was called PicoAuth. I think it's in the wiki, if not on the website?

I found it elsewhere... but I'm referring to something a little bit basic (just plain user and pass), or perhaps an "official" API, where you can develop something around it and switch to PicoAuth or PicoWhatever for authentication.

github-actions[bot] commented 2 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in two days if no further activity occurs. Thank you for your contributions! :+1: