Nikola Ideas for PyCamp
This friday is the beginning of PyCamp, four days of python hacking without distraction or pause. And I want to code a lot. My main target is features for Nikola my static blog generator.
If you are attending PyCamp (or even if you are not), you are welcome to join me in implementing these in a marathon of kickass coding starting this friday and lasting all weekend.
I have a few ideas in my head, but I want more. These are the ones I have, please add more in the comments if you have any:
- Code Gallery
-
Like image galleries but for code. Put code in a folder and it will be beautifully displayed. With the addition of a "listings" docutils directive, it will make showing code in detail and in context easy and powerful, and make Nikola more attractive to programmer-bloggers.
- Gallery Polishing
-
Image galleries are implemented and work, but they could use a lot of polish. From making them more network-efficient, to image RSS feeds, recursive galleries, gallery metadata, image texts, and much more.
- File Pipelines
-
Want to minimize your CSS? Tidy your HTML? pngcrush your images? apply HTML transformations? Other things I can't imagine?
File pipelines would bring the power of the unix shell to a site generator, letting you connect lego-like filters, some provided, some from the community, into a powerful machinery.
- Online Editing (Alva)
-
While static site generators have lots of benefits, they have one significant downside: you edit the files in your own device. A online editor for Nikola lets you edit them through a web interface for blogging-from-aywhere goodness.
- Nikola Hosting (Shoreham)
-
Why not create a service where the user feeds posts to a server and then the server publishes them? The feeding can be via a DVCS, or a file sync service, or via online editors, and the output is published automatically or at the push of a button.
- Drafts
-
I don't do drafts. I type and that's it. But others prefer more cautious and sane approaches. So, how should drafts work? While the feature may be easy to implement, it's a good beginner programmer's task, where you have to think more about what you want to achieve and providing a good user experience than about just banging code.
So, is there something you saw in another static blog generator and Nikola lacks? Any cool ideas and want a friendly codebase to hack them on? Do you have any crazy ideas noone would touch with a ten-foot-pole but you think would be awesome to have?
Well, now's a good time to talk about it!
If you do pipelines, I could upstream my optimizations. I am therefore hoping you do that. The Gallery Polishing, I would do my own, but I am not really qualified. I would love if it became network efficient, and it actually matters a lot to me. For bonus points, could you integrate with Digikam tags?
Are digikam tags in the EXIF data?
I believe in settings/metadata you get to specifiy what.
From the gallery, I would hope to be able to export all, then let Nikola work on those in its template I suppose, and remove the rest with jpegoptim and friends.
So then in Digikam, I would tag things to be in a certain album, and then I would want it to appear in Nikola. That would be a great user interface, and would require no copying of files and links at all.
But if you do that as a last step, it would probably be best. But I seem to recall you as a KDE guy, so i kind of expect you to know how to talk with Digikam directly.
Yes, former KDE guy, but have no clue about digikam's inner workings, really.
lol, I will forgive. Enjoy your hackfest... I am currently at Europython, and don't get anything done, just talking to so many people, new and witty people, who have a lot to say. But I rebased to latest Nikola and it was easy to do.
One thing, I believe you ought to not forget, is the pylint cleanliness thing. It would allow you to catch typos and mismerges easier (seen recent commits of such) and it's only practical, if you once make it to 0, so you can then use it easily as a check before push.
And btw, I was considering to package Nikola for Debian, but for that, I need a solution for the "doit/nikola" mix. Did you give an OK for that? I wanted to attack that occasionally. It's can't be that hard. As for the packaging, the lack of a doit Debian package will be hurting though.
I am ok with making the nikola command a doit wrapper. If doit is not packaged, you can bundle the standalone doit script: http://python-doit.sourcefo...
And yes, I need to be more careful with pylint and the rest :-)
Ok, will do that then. As for the packaging for Debian, builtin copies bundled are not very popular, but I can still try.
As for pylint, don't worry, it would just be nice, if you had something like "check-with-pylint". You can steal it from Nuitka and re-license as you see fit. It already has most of the things sorted out.
Git it from here: http://nuitka.net/gitweb/?p...
Just change the path to your script, and adapt the while listing, then adapt the options. I have disabled naming stuff, and useless things already.
As a contributor, I would appreciate a quick way to tell that I don't submit any bad stuff. But now, changing things, it's not really practical. So if you want to go for that, you are welcome. :-)
Yours,
Kay
Es una pavada pero tener como opcional tener un "almanaque" similar al que usa el gran hermano del canal (http://irclogger.com/.pyar/) para asustar menos con el archivo creo que estaria bueno
Exportar a pdf!
Here's my two cents: 1) Add support for predefined page layouts. Most sites/pages have header, footer, content area and optionally a left column and/or right column. That would also allow for more powerful theming. 2) add support for including YAML metadata in file header rather than a separate file, as in Jekyll (see https://github.com/mojombo/....
There is already a way to put the metadata in a comment in the post itself (but it seems to be slightly buggy)
I am not sure I understand about the layouts. Can you point me at docs or examples?