commit f9face7f03cc4f4304694a91ef1bb56620c482da parent 6a4423f5a414af845cc12e7a51c988682c4fef8f Author: Yuval Langer <yuval.langer@gmail.com> Date: Wed, 6 Jun 2018 02:07:46 +0300 Migrate static site generators - from MkDocs to Pelican Diffstat:
19 files changed, 177 insertions(+), 161 deletions(-)
diff --git a/.gitignore b/.gitignore @@ -2,3 +2,4 @@ secret-config.mk public/ /site/ *.swp +output/ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml @@ -6,7 +6,8 @@ pages: - python3 -m pip install -U pip - pip install pipenv - pipenv install - - pipenv run mkdocs build -s -d public + - make gitlab + - mv output public artifacts: paths: - public/ diff --git a/Makefile b/Makefile @@ -1,11 +1,19 @@ -include secret-config.mk - .PHONY: build build: - pipenv run mkdocs build -s -d public -serve: - pipenv run mkdocs serve -s -publish_on_kaka_farm: build - rsync -Pav public/ $(KAKA_FARM_SERVER):$(KAKA_FARM_BLOG_PATH) -clean_kaka_farm: - ssh $(KAKA_FARM_SERVER) rm -rvf $(KAKA_FARM_BLOG_PATH)/* + pipenv run pelican \ + --ignore-cache \ + -s pelican_publication_configuration.py + +.PHONY: gitlab +gitlab: + pipenv run pelican \ + --ignore-cache \ + -s pelican_gitlab_configuration.py + + +.PHONY: dev +dev: + pipenv run pelican \ + --autoreload \ + --ignore-cache \ + -s pelican_development_configuration.py diff --git a/Pipfile b/Pipfile @@ -4,9 +4,5 @@ verify_ssl = true name = "pypi" [packages] -mkdocs = "~=0.17" - -[dev-packages] - -[requires] -python_version = "3.6" +pelican = "*" +markdown = "*" diff --git a/Pipfile.lock b/Pipfile.lock @@ -1,12 +1,10 @@ { "_meta": { "hash": { - "sha256": "cd13fba5df677ee3cbac823a1ae2e387b1655d8bfad5545cc9ab8957dc29da21" + "sha256": "d30e6a06b30166aac76cf51736272fde5241a3a140767919814d6c1409c431e5" }, "pipfile-spec": 6, - "requires": { - "python_version": "3.6" - }, + "requires": {}, "sources": [ { "name": "pypi", @@ -16,12 +14,25 @@ ] }, "default": { - "click": { + "blinker": { "hashes": [ - "sha256:29f99fc6125fbc931b758dc053b3114e55c77a6e4c6c3a2674a2dc986016381d", - "sha256:f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b" + "sha256:471aee25f3992bd325afa3772f1063dbdbbca947a041b8b89466dc00d606f8b6" ], - "version": "==6.7" + "version": "==1.4" + }, + "docutils": { + "hashes": [ + "sha256:02aec4bd92ab067f6ff27a38a38a41173bf01bed8f89157768c1573f53e474a6", + "sha256:51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274", + "sha256:7a4bd47eaf6596e1295ecb11361139febe29b084a87bf005bf899f9a42edc3c6" + ], + "version": "==0.14" + }, + "feedgenerator": { + "hashes": [ + "sha256:5ae05daa9cfa47fa406ee4744d0b7fa1c8a05a7a47ee0ad328ddf55327cfb106" + ], + "version": "==1.9" }, "jinja2": { "hashes": [ @@ -30,18 +41,12 @@ ], "version": "==2.10" }, - "livereload": { - "hashes": [ - "sha256:422de10d7ea9467a1ba27cbaffa84c74b809d96fb1598d9de4b9b676adf35e2c", - "sha256:5ed6506f5d526ee712da9f3739c27714e6f3376f3e481728d298efceae0ec83a" - ], - "version": "==2.5.1" - }, "markdown": { "hashes": [ "sha256:9ba587db9daee7ec761cfc656272be6aabe2ed300fece21208e4aab2e457bc8f", "sha256:a856869c7ff079ad84a3e19cd87a64998350c2b94e9e08e44270faef33400f81" ], + "index": "pypi", "version": "==2.6.11" }, "markupsafe": { @@ -50,32 +55,34 @@ ], "version": "==1.0" }, - "mkdocs": { + "pelican": { "hashes": [ - "sha256:126e9b871adeb077facccc375066fddae1485c7deebe3f10f2052b9a15514fb9", - "sha256:5f4317fd593ea07798bdb083bc06ca4e6b1e745fd1240d459f03cd0af1d58692" + "sha256:2a5347fe47464ee743bff99b6e81d1b5823f2e70e7be5bd6ed66a5bdd5f3578b", + "sha256:f1456c163a963d498abd741ea7c6f47984365ecd8bbd6e118c44e247815cb7ef" ], "index": "pypi", - "version": "==0.17.3" + "version": "==3.7.1" + }, + "pygments": { + "hashes": [ + "sha256:78f3f434bcc5d6ee09020f92ba487f95ba50f1e3ef83ae96b9d5ffa1bab25c5d", + "sha256:dbae1046def0efb574852fab9e90209b23f556367b5a320c0bcb871c77c3e8cc" + ], + "version": "==2.2.0" + }, + "python-dateutil": { + "hashes": [ + "sha256:1adb80e7a782c12e52ef9a8182bebeb73f1d7e24e374397af06fb4956c8dc5c0", + "sha256:e27001de32f627c22380a688bcc43ce83504a7bc5da472209b4c70f02829f0b8" + ], + "version": "==2.7.3" }, - "pyyaml": { + "pytz": { "hashes": [ - "sha256:0c507b7f74b3d2dd4d1322ec8a94794927305ab4cebbe89cc47fe5e81541e6e8", - "sha256:16b20e970597e051997d90dc2cddc713a2876c47e3d92d59ee198700c5427736", - "sha256:3262c96a1ca437e7e4763e2843746588a965426550f3797a79fca9c6199c431f", - "sha256:326420cbb492172dec84b0f65c80942de6cedb5233c413dd824483989c000608", - "sha256:4474f8ea030b5127225b8894d626bb66c01cda098d47a2b0d3429b6700af9fd8", - "sha256:592766c6303207a20efc445587778322d7f73b161bd994f227adaa341ba212ab", - "sha256:5ac82e411044fb129bae5cfbeb3ba626acb2af31a8d17d175004b70862a741a7", - "sha256:5f84523c076ad14ff5e6c037fe1c89a7f73a3e04cf0377cb4d017014976433f3", - "sha256:827dc04b8fa7d07c44de11fabbc888e627fa8293b695e0f99cb544fdfa1bf0d1", - "sha256:b4c423ab23291d3945ac61346feeb9a0dc4184999ede5e7c43e1ffb975130ae6", - "sha256:bc6bced57f826ca7cb5125a10b23fd0f2fff3b7c4701d64c439a300ce665fff8", - "sha256:c01b880ec30b5a6e6aa67b09a2fe3fb30473008c85cd6a67359a1b15ed6d83a4", - "sha256:ca233c64c6e40eaa6c66ef97058cdc80e8d0157a443655baa1b2966e812807ca", - "sha256:e863072cdf4c72eebf179342c94e6989c67185842d9997960b3e69290b2fa269" + "sha256:65ae0c8101309c45772196b21b74c46b2e5d11b6275c45d251b150d5da334555", + "sha256:c06425302f2cf668f1bba7a0a03f3c1d34d4ebeef2c72003da308b3947c7f749" ], - "version": "==3.12" + "version": "==2018.4" }, "six": { "hashes": [ @@ -84,15 +91,12 @@ ], "version": "==1.11.0" }, - "tornado": { + "unidecode": { "hashes": [ - "sha256:5ef073ac6180038ccf99411fe05ae9aafb675952a2c8db60592d5daf8401f803", - "sha256:6d14e47eab0e15799cf3cdcc86b0b98279da68522caace2bd7ce644287685f0a", - "sha256:92b7ca81e18ba9ec3031a7ee73d4577ac21d41a0c9b775a9182f43301c3b5f8e", - "sha256:ab587996fe6fb9ce65abfda440f9b61e4f9f2cf921967723540679176915e4c3", - "sha256:b36298e9f63f18cad97378db2222c0e0ca6a55f6304e605515e05a25483ed51a" + "sha256:72f49d3729f3d8f5799f710b97c1451c5163102e76d64d20e170aedbbd923582", + "sha256:8c33dd588e0c9bc22a76eaa0c715a5434851f726131bd44a6c26471746efabf5" ], - "version": "==4.5.3" + "version": "==1.0.22" } }, "develop": {} diff --git a/content/articles/2018/05/the-thriving-meme-mining-ghost-town-of-hollywood.md b/content/articles/2018/05/the-thriving-meme-mining-ghost-town-of-hollywood.md @@ -0,0 +1,46 @@ +title: The Thriving Meme Mining Ghost Town of Hollywood +date: 2018-05-29 +status: draft + +# [WIP] The Thriving Meme Mining Ghost Town of Hollywood + +Melancholy Elephants by Spyder Robinson was wrong. Old ideas are +known to everybody. The website [TV Tropes] catalogues and publishes +all known elements used in writing of fiction. From novels to computer +games, fan fiction and comics, all elements that had been used in the +construction of fictional stories are methodically catalogued within +its web pages. + +One would imagine that This does not deters authors from writing +fiction. It does not deter film makers, computer game developers, + +- Possible topics: + - TV Tropes + - Spyder Robinson's thesis in Melancholy Elephants: + - indefinite lifespan lead to + - indefinite copyright act lead to + - artists put out of job lead to + - a sense of purposeless + - Remakes, reboots, soft reboots, spoofs, allusions, parodies, (and deep fakes) with a weakening force + - a sucker is born every minute + - people forget + - [Mr. Plinkett]: + + > We're mostly creatures of habit. + + - The Bell Curve by Mr. Plinkett + - 3 minutes following this: <https://www.youtube.com/watch?v=WHiceVim9Wg&t=55m30s> + - thanks to [rosenjcb]'s [The Bell Curve clip] for reminding me where it starts + + - In biology, [Diversity index]. + - Diminishing returns on creative work, remix culture yields better returns. + - The maintenance of culture (or, the positive flipside of this rant) + - A dead language is that which no one speaks + - Culture is not only created, but experienced, remembered, reused, and taught. + + +[Diversity index]: https://en.wikipedia.org/wiki/Diversity_index +[Mr. Plinkett's Titanic Review]: https://www.youtube.com/watch?v=WHiceVim9Wg +[rosenjcb]: https://www.youtube.com/channel/UCRXWBzWj8Hkv-TPPuVFGcAQ +[The Bell Curve clip]: https://www.youtube.com/watch?v=CMmZq0rTpA0 +[TV Tropes]: <https://tvtropes.com/> "TV Tropes" diff --git a/content/articles/2018/06/irony-and-sincerity.md b/content/articles/2018/06/irony-and-sincerity.md @@ -0,0 +1,28 @@ +title: irony versus sincerity in conversations +date: 2018-06-05 +status: draft + +# irony versus sincerity in conversations + +## Possible topics +- roles of irony in voicing unpopular opinions (I am not sure how much each of these play a role generally): + - showing a low level of commitment to one's opinions to others. + + > It's just a meme, bro! + + - having a loose and uncommitted relationship to opinions and ideas. + + (to oneself:) + > It's just a joke. I don't even believe it, so I'm fine morally. + + - humour helps keeping an audience's attention, as seen in satirists' works. + - being able to voice your actual hateful opinions. ![Hateful Opinions] + + +[Hateful Opinions]: <images/altfur.net/8e98d766de8cd401122d4f1c66aaf9a0e2f3a3ca/file_7703.jpg> +[Hateful Opinions source?]: <https://www.theguardian.com/commentisfree/2017/dec/29/milo-yiannopouloss-draft-and-the-role-of-editors-in-dealing-with-the-far-right> +[Irony Dada?]: <https://www.moma.org/learn/moma_learning/themes/dada> +[wp:Post Irony]: <https://en.wikipedia.org/wiki/Post-irony> +[death of hipster]: <https://bizarreculture.com/death-of-the-hipster-are-we-living-in-a-post-ironic-world/> +[robek world's melancholy of brilliant shane]: <https://robekworld.com/the-melancholy-of-brilliant-shane-8de79ebf3621> +[robek world's huge list of fake news sites]: <https://robek.world/internet/huge-list-of-fake-news-sites/> "Got this when searched `post irony robek world`" diff --git a/content/images/altfur.net/8e98d766de8cd401122d4f1c66aaf9a0e2f3a3ca/file_7703.jpg b/content/images/altfur.net/8e98d766de8cd401122d4f1c66aaf9a0e2f3a3ca/file_7703.jpg Binary files differ. diff --git a/content/pages/about.md b/content/pages/about.md @@ -0,0 +1,4 @@ +title: About +date: 01-01-01 + +`I write to learn what I think.` (... and I often think about useless shitty things.) diff --git a/content/pages/index.md b/content/pages/index.md @@ -0,0 +1,6 @@ +title: Kaka Farm +date: 01-01-01 + +# Kaka Farm + +Welcome to Kaka Farm. diff --git a/docs/2018/05/the-thriving-meme-mining-ghost-town-of-hollywood.md b/docs/2018/05/the-thriving-meme-mining-ghost-town-of-hollywood.md @@ -1,42 +0,0 @@ -# [WIP] The Thriving Meme Mining Ghost Town of Hollywood - -Melancholy Elephants by Spyder Robinson was wrong. Old ideas are -known to everybody. The website [TV Tropes] catalogues and publishes -all known elements used in writing of fiction. From novels to computer -games, fan fiction and comics, all elements that had been used in the -construction of fictional stories are methodically catalogued within -its web pages. - -One would imagine that This does not deters authors from writing -fiction. It does not deter film makers, computer game developers, - -- Possible topics: - - TV Tropes - - Spyder Robinson's thesis in Melancholy Elephants: - - indefinite lifespan lead to - - indefinite copyright act lead to - - artists put out of job lead to - - a sense of purposeless - - Remakes, reboots, soft reboots, spoofs, allusions, parodies, (and deep fakes) with a weakening force - - a sucker is born every minute - - people forget - - [Mr. Plinkett]: - - > We're mostly creatures of habit. - - - The Bell Curve by Mr. Plinkett - - 3 minutes following this: <https://www.youtube.com/watch?v=WHiceVim9Wg&t=55m30s> - - thanks to [rosenjcb]'s [The Bell Curve clip] for reminding me where it starts - - - In biology, [Diversity index]. - - Diminishing returns on creative work, remix culture yields better returns. - - The maintenance of culture (or, the positive flipside of this rant) - - A dead language is that which no one speaks - - Culture is not only created, but experienced, remembered, reused, and taught. - - -[Diversity index]: https://en.wikipedia.org/wiki/Diversity_index -[Mr. Plinkett's Titanic Review]: https://www.youtube.com/watch?v=WHiceVim9Wg -[rosenjcb]: https://www.youtube.com/channel/UCRXWBzWj8Hkv-TPPuVFGcAQ -[The Bell Curve clip]: https://www.youtube.com/watch?v=CMmZq0rTpA0 -[TV Tropes]: <https://tvtropes.com/> "TV Tropes" diff --git a/docs/2018/06/irony-and-sincerity.md b/docs/2018/06/irony-and-sincerity.md @@ -1,24 +0,0 @@ -# irony versus sincerity in conversations - -## Possible topics -- roles of irony in voicing unpopular opinions (I am not sure how much each of these play a role generally): - - showing a low level of commitment to one's opinions to others. - - > It's just a meme, bro! - - - having a loose and uncommitted relationship to opinions and ideas. - - (to oneself:) - > It's just a joke. I don't even believe it, so I'm fine morally. - - - humour helps keeping an audience's attention, as seen in satirists' works. - - being able to voice your actual hateful opinions. ![Hateful Opinions] - - -[Hateful Opinions]: <images/altfur.net/8e98d766de8cd401122d4f1c66aaf9a0e2f3a3ca/file_7703.jpg> -[Hateful Opinions source?]: <https://www.theguardian.com/commentisfree/2017/dec/29/milo-yiannopouloss-draft-and-the-role-of-editors-in-dealing-with-the-far-right> -[Irony Dada?]: <https://www.moma.org/learn/moma_learning/themes/dada> -[wp:Post Irony]: <https://en.wikipedia.org/wiki/Post-irony> -[death of hipster]: <https://bizarreculture.com/death-of-the-hipster-are-we-living-in-a-post-ironic-world/> -[robek world's melancholy of brilliant shane]: <https://robekworld.com/the-melancholy-of-brilliant-shane-8de79ebf3621> -[robek world's huge list of fake news sites]: <https://robek.world/internet/huge-list-of-fake-news-sites/> "Got this when searched `post irony robek world`" diff --git a/docs/about.md b/docs/about.md diff --git a/docs/index.md b/docs/index.md @@ -1,3 +0,0 @@ -# Kaka Farm - -Welcome to Kaka Farm. diff --git a/mkdocs.yml b/mkdocs.yml @@ -1,34 +0,0 @@ -# Project information -# https://www.mkdocs.org/user-guide/configuration/#project-information - -site_name: Kaka Farm -site_url: https://kaka.farm/blog/ -repo_url: https://gitlab.com/yuvallanger/kaka.farm -repo_name: GitLab -edit_uri: edit/master/docs/ -site_description: A personal blog -site_author: Yuval Langer - -# Documentation layout -# https://www.mkdocs.org/user-guide/configuration/#documentation-layout - -pages: - - Home: 'index.md' - - Essays: - - May 2018: - - '[WIP] The Thriving Meme Mining Ghost Town of Hollywood': '2018/05/the-thriving-meme-mining-ghost-town-of-hollywood.md' - - About: 'about.md' - -# Build directories -# https://www.mkdocs.org/user-guide/configuration/#build-directories - -theme: readthedocs - -# Formatting options -# https://www.mkdocs.org/user-guide/configuration/#formatting-options - -# plugins -# https://www.mkdocs.org/user-guide/configuration/#plugins - -plugins: - - search diff --git a/pelican_base_configuration.py b/pelican_base_configuration.py @@ -0,0 +1,2 @@ +TIMEZONE = "UTC" +PATH = "content/" diff --git a/pelican_development_configuration.py b/pelican_development_configuration.py @@ -0,0 +1,10 @@ +import pathlib + +from pelican_base_configuration import ( + PATH, + TIMEZONE, +) + +SITEURL = (pathlib.Path(".").absolute() / "output").as_uri() +FEED_DOMAIN = SITEURL +RELATIVE_URLS = True diff --git a/pelican_gitlab_configuration.py b/pelican_gitlab_configuration.py @@ -0,0 +1,7 @@ +exec( + open( + "pelican_base_configuration.py", + ).read() +) + +SITEURL = "https://yuvallanger.gitlab.io/kaka.farm" diff --git a/pelican_publication_configuration.py b/pelican_publication_configuration.py @@ -0,0 +1,6 @@ +from pelican_base_configuration import ( + PATH, + TIMEZONE, +) + +SITEURL = "https://kaka.farm/blog"