一个用 Haskell 写的基于 Github Issues 的静态博客生成器

2015-12-13 00:18:12 +08:00
 lyqx

虽然是自己独立想到的,但感觉很多人做过类似的东西。

因为最近在学 Haskell ,所以尝试着用 Haskell 写了一个。

现在支持的功能:

  1. Markdown 语法
  2. LaTeX 公式展示
  3. 自定义的扩展语法(暂时只支持{{ copyright }}。之后打算以插件的方式弄)

项目主页:https://github.com/zeqing-guo/gin-haskell

一个例子:https://github.com/zeqing-guo/gin-haskell/issues/2

本人学习 Haskell 时间不长,第一次用 Haskell 写这么 real world 的东西,希望有大神指教(其实有的函数写得挺丑的,等期末结束重写那些函数=。=)

3026 次点击
所在节点    分享创造
13 条回复
shajiquan
2015-12-13 01:15:20 +08:00
Cool !

这里有个大牛用 Haskell 写的生成静态网站的软件 https://github.com/jgm/yst 分享给你做参考。
lyqx
2015-12-13 10:02:30 +08:00
@shajiquan 嗯嗯,谢啦~
zhouyg
2015-12-14 11:58:38 +08:00
haskell 你是用什么编辑器的,有什么推荐没?
lyqx
2015-12-14 14:09:32 +08:00
bramblex
2015-12-15 00:17:15 +08:00
Haskell 党前来点赞!
lyqx
2015-12-15 00:32:43 +08:00
@bramblex

写得好挫_(:з」∠)_

看头像和 id 看来是群里的人 XD
bramblex
2015-12-15 00:47:23 +08:00
@lyqx

但是我还不怎么能拿 Haskell 写东西…… ╮(╯_╰)╭
lyqx
2015-12-15 00:57:41 +08:00
@bramblex

js 大法好=w=
bramblex
2015-12-15 00:58:51 +08:00
@lyqx

然而 js 大法不优雅……虽然特性齐全
lyqx
2015-12-15 01:02:32 +08:00
@bramblex

感觉到了,看到你用 js 写的 CPS 不明觉厉。一直没掌握这东西
bramblex
2015-12-15 12:08:08 +08:00
@lyqx

其实这东西跟 Haskell 的 do 语法块干的是类似的东西。

比如在 Haskell 的 do 语法块里面:

do
str <- getLine
return str

=>
getLine >>= (\str-> return str)

而在我的 BlxScript 里面:
str = asyncGetLine
print str

=>
callback str =
print str
asyncGetLine callback
lyqx
2015-12-15 15:16:41 +08:00
@bramblex

你这段话倒是提醒了我。我记得 CPS 和 Monad 在某种程度上是等价的。

刚才看到了这个, http://stackoverflow.com/questions/4525919/continuation-passing-style-vs-monads ,的确可以用 CPS 把代码写得像 Monad 。感觉很好玩 XD

对了,我不是很懂 BlxScript 的语法,你这段程序的 continuation 是什么。
bramblex
2015-12-15 16:43:59 +08:00
@lyqx 接下来执行 callback ……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/243131

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX