From 3a30fb8a0765b712917787139184828f31b845eb Mon Sep 17 00:00:00 2001 From: Dhananjay Balan Date: Tue, 31 Jan 2017 15:52:21 +0100 Subject: [PATCH] Compatibility with Octopress site. Don't break urls. 1. New Route function which generates routes compatible with old blog. 2. Renamed posts folder to blog. --- {posts => blog}/2011-03-21-long-time.markdown | 0 .../2011-03-24-school-memories.markdown | 0 ...1-03-26-earth-hour-official-video.markdown | 0 {posts => blog}/2011-03-26-firefox.markdown | 0 ...-01-compski-night-firends-and-fun.markdown | 0 .../2011-04-03-happy-birthday-colin.markdown | 0 ...1-04-05-sharing-the-posterous-way.markdown | 0 .../2011-04-19-bed-of-roses.markdown | 0 {posts => blog}/2011-04-20-happy.markdown | 0 {posts => blog}/2011-04-28-adept.markdown | 0 .../2011-05-02-the-story-of-linux.markdown | 0 .../2011-05-07-gsoc-2011-i-am-in.markdown | 0 ...welcome-to-acm-courtesy-of-google.markdown | 0 ...2011-05-28-hmm-vacation-work-time.markdown | 0 .../2011-06-04-distributed-computing.markdown | 0 .../2011-06-05-random-reverbations.markdown | 0 ...1-07-19-birthday-food-for-thought.markdown | 0 {posts => blog}/2011-08-23-sigsegv.markdown | 0 ...at-you-do-when-you-get-a-free-day.markdown | 0 .../2011-09-10-good-to-be-back.markdown | 0 .../2011-09-11-nothing-else-matters.markdown | 0 {posts => blog}/2011-09-16-crazy.markdown | 0 ...-11-ffmepg-nokia-7210-video-clips.markdown | 0 .../2011-10-11-latex-on-the-go.markdown | 0 .../2011-10-28-falling-slowly.markdown | 0 ...-01-09-arrow-keys-input-in-python.markdown | 0 ...rogress-bar-in-mercurial-pushpull.markdown | 0 ...hamarassery-mountain-pass-wayanad.markdown | 0 .../2012-11-21-netbsd-chronicles.markdown | 0 .../2012-11-24-my-perfect-terminal.markdown | 0 .../2012-12-06-rooting-a-nexus-7.markdown | 0 .../2012-12-12-name-your-servers.markdown | 0 .../2013-01-01-a-thank-you-note.markdown | 0 {posts => blog}/2013-05-03-new-home.markdown | 0 ...g-started-with-rtems-on-archlinux.markdown | 0 .../2013-05-28-summer-of-code-2013.markdown | 0 ...13-06-23-debugging-rtems-with-gdb.markdown | 0 ...utomatic-log-in-for-act-broadband.markdown | 0 ...21-syslog-on-mac-os-x-cheat-sheet.markdown | 0 ...28-state-of-terminal-2015-edition.markdown | 0 .../2015-03-29-notes-on-cgo.markdown | 0 ...2015-06-30-static-site-generators.markdown | 0 {posts => blog}/2015-08-22-recursion.markdown | 0 .../2015-12-01-a-random-rant.markdown | 0 .../2015-12-28-swanthathralokam.markdown | 0 ...-accidental-shadowing-of-variable.markdown | 0 ...6-03-31-finding-a-programming-job.markdown | 0 blogng.cabal | 2 ++ site.hs | 27 ++++++++++++++++--- 49 files changed, 25 insertions(+), 4 deletions(-) rename {posts => blog}/2011-03-21-long-time.markdown (100%) rename {posts => blog}/2011-03-24-school-memories.markdown (100%) rename {posts => blog}/2011-03-26-earth-hour-official-video.markdown (100%) rename {posts => blog}/2011-03-26-firefox.markdown (100%) rename {posts => blog}/2011-04-01-compski-night-firends-and-fun.markdown (100%) rename {posts => blog}/2011-04-03-happy-birthday-colin.markdown (100%) rename {posts => blog}/2011-04-05-sharing-the-posterous-way.markdown (100%) rename {posts => blog}/2011-04-19-bed-of-roses.markdown (100%) rename {posts => blog}/2011-04-20-happy.markdown (100%) rename {posts => blog}/2011-04-28-adept.markdown (100%) rename {posts => blog}/2011-05-02-the-story-of-linux.markdown (100%) rename {posts => blog}/2011-05-07-gsoc-2011-i-am-in.markdown (100%) rename {posts => blog}/2011-05-14-welcome-to-acm-courtesy-of-google.markdown (100%) rename {posts => blog}/2011-05-28-hmm-vacation-work-time.markdown (100%) rename {posts => blog}/2011-06-04-distributed-computing.markdown (100%) rename {posts => blog}/2011-06-05-random-reverbations.markdown (100%) rename {posts => blog}/2011-07-19-birthday-food-for-thought.markdown (100%) rename {posts => blog}/2011-08-23-sigsegv.markdown (100%) rename {posts => blog}/2011-08-30-what-you-do-when-you-get-a-free-day.markdown (100%) rename {posts => blog}/2011-09-10-good-to-be-back.markdown (100%) rename {posts => blog}/2011-09-11-nothing-else-matters.markdown (100%) rename {posts => blog}/2011-09-16-crazy.markdown (100%) rename {posts => blog}/2011-10-11-ffmepg-nokia-7210-video-clips.markdown (100%) rename {posts => blog}/2011-10-11-latex-on-the-go.markdown (100%) rename {posts => blog}/2011-10-28-falling-slowly.markdown (100%) rename {posts => blog}/2012-01-09-arrow-keys-input-in-python.markdown (100%) rename {posts => blog}/2012-03-18-progress-bar-in-mercurial-pushpull.markdown (100%) rename {posts => blog}/2012-03-29-thamarassery-mountain-pass-wayanad.markdown (100%) rename {posts => blog}/2012-11-21-netbsd-chronicles.markdown (100%) rename {posts => blog}/2012-11-24-my-perfect-terminal.markdown (100%) rename {posts => blog}/2012-12-06-rooting-a-nexus-7.markdown (100%) rename {posts => blog}/2012-12-12-name-your-servers.markdown (100%) rename {posts => blog}/2013-01-01-a-thank-you-note.markdown (100%) rename {posts => blog}/2013-05-03-new-home.markdown (100%) rename {posts => blog}/2013-05-28-getting-started-with-rtems-on-archlinux.markdown (100%) rename {posts => blog}/2013-05-28-summer-of-code-2013.markdown (100%) rename {posts => blog}/2013-06-23-debugging-rtems-with-gdb.markdown (100%) rename {posts => blog}/2014-08-16-automatic-log-in-for-act-broadband.markdown (100%) rename {posts => blog}/2015-02-21-syslog-on-mac-os-x-cheat-sheet.markdown (100%) rename {posts => blog}/2015-03-28-state-of-terminal-2015-edition.markdown (100%) rename {posts => blog}/2015-03-29-notes-on-cgo.markdown (100%) rename {posts => blog}/2015-06-30-static-site-generators.markdown (100%) rename {posts => blog}/2015-08-22-recursion.markdown (100%) rename {posts => blog}/2015-12-01-a-random-rant.markdown (100%) rename {posts => blog}/2015-12-28-swanthathralokam.markdown (100%) rename {posts => blog}/2016-01-14-golang-shorthand-operator-allows-accidental-shadowing-of-variable.markdown (100%) rename {posts => blog}/2016-03-31-finding-a-programming-job.markdown (100%) diff --git a/posts/2011-03-21-long-time.markdown b/blog/2011-03-21-long-time.markdown similarity index 100% rename from posts/2011-03-21-long-time.markdown rename to blog/2011-03-21-long-time.markdown diff --git a/posts/2011-03-24-school-memories.markdown b/blog/2011-03-24-school-memories.markdown similarity index 100% rename from posts/2011-03-24-school-memories.markdown rename to blog/2011-03-24-school-memories.markdown diff --git a/posts/2011-03-26-earth-hour-official-video.markdown b/blog/2011-03-26-earth-hour-official-video.markdown similarity index 100% rename from posts/2011-03-26-earth-hour-official-video.markdown rename to blog/2011-03-26-earth-hour-official-video.markdown diff --git a/posts/2011-03-26-firefox.markdown b/blog/2011-03-26-firefox.markdown similarity index 100% rename from posts/2011-03-26-firefox.markdown rename to blog/2011-03-26-firefox.markdown diff --git a/posts/2011-04-01-compski-night-firends-and-fun.markdown b/blog/2011-04-01-compski-night-firends-and-fun.markdown similarity index 100% rename from posts/2011-04-01-compski-night-firends-and-fun.markdown rename to blog/2011-04-01-compski-night-firends-and-fun.markdown diff --git a/posts/2011-04-03-happy-birthday-colin.markdown b/blog/2011-04-03-happy-birthday-colin.markdown similarity index 100% rename from posts/2011-04-03-happy-birthday-colin.markdown rename to blog/2011-04-03-happy-birthday-colin.markdown diff --git a/posts/2011-04-05-sharing-the-posterous-way.markdown b/blog/2011-04-05-sharing-the-posterous-way.markdown similarity index 100% rename from posts/2011-04-05-sharing-the-posterous-way.markdown rename to blog/2011-04-05-sharing-the-posterous-way.markdown diff --git a/posts/2011-04-19-bed-of-roses.markdown b/blog/2011-04-19-bed-of-roses.markdown similarity index 100% rename from posts/2011-04-19-bed-of-roses.markdown rename to blog/2011-04-19-bed-of-roses.markdown diff --git a/posts/2011-04-20-happy.markdown b/blog/2011-04-20-happy.markdown similarity index 100% rename from posts/2011-04-20-happy.markdown rename to blog/2011-04-20-happy.markdown diff --git a/posts/2011-04-28-adept.markdown b/blog/2011-04-28-adept.markdown similarity index 100% rename from posts/2011-04-28-adept.markdown rename to blog/2011-04-28-adept.markdown diff --git a/posts/2011-05-02-the-story-of-linux.markdown b/blog/2011-05-02-the-story-of-linux.markdown similarity index 100% rename from posts/2011-05-02-the-story-of-linux.markdown rename to blog/2011-05-02-the-story-of-linux.markdown diff --git a/posts/2011-05-07-gsoc-2011-i-am-in.markdown b/blog/2011-05-07-gsoc-2011-i-am-in.markdown similarity index 100% rename from posts/2011-05-07-gsoc-2011-i-am-in.markdown rename to blog/2011-05-07-gsoc-2011-i-am-in.markdown diff --git a/posts/2011-05-14-welcome-to-acm-courtesy-of-google.markdown b/blog/2011-05-14-welcome-to-acm-courtesy-of-google.markdown similarity index 100% rename from posts/2011-05-14-welcome-to-acm-courtesy-of-google.markdown rename to blog/2011-05-14-welcome-to-acm-courtesy-of-google.markdown diff --git a/posts/2011-05-28-hmm-vacation-work-time.markdown b/blog/2011-05-28-hmm-vacation-work-time.markdown similarity index 100% rename from posts/2011-05-28-hmm-vacation-work-time.markdown rename to blog/2011-05-28-hmm-vacation-work-time.markdown diff --git a/posts/2011-06-04-distributed-computing.markdown b/blog/2011-06-04-distributed-computing.markdown similarity index 100% rename from posts/2011-06-04-distributed-computing.markdown rename to blog/2011-06-04-distributed-computing.markdown diff --git a/posts/2011-06-05-random-reverbations.markdown b/blog/2011-06-05-random-reverbations.markdown similarity index 100% rename from posts/2011-06-05-random-reverbations.markdown rename to blog/2011-06-05-random-reverbations.markdown diff --git a/posts/2011-07-19-birthday-food-for-thought.markdown b/blog/2011-07-19-birthday-food-for-thought.markdown similarity index 100% rename from posts/2011-07-19-birthday-food-for-thought.markdown rename to blog/2011-07-19-birthday-food-for-thought.markdown diff --git a/posts/2011-08-23-sigsegv.markdown b/blog/2011-08-23-sigsegv.markdown similarity index 100% rename from posts/2011-08-23-sigsegv.markdown rename to blog/2011-08-23-sigsegv.markdown diff --git a/posts/2011-08-30-what-you-do-when-you-get-a-free-day.markdown b/blog/2011-08-30-what-you-do-when-you-get-a-free-day.markdown similarity index 100% rename from posts/2011-08-30-what-you-do-when-you-get-a-free-day.markdown rename to blog/2011-08-30-what-you-do-when-you-get-a-free-day.markdown diff --git a/posts/2011-09-10-good-to-be-back.markdown b/blog/2011-09-10-good-to-be-back.markdown similarity index 100% rename from posts/2011-09-10-good-to-be-back.markdown rename to blog/2011-09-10-good-to-be-back.markdown diff --git a/posts/2011-09-11-nothing-else-matters.markdown b/blog/2011-09-11-nothing-else-matters.markdown similarity index 100% rename from posts/2011-09-11-nothing-else-matters.markdown rename to blog/2011-09-11-nothing-else-matters.markdown diff --git a/posts/2011-09-16-crazy.markdown b/blog/2011-09-16-crazy.markdown similarity index 100% rename from posts/2011-09-16-crazy.markdown rename to blog/2011-09-16-crazy.markdown diff --git a/posts/2011-10-11-ffmepg-nokia-7210-video-clips.markdown b/blog/2011-10-11-ffmepg-nokia-7210-video-clips.markdown similarity index 100% rename from posts/2011-10-11-ffmepg-nokia-7210-video-clips.markdown rename to blog/2011-10-11-ffmepg-nokia-7210-video-clips.markdown diff --git a/posts/2011-10-11-latex-on-the-go.markdown b/blog/2011-10-11-latex-on-the-go.markdown similarity index 100% rename from posts/2011-10-11-latex-on-the-go.markdown rename to blog/2011-10-11-latex-on-the-go.markdown diff --git a/posts/2011-10-28-falling-slowly.markdown b/blog/2011-10-28-falling-slowly.markdown similarity index 100% rename from posts/2011-10-28-falling-slowly.markdown rename to blog/2011-10-28-falling-slowly.markdown diff --git a/posts/2012-01-09-arrow-keys-input-in-python.markdown b/blog/2012-01-09-arrow-keys-input-in-python.markdown similarity index 100% rename from posts/2012-01-09-arrow-keys-input-in-python.markdown rename to blog/2012-01-09-arrow-keys-input-in-python.markdown diff --git a/posts/2012-03-18-progress-bar-in-mercurial-pushpull.markdown b/blog/2012-03-18-progress-bar-in-mercurial-pushpull.markdown similarity index 100% rename from posts/2012-03-18-progress-bar-in-mercurial-pushpull.markdown rename to blog/2012-03-18-progress-bar-in-mercurial-pushpull.markdown diff --git a/posts/2012-03-29-thamarassery-mountain-pass-wayanad.markdown b/blog/2012-03-29-thamarassery-mountain-pass-wayanad.markdown similarity index 100% rename from posts/2012-03-29-thamarassery-mountain-pass-wayanad.markdown rename to blog/2012-03-29-thamarassery-mountain-pass-wayanad.markdown diff --git a/posts/2012-11-21-netbsd-chronicles.markdown b/blog/2012-11-21-netbsd-chronicles.markdown similarity index 100% rename from posts/2012-11-21-netbsd-chronicles.markdown rename to blog/2012-11-21-netbsd-chronicles.markdown diff --git a/posts/2012-11-24-my-perfect-terminal.markdown b/blog/2012-11-24-my-perfect-terminal.markdown similarity index 100% rename from posts/2012-11-24-my-perfect-terminal.markdown rename to blog/2012-11-24-my-perfect-terminal.markdown diff --git a/posts/2012-12-06-rooting-a-nexus-7.markdown b/blog/2012-12-06-rooting-a-nexus-7.markdown similarity index 100% rename from posts/2012-12-06-rooting-a-nexus-7.markdown rename to blog/2012-12-06-rooting-a-nexus-7.markdown diff --git a/posts/2012-12-12-name-your-servers.markdown b/blog/2012-12-12-name-your-servers.markdown similarity index 100% rename from posts/2012-12-12-name-your-servers.markdown rename to blog/2012-12-12-name-your-servers.markdown diff --git a/posts/2013-01-01-a-thank-you-note.markdown b/blog/2013-01-01-a-thank-you-note.markdown similarity index 100% rename from posts/2013-01-01-a-thank-you-note.markdown rename to blog/2013-01-01-a-thank-you-note.markdown diff --git a/posts/2013-05-03-new-home.markdown b/blog/2013-05-03-new-home.markdown similarity index 100% rename from posts/2013-05-03-new-home.markdown rename to blog/2013-05-03-new-home.markdown diff --git a/posts/2013-05-28-getting-started-with-rtems-on-archlinux.markdown b/blog/2013-05-28-getting-started-with-rtems-on-archlinux.markdown similarity index 100% rename from posts/2013-05-28-getting-started-with-rtems-on-archlinux.markdown rename to blog/2013-05-28-getting-started-with-rtems-on-archlinux.markdown diff --git a/posts/2013-05-28-summer-of-code-2013.markdown b/blog/2013-05-28-summer-of-code-2013.markdown similarity index 100% rename from posts/2013-05-28-summer-of-code-2013.markdown rename to blog/2013-05-28-summer-of-code-2013.markdown diff --git a/posts/2013-06-23-debugging-rtems-with-gdb.markdown b/blog/2013-06-23-debugging-rtems-with-gdb.markdown similarity index 100% rename from posts/2013-06-23-debugging-rtems-with-gdb.markdown rename to blog/2013-06-23-debugging-rtems-with-gdb.markdown diff --git a/posts/2014-08-16-automatic-log-in-for-act-broadband.markdown b/blog/2014-08-16-automatic-log-in-for-act-broadband.markdown similarity index 100% rename from posts/2014-08-16-automatic-log-in-for-act-broadband.markdown rename to blog/2014-08-16-automatic-log-in-for-act-broadband.markdown diff --git a/posts/2015-02-21-syslog-on-mac-os-x-cheat-sheet.markdown b/blog/2015-02-21-syslog-on-mac-os-x-cheat-sheet.markdown similarity index 100% rename from posts/2015-02-21-syslog-on-mac-os-x-cheat-sheet.markdown rename to blog/2015-02-21-syslog-on-mac-os-x-cheat-sheet.markdown diff --git a/posts/2015-03-28-state-of-terminal-2015-edition.markdown b/blog/2015-03-28-state-of-terminal-2015-edition.markdown similarity index 100% rename from posts/2015-03-28-state-of-terminal-2015-edition.markdown rename to blog/2015-03-28-state-of-terminal-2015-edition.markdown diff --git a/posts/2015-03-29-notes-on-cgo.markdown b/blog/2015-03-29-notes-on-cgo.markdown similarity index 100% rename from posts/2015-03-29-notes-on-cgo.markdown rename to blog/2015-03-29-notes-on-cgo.markdown diff --git a/posts/2015-06-30-static-site-generators.markdown b/blog/2015-06-30-static-site-generators.markdown similarity index 100% rename from posts/2015-06-30-static-site-generators.markdown rename to blog/2015-06-30-static-site-generators.markdown diff --git a/posts/2015-08-22-recursion.markdown b/blog/2015-08-22-recursion.markdown similarity index 100% rename from posts/2015-08-22-recursion.markdown rename to blog/2015-08-22-recursion.markdown diff --git a/posts/2015-12-01-a-random-rant.markdown b/blog/2015-12-01-a-random-rant.markdown similarity index 100% rename from posts/2015-12-01-a-random-rant.markdown rename to blog/2015-12-01-a-random-rant.markdown diff --git a/posts/2015-12-28-swanthathralokam.markdown b/blog/2015-12-28-swanthathralokam.markdown similarity index 100% rename from posts/2015-12-28-swanthathralokam.markdown rename to blog/2015-12-28-swanthathralokam.markdown diff --git a/posts/2016-01-14-golang-shorthand-operator-allows-accidental-shadowing-of-variable.markdown b/blog/2016-01-14-golang-shorthand-operator-allows-accidental-shadowing-of-variable.markdown similarity index 100% rename from posts/2016-01-14-golang-shorthand-operator-allows-accidental-shadowing-of-variable.markdown rename to blog/2016-01-14-golang-shorthand-operator-allows-accidental-shadowing-of-variable.markdown diff --git a/posts/2016-03-31-finding-a-programming-job.markdown b/blog/2016-03-31-finding-a-programming-job.markdown similarity index 100% rename from posts/2016-03-31-finding-a-programming-job.markdown rename to blog/2016-03-31-finding-a-programming-job.markdown diff --git a/blogng.cabal b/blogng.cabal index 2c86769..f46b557 100644 --- a/blogng.cabal +++ b/blogng.cabal @@ -7,5 +7,7 @@ executable site main-is: site.hs build-depends: base == 4.* , hakyll == 4.9.* + , filepath >= 1.4 + , regex-compat ghc-options: -threaded default-language: Haskell2010 diff --git a/site.hs b/site.hs index 2751f77..f03a3e8 100644 --- a/site.hs +++ b/site.hs @@ -2,6 +2,10 @@ {-# LANGUAGE OverloadedStrings #-} import Data.Monoid (mappend) import Hakyll +import Hakyll.Core.Identifier (toFilePath) +import System.FilePath +import Text.Regex (splitRegex, mkRegex) + -------------------------------------------------------------------------------- @@ -21,8 +25,8 @@ main = hakyll $ do >>= loadAndApplyTemplate "templates/default.html" defaultContext >>= relativizeUrls - match "posts/*" $ do - route $ setExtension "html" + match "blog/*" $ do + route $ octopressRoute compile $ pandocCompiler >>= loadAndApplyTemplate "templates/post.html" postCtx >>= loadAndApplyTemplate "templates/default.html" postCtx @@ -31,7 +35,7 @@ main = hakyll $ do create ["archive.html"] $ do route idRoute compile $ do - posts <- recentFirst =<< loadAll "posts/*" + posts <- recentFirst =<< loadAll "blog/*" let archiveCtx = listField "posts" postCtx (return posts) `mappend` constField "title" "Archives" `mappend` @@ -46,7 +50,7 @@ main = hakyll $ do match "index.html" $ do route idRoute compile $ do - posts <- recentFirst =<< loadAll "posts/*" + posts <- recentFirst =<< loadAll "blog/*" let indexCtx = listField "posts" postCtx (return posts) `mappend` constField "title" "Home" `mappend` @@ -65,3 +69,18 @@ postCtx :: Context String postCtx = dateField "date" "%B %e, %Y" `mappend` defaultContext + +-- octopress compatible routes +octopressRoute :: Routes +octopressRoute = customRoute $ octoMangaling + +octoMangaling :: Identifier -> FilePath +octoMangaling pathId = base year month day post "index.html" + where + p = toFilePath pathId + base = takeDirectory p + seps = splitRegex (mkRegex "-") $ takeBaseName p + year:month:day:xs = seps + post = tail $ foldl (\a b -> a ++ "-" ++ b) "" xs + +