aboutsummaryrefslogtreecommitdiff
path: root/pyblog (follow)
Commit message (Collapse)AuthorAgeFilesLines
* pyblog: use lxml instead of xmlZhiming Wang2015-06-101-38/+7
| | | | | | Specifically lxml.etree instead of xml.etree.ElementTree. This allows CDATA without hack.
* pyblog: fix typo in atom feed subtitleZhiming Wang2015-06-101-1/+2
| | | | | Subtitle was added along with RSS, but I accidentally used <title> instead of <subtitle> for the tag.
* pyblog: implement RSS feedZhiming Wang2015-06-101-23/+204
|
* pyblog: extract script tags from feedsZhiming Wang2015-06-091-0/+3
| | | | Fixes #2.
* pyblog: fix URL formatsZhiming Wang2015-06-091-6/+8
| | | | | Use canonical format for BLOG_HOME, and use urllib.parse.join for safe concatenation.
* pyblog: do not include line-number classes in feedZhiming Wang2015-06-091-0/+3
| | | | | | For one thing, the top attribute is not recommended in feeds (see https://github.com/zmwangx/zmwangx.github.io/issues/2). Also, extracting line numbers (which are useless in feeds) make the feeds smaller.
* pyblog: bug fix in auto retouchZhiming Wang2015-05-221-7/+11
|
* pyblog: smarter auto touchZhiming Wang2015-05-191-15/+16
| | | | Now reading date directly from post.
* add noscript tag for javascript embedded asciicastZhiming Wang2015-05-141-0/+2
|
* pyblog: fix bug in re match object handlingZhiming Wang2015-05-141-3/+3
| | | | Somehow the linter failed to catch the obvious syntax errors.
* add source code line numbersZhiming Wang2015-05-141-0/+36
| | | | | | | | | | The way I handle line numbers and the pre block in general is inspired by the MDN wiki. See, for instance, https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript a screenshot is here: https://i.imgur.com/982TBDc.png Also tweaked other styles, e.g., changed the primary monospace font to Consolas, and slightly tweaked a few old posts.
* pyblog: smarter autotouch in gen_deployZhiming Wang2015-05-131-3/+13
|
* sitemap.xml: correct <lastmod> datetime formatZhiming Wang2015-05-131-3/+5
| | | | | | | | | | | | | | | | | coreutils date --iso-8601=s generates output like 2015-05-13T13:04:24-0700 while the correct format (at least the format Python datetime.datetime.isoformat() prints, and the format Google expects) is 2015-05-13T13:04:24-07:00 Account for this problem. I didn't read the RFC, so not sure.
* add support for lfooter (updated) and top level pages...Zhiming Wang2015-05-131-17/+39
| | | | (other than index.html).
* pyblog: put hard coded string literals into constantsZhiming Wang2015-05-131-20/+43
| | | | | | Configuration constants are configurable at the top of the source file. This is not final: they should be put into a YAML/INI config file in the end.
* try to debug failed buildZhiming Wang2015-05-091-26/+32
| | | | | | | https://travis-ci.org/zmwangx/zmwangx.github.io/builds/61860458 First step in debugging: dump the HTML to see what's missing and how it missed.
* 20150509 storyboard reached 0.1Zhiming Wang2015-05-091-7/+3
| | | | | Also fixed the bugs in pyblog introduced in the last revision and tweaked the theme a bit.
* add requirements.txtZhiming Wang2015-05-071-1/+2
| | | | | | | Also install requirements in .travis.yml. By the way, I explored ways to install Pandoc in a Travis container environment (without sudo), but that's just too hard. Giving up.
* pyblog: implement auto touching in gen_deployZhiming Wang2015-05-071-18/+74
| | | | | | Even after implementing touch, I can't remember to touch a new post before deploying. Now gen_deploy tries to smartly determine the latest post and prompts for touching.
* improve Why Oh My Zsh is completely brokenZhiming Wang2015-05-061-1/+3
|
* fix minor invalid HTML issuesZhiming Wang2015-05-061-1/+1
|
* add sitemap.xml and robots.txtZhiming Wang2015-05-051-2/+46
|
* 20150505 Graceful handling of SIGINT when using Python's multiprocessing.ProcessZhiming Wang2015-05-051-21/+105
| | | | | Also implemented the "touch" action in pyblog, as well as wrote a README.md for the source branch. And some other minor patching.
* add feed icon to footerZhiming Wang2015-05-051-2/+3
| | | | Among other fixes and tweaks.
* pyblog: get preview rightZhiming Wang2015-05-051-81/+36
| | | | | | | | | Apparently I didn't know what I was doing. Stopping the server is such a simple problem, yet I made it so complicated. Handling SIGINT gracefully, on the other hand, is a little bit tricky, due to blocked communication between different processes. Anyway, I've got it covered now.
* pyblog: implement previewZhiming Wang2015-05-051-19/+170
| | | | | | | | | | | | | | Also tweaked icons a bit. Note that this commit doesn't really work: I implemented a "stoppable HTTP Server" here to be stopped when "mother process" receives SIGINT (i.e., KeyboardInterrupt), without realizing that all porcesses get SIGINT. Therefore, the custom server is hardly needed. See http://git.io/vJ9yA for more information. (This implementation has some value tought, that's why I'm committing to keep it in history.)
* pyblog: implement deploy and gen_deployZhiming Wang2015-05-051-11/+150
| | | | Also changed month to short format on the index page.
* 20150505: New blog, new startZhiming Wang2015-05-051-14/+72
| | | | | | | | | | | Also fixed several problems: 1. Rending SVG and making it a clickable link is basically impossible across multiple browsers. I'm now using a pretty good PNG; 2. Implemented new_post in pyblog; 3. Footnotes related updates to the theme.
* handle navigation button and faviconsZhiming Wang2015-05-051-2/+2
| | | | | | | | Note that I'm using an <embed> tag with the svg because if wrapped in <img>, the svg won't render on Safari. After using the <embed> tag, the svg renders on all four major browsers on OS X (Chrome, Safari, Firefox, Opera), and it looks nice on all three but Firefox, in which case it's crappy as fuck.
* convert date metadata field to ISO 8601Zhiming Wang2015-05-051-2/+0
|
* a lot of workZhiming Wang2015-05-051-7/+242
| | | | Mainly generating feed and index.
* edit posts and (mostly) figured out the themeZhiming Wang2015-05-041-0/+145
Also wrote pyblog that currently can generate parts most of the blog.