Open patrickjohncollins opened 9 years ago
That would be wonderful. The only related project I'm aware of is https://github.com/FedericoCeratto/shoebill by @FedericoCeratto.
Thanks for mentioning it - is there any feature that you think Shoebill is lacking?
Is there a demo of Shoebill ? I'm not sure what it does.
There is no demo, I've added few lines on the readme file and a screenshot.
Provided pelican-md-yaml plugin can be enabled, one can use Prose to edit articles.
To do the core design you need to learn html/css/javascript and create your own template. That code you can write in any editor that supports those languages. For articles I don't know if you use .rst or .md, but there is a few nice Markdown editors out there. I use Remarkable in ArchLinux.
Certainly, it is possible to use Pelican in combination with a text editor, personally I use Sublime Text on Mac OS X, and it works fine, but it is a rather manual process. A graphical user interface would simplify greatly the tasks of creating a new site, setting up the parameters, selecting a pre-existing template, perhaps also providing the possibility to preview the site locally in a browser, and also publish the result to a server with the click of a button. Such an interface would open the door to many users who are not as comfortable as we are at using the command line.
@patrickjohncollins graphical instead of web based?
@FedericoCeratto I think it would make most sense for the UI to be developed in HTML/CSS/JS so that it can be run on multiple platforms, either locally on the desktop or hosted on a server.
Yeah, that's true. It makes it more platform independant.
On 2015-02-08 11:33, Patrick John Collins wrote:
@FedericoCeratto https://github.com/FedericoCeratto I think it would make most sense for the UI to be developed in HTML/CSS/JS so that it can be run on multiple platforms, either locally on the desktop or hosted on a server.
— Reply to this email directly or view it on GitHub https://github.com/getpelican/pelican/issues/1601#issuecomment-73405368.
it would make most sense for the UI to be developed in HTML/CSS/JS so that it can be run on multiple platforms, either locally on the desktop or hosted on a server.
Like Prose?
I think a distinction should be made between a graphical text editor with Pelican support, and a Pelican management frontend. For example, a Prose-like editor could be deployed on a per-site basis, while a GTK- or Qt-based multisite management interface could be used by an administrator to back up, move, and deploy sites rapidly. Both would be extremely useful, however.
I've been busy creating a (web based) IDE for Pelican based sites. It's very much a work in progress, but I've written a small post about it: http://blurringexistence.net/introducing-pelicide.html
There's also an interactive demo: http://blurringexistence.net/pelicide-demo/
@iksteen nice UI - you might want to reuse code from https://github.com/FedericoCeratto/shoebill ... or maybe I might integrate your UI in it in future.
@iksteen It looks great!
@FedericoCeratto Thanks! While that demo isn't connected to a back-end, the back-end does exist. It's basically a Twisted site that connects to a runner script which can perform various pelican tasks by importing the pelican modules and pelicanconf.py directly (it replaces the main pelican executable).
The code (both front-end and back-end) is available in a GitHub repository.
@DirkR thanks!
@iksteen very neat!
If there are no plans to implement another pelican GUI, this should probably be closed.
For folks who want an administrative interface for Pelican, I suggest you encourage @tarekziade to expand upon his work on Henet.
For command-line users, I have a cool little blogging util written in Python which is based on Pelican. It supports adding, deleting, editing, searching (leveraging SQLite3 FTS5) blog posts, etc. Even though it's command-line tool, you can use your favorite GUI editor (e.g., I use VS Code) to edit post. It's coupled with my personal blog but it might give people inspirations.
I have been writing blog in this way for many years. And here is my personal blog.
./blog.py -h
usage: blog.py [-h]
{update_tags,utag,utag1,utag2,utag3,utag4,utag5,utag6,utag7,utag8,utag9,utag10,update_category,ucat,ucat1,ucat2,ucat3,ucat4,ucat5,ucat6,ucat7,ucat8,ucat9,ucat10,tags,t,cats,c,update,u,reload,r,list,l,search,s,add,a,edit,e,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,move,m,m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,publish,p,delete,d,d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,query,q,auto_git_push,auto,agp,ap,space_vim,isv,sv,svim,clear,status,st,sts,diff,df,dif}
...
Write blog in command line.
positional arguments:
{update_tags,utag,utag1,utag2,utag3,utag4,utag5,utag6,utag7,utag8,utag9,utag10,update_category,ucat,ucat1,ucat2,ucat3,ucat4,ucat5,ucat6,ucat7,ucat8,ucat9,ucat10,tags,t,cats,c,update,u,reload,r,list,l,search,s,add,a,edit,e,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,move,m,m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,publish,p,delete,d,d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,query,q,auto_git_push,auto,agp,ap,space_vim,isv,sv,svim,clear,status,st,sts,diff,df,dif}
Sub commands.
update_tags (utag, utag1, utag2, utag3, utag4, utag5, utag6, utag7, utag8, utag9, utag10)
update tags of posts.
update_category (ucat, ucat1, ucat2, ucat3, ucat4, ucat5, ucat6, ucat7, ucat8, ucat9, ucat10)
update category of posts.
tags (t) List all tags and their frequencies.
cats (c) List all categories and their frequencies.
update (u) Update information of changed posts.
reload (r) Reload information of posts.
list (l) List last search results.
search (s) Search for posts. Tokens separated by spaces ( ) or
plus signs (+) in the search phrase are matched in
order with tokens in the text. ORDERLESS match of
tokens can be achieved by separating them with the AND
keyword. You can also limit match into specific
columns. For more information, please refer to
https://sqlite.org/fts5.html
add (a) Add a new post.
edit (e, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10)
edit a post.
move (m, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10)
Move a post.
publish (p) Publish the blog.
delete (d, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10)
Delete a post/page.
query (q) Run a SQL query.
auto_git_push (auto, agp, ap)
Run a SQL query.
space_vim (isv, sv, svim)
Install SpaceVim.
clear (c) Remove the underlying SQLite3 database.
status (st, sts) The git status command.
diff (df, dif) The git diff command.
optional arguments:
-h, --help show this help message and exit
@patrickjohncollins my UI https://github.com/FedericoCeratto/shoebill is indeed web-based. PRs are welcome.
I haven't used it myself, but apparently Netlify CMS works with Pelican, and even provides a starter Pelican template. If I understand correctly, Netlify CMS provides a web interface for editing statically generated sites. It might not allow one to set up and modify the Pelican configuration, but I think it will allow one to add, change, and remove website content.
I'm not sure what the purpose of this issue is. Is it meant to track a new feature to create a UI as part of the main project, or a new subproject, or is it just an answered question?
As user states. GUI would be nice. As in app for Desktop. Linux/macOS/Windows that is. It's 2024 so anything else than platform independent is just stupid. 😏
Hello,
This should be moved to a discussion, agree with @GiovanH.
It's an interesting topic though. In a time where the code editors are so versatile (I think of VS code but there are many others), can preview markdown, have a terminal view, what would be the use of that tool?
I can think a few features that would be interesting for me:
pelican && pelican -rl
I guess the feature list depends on your usage.
Would be a nice side project, I would contribute if it'd use a modern python based UI framework like NiceGUI.
I'd like to know if a graphical user interface exists for Pelican? It would be nice to be able to have a visual interface for creating a new site, setting the parameters, creating & editing articles, and more. If one does not exist, I would be interested in creating one. Comments?