V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
3214668848
V2EX  ›  分享创造

Simple - 最简单的静态博客生成器

  •  7
     
  •   3214668848 ·
    isnowfy · 2014-05-04 16:28:01 +08:00 · 9815 次点击
    这是一个创建于 3642 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在静态博客生成程序很多啊,但是都需要大家安装某些环境,然后去跑程序生成,于是做了一个只需要在网页中写作就可以生成静态博客的东西,调用了github的api,这样可以利用github pages的功能自动生成静态博客,这样整个生成器其实也是个静态网页

    项目地址在这里
    https://github.com/isnowfy/simple

    然后这个是用我的这个生成的博客
    http://isnowfy.github.io/about-simple-cn.html

    感觉还是挺方便的,免除了跑程序来生成,大家觉得如何呢~
    72 条回复    2014-07-23 22:14:28 +08:00
    DoubleJo
        1
    DoubleJo  
       2014-05-04 16:34:32 +08:00
    赞!回头试试看~
    3214668848
        2
    3214668848  
    OP
       2014-05-04 16:42:36 +08:00
    @DoubleJo 哈,欢迎试用啊~
    likaci
        3
    likaci  
       2014-05-04 16:50:37 +08:00
    手动点赞,用了hexo之后就不想写了…
    现在托管在gitcafe.不知道gitcafe能实现吗?
    3214668848
        4
    3214668848  
    OP
       2014-05-04 16:53:45 +08:00
    @likaci gitcafe不知道有没有提供api,有的话移植也蛮方便的
    sqbing
        5
    sqbing  
       2014-05-04 17:12:13 +08:00
    哎,工具太多,想说的太少
    3214668848
        6
    3214668848  
    OP
       2014-05-04 17:20:43 +08:00
    @sqbing 没错,现在工具是挺多的,但是现在都是像jelly那样用程序跑,或者像farbox那样需要个后端程序来搞,还没有像我这样的用静态页面生成静态博客的
    popo233
        7
    popo233  
       2014-05-04 17:27:34 +08:00
    赞!那个loading图很可爱

    用md写内容时用了个一级标题,结果发现页面还会自动添加一个,于是看起来很奇怪..一定是我的问题!
    3214668848
        8
    3214668848  
    OP
       2014-05-04 17:35:47 +08:00
    @popo233 哈哈,那个loading是特别在网上找了个有趣的

    话说标题是会自动添加的啊。。。
    akfish
        9
    akfish  
       2014-05-04 17:41:51 +08:00
    mark,下次推荐给妹纸用,适合她们懒得折腾的。

    自己生成的好处就是折腾方便,扩展也容易,所以还是继续hexo。
    vinsa
        10
    vinsa  
       2014-05-04 17:46:34 +08:00
    挺有趣的
    that5
        11
    that5  
       2014-05-04 17:48:11 +08:00
    @3214668848 登陆的时候出现Something error!
    3214668848
        12
    3214668848  
    OP
       2014-05-04 17:48:54 +08:00
    @akfish 话说咱这个也能折腾。。。就是clone下来,自己把模板文件改掉,上传一份在自己的gh-pages分支下用自己的这个来生成。。。当然啦,我自己写这个的目的就是折腾比较少。。。

    @vinsa Thanks!
    3214668848
        13
    3214668848  
    OP
       2014-05-04 17:49:56 +08:00
    @that5 有两个原因,一个是用户名密码输错了,一个是网络原因,没有办法,只能多试试。。。
    dongbeta
        14
    dongbeta  
       2014-05-04 18:59:53 +08:00
    大家,如果你在 Github 上使用 Jekyll,但是不想每次本地 commit 再 push 的话,试试这个吧:

    http://www.gitblog.io/
    3214668848
        15
    3214668848  
    OP
       2014-05-04 19:18:32 +08:00
    @dongbeta 还有类似的 http://prose.io/ 我这个和他们的很像,只不过我这个不需要后端,完全的静态页面
    dongbeta
        16
    dongbeta  
       2014-05-04 19:19:22 +08:00
    @3214668848 www.gitblog.io 也完全没有后端。
    dongbeta
        17
    dongbeta  
       2014-05-04 19:21:44 +08:00
    www.gitblog.io 不是我写的。

    整个站点是跑在 github pages 上的。但是你授权必须从一个后端跳转的,否则做不到安全。
    3214668848
        18
    3214668848  
    OP
       2014-05-04 19:21:48 +08:00   ❤️ 1
    @dongbeta 我是说维护他自己的这个网站需要后端,我那个整个是静态页面
    dongbeta
        19
    dongbeta  
       2014-05-04 19:25:02 +08:00
    @3214668848 明白你的意思了。但是你这么做需要用户填写用户名和密码,大部分用户还是不敢这么做的吧。

    我建议还是使用 OAuth,而不是向用户索取密码。
    3214668848
        20
    3214668848  
    OP
       2014-05-04 19:33:45 +08:00
    @dongbeta 一个是我这个不需要后端,一个是感觉像prose.io都是定位于content editor,我这个直接就是博客的管理和生成
    3214668848
        21
    3214668848  
    OP
       2014-05-04 19:35:30 +08:00
    @dongbeta 还是不喜欢用oauth,那样就需要有个后端去维护,像现在,其他用户完全可以fork下来修改模板,然后在自己fork的页面上来登录
    dongbeta
        22
    dongbeta  
       2014-05-04 19:35:47 +08:00
    @3214668848

    你说的『不需要后端』是什么意思啊?

    『免除了跑程序来生成
    dongbeta
        23
    dongbeta  
       2014-05-04 19:36:08 +08:00
    @3214668848

    抱歉,我没看懂 :)

    你说的『不需要后端』是什么意思啊?

    还有『免除了跑程序来生成』是什么意思呢?
    dongbeta
        24
    dongbeta  
       2014-05-04 19:39:29 +08:00
    @3214668848

    www.gitblog.io 的源代码在 https://github.com/gitblog-io/gitblog-io.github.io ,也可以 fork。

    这种编辑器越多越好,但是 OAuth 我觉得是必须的吧。
    3214668848
        25
    3214668848  
    OP
       2014-05-04 19:41:37 +08:00
    @dongbeta 现在的github api有些限制,所以如果要求oauth跳转的话,必须是用个后端的

    免除程序跑是说像jelly那样的,要生成html文件必须去跑程序,就是你需要安装ruby,然后跑jelly的程序

    一方面我做的这个很像farbox或者droppages一类的,用户不需要自己跑程序生成html,只需要online的写博客,另一方面,相比farbox,droppages他们,我这个东西不需要另写后端代码来维护像oauth跳转,html生成这样的逻辑
    rove
        26
    rove  
       2014-05-04 19:42:26 +08:00
    挺赞的静态博客
    3214668848
        27
    3214668848  
    OP
       2014-05-04 19:44:32 +08:00
    @dongbeta 可以查看github的api或者看prose.io他们这篇blog http://developmentseed.org/blog/2012/june/25/prose-a-content-editor-for-github/ “ Since the GitHub API does not support a user agent OAuth flow”
    dongbeta
        28
    dongbeta  
       2014-05-04 19:44:34 +08:00
    @3214668848 楼主,我觉得你可能误解 Jekyll 的生成原理了。

    本地安装 ruby 跑 Jekyll 是为了预览,而不是为了生成。你 push 到 github 的文件不是预览后生成的 _site 目录下的文件。也就是说,html 并不是你本地生成的。

    我个人认为,不需要 OAuth 这一点不是优点,而是一个安全隐患。
    dongbeta
        29
    dongbeta  
       2014-05-04 19:47:01 +08:00
    @3214668848 不支持的原因是那种方式很不安全。

    我觉得你的产品很好,如果加上 OAuth 会更好。
    3214668848
        30
    3214668848  
    OP
       2014-05-04 19:48:40 +08:00
    @dongbeta 好吧,或许举jelly有点问题,因为github是为jelly特别配置,这个跑程序的过程是github来帮你做了

    确实像你说的很多人会觉得输密码不好,但这绝对不是安全隐患,因为我没有server端,所以不会有保存其他人密码的可能

    好吧,我只是想做一个不需要另外的服务端,而且用起来像是有服务端的那种服务一样方便而已:)
    dongbeta
        31
    dongbeta  
       2014-05-04 19:50:16 +08:00
    @3214668848 不需要给你的产品加入 server 端就可以泄漏密码的,有很多种方式。
    3214668848
        32
    3214668848  
    OP
       2014-05-04 19:52:59 +08:00
    @dongbeta 额,确实是这样,不过这些方式对应于oauth的也是不安全的,token的泄露也是不好的嘛。。。
    3214668848
        33
    3214668848  
    OP
       2014-05-04 19:54:52 +08:00
    @rove Thanks!

    @dongbeta 囧,一翻,发现我们已经版聊这么多了。。。
    hyspace
        34
    hyspace  
       2014-05-04 20:00:13 +08:00
    @3214668848 撸主,换Oauth吧。在非github网站下要输入github用户名密码容易让人认为你是钓鱼网站,你换位思考下?反正我是不会在github首页以外的任何地方输入github用户名密码的。
    3214668848
        35
    3214668848  
    OP
       2014-05-04 20:04:38 +08:00
    @hyspace 这确实是个tradoff,作为geek用户一般都是抱着怀疑一切的态度去看问题的。。。所以我不认为有oauth是安全的。。。一些网站要求我授权,我授权之后他们拿着我的token可以做各种事情这也是我不希望的。。。所以我最初的考虑就是,用户可以不相信别人,但可以相信自己嘛,fork一份代码,push到自己的gh-pages分支,确实代码没有问题就可以用自己的这份来生成静态博客了嘛。。。

    话说你的gitblog很赞啊,那些loading啥的也都是你自己设计的吗
    woorz
        36
    woorz  
       2014-05-04 20:11:31 +08:00
    国外的会不会比较慢啊?有没有用国内服务做的?
    3214668848
        37
    3214668848  
    OP
       2014-05-04 20:13:57 +08:00
    @woorz 确实比较慢,尤其是最近国内github有变慢的趋势。。。看到gitcafe也有pages啊,过段时间研究下看看能不能搞一个gitcafe的版本
    Owenjia
        38
    Owenjia  
       2014-05-04 20:14:10 +08:00 via Android
    看着不错,等下回去试试看,现在在用hexo,不过好久没写东西了~~~~
    3214668848
        39
    3214668848  
    OP
       2014-05-04 20:15:46 +08:00
    @Owenjia 是啊,感觉现在总是在各种拖延,我这个东西也是半年前就打算写,一直拖到现在才写完。。。
    jetbillwin
        40
    jetbillwin  
       2014-05-04 20:49:16 +08:00
    我也觉得需要开启OAuth,直接输入帐号密码太考验信任了。OAuth不需要什么后端问题把。
    3214668848
        41
    3214668848  
    OP
       2014-05-04 20:54:23 +08:00
    @jetbillwin 如果github支持client的oauth认证的话我就做了,但是现在如果要做oauth的话必须有个服务端的跳转才可以,所以就没有搞。。。
    artwalk
        42
    artwalk  
       2014-05-04 21:01:22 +08:00
    看起来挺不错的啊
    jetbillwin
        43
    jetbillwin  
       2014-05-04 21:30:08 +08:00
    @3214668848 不明白为什么说Github不支持Client的oauth,但是我测试了下,可以啊,我写了个纯HTML,可以实现获取github的相关访问权限啊。既然是纯静态网页,就可以托管在github pages上面。所以,我认为你说的这点困难应该是不存在的。可以参考: https://developer.github.com/v3/oauth/ 。产品不错,但是不支持Oauth会让这个产品的价值大大折扣。
    rebornix
        44
    rebornix  
       2014-05-04 21:37:28 +08:00
    赞楼主!

    能够这么做多亏了Github支持CORS,但是直接在浏览器里用账号和密码,确实不太安全。

    另外,由于写到github上还是由Jekyll来build,并不能说真正没有后端,只不过这个后端是Github帮你做了。真正纯静态的话,可以考虑前台直接render markdown,也就完全不需要Github Pages,目录structure也完全由自己决定啦。我用AngularJS实现了一个极其简陋的 http://spblog.github.io/#/home ,如果和你的结合在一起的话,我想一定更加酷
    3214668848
        45
    3214668848  
    OP
       2014-05-04 21:41:21 +08:00
    @jetbillwin 我试试。。。感觉可能是我想错了。。。都忘了当时是怎么想的了,囧。。。


    @rebornix 对的,我这个用的不是jekyll,完全是自己render markdown,自己的目录结构:)
    rebornix
        46
    rebornix  
       2014-05-04 22:19:16 +08:00
    @3214668848 Brilliant! 我喜欢你的design
    3214668848
        47
    3214668848  
    OP
       2014-05-05 01:08:30 +08:00
    @rebornix Thanks!可惜只是api.github.com支持CORS

    @jetbillwin 试了一下才想起原因,注意到认证的时候,我需要用code来换取token,这个时候用ajax调用就会产生跨域调用问题,浏览器是禁止的,需要这里需要个服务器中转,也就是说换取token这一步是需要中转的,而得到token之后api的调用是没问题的,因为api.github.com支持了CORS
    usedname
        48
    usedname  
       2014-05-05 01:18:40 +08:00
    感觉挺好玩的啊,忙完这阵也来试试
    hyspace
        49
    hyspace  
       2014-05-05 01:53:40 +08:00
    @3214668848 嗯呐
    3214668848
        50
    3214668848  
    OP
       2014-05-05 09:23:15 +08:00
    @usedname 欢迎来尝试啊~
    oloopy
        51
    oloopy  
       2014-05-05 11:03:21 +08:00
    非常赞的~
    hit9
        52
    hit9  
       2014-05-05 12:13:15 +08:00
    做的很好!
    3214668848
        53
    3214668848  
    OP
       2014-05-05 12:16:37 +08:00
    @oloopy Thanks!

    @hit9 Thanks!
    usufu
        54
    usufu  
       2014-05-05 13:19:54 +08:00
    语法高亮好像不太好使啊
    支持哪几种语法呢?
    3214668848
        55
    3214668848  
    OP
       2014-05-05 13:52:47 +08:00
    @usufu 支持好多中python,shell,c啊之类的,像~~~~{python}这种写法就可以
    that5
        56
    that5  
       2014-05-05 15:18:05 +08:00
    @3214668848 好像使用`$`会出现问题
    3214668848
        57
    3214668848  
    OP
       2014-05-05 15:27:24 +08:00
    @that5 是什么样的问题,可能因为$是个特性,用来输入latex的公式的,见 http://isnowfy.github.io/simple/editor.html ,你可以用\反斜杠把$转义掉就没有latex公式的语义了
    that5
        58
    that5  
       2014-05-05 15:45:53 +08:00
    @3214668848 在编辑器里面正常的,但是前端浏览的时候没内容.我的用的http://pandoc.herokuapp.com/ 内容测试
    3214668848
        59
    3214668848  
    OP
       2014-05-05 17:20:52 +08:00
    @that5 啊,发现是js的regex把$转义的问题,已修复!
    woorz
        60
    woorz  
       2014-05-06 11:58:38 +08:00
    @3214668848 gitcafe可以不?什么出个gitcafe的天朝的我们用
    3214668848
        61
    3214668848  
    OP
       2014-05-06 12:05:31 +08:00
    @woorz 看了下gitcafe貌似没有提供api,我研究下又拍云或者七牛看看行不行
    woorz
        62
    woorz  
       2014-05-06 14:56:47 +08:00
    @3214668848 又拍云应该可以。gitcafe上有个又拍云的比赛,你写了,还可以顺便参加比赛,顺便拿个奖,yeah
    3214668848
        63
    3214668848  
    OP
       2014-05-06 15:07:35 +08:00
    @woorz 赞!去研究下
    3214668848
        64
    3214668848  
    OP
       2014-05-06 16:55:09 +08:00
    @woorz 看了下貌似又拍云没有免费额度啊,这就比较尴尬了。。。
    woorz
        66
    woorz  
       2014-05-06 20:49:00 +08:00
    @3214668848 如果还能跟微信的公众平台结合,向微信公众平台发文字,就能在发布到静态站上,就更完美啦.好像想得有点多了!~!
    3214668848
        67
    3214668848  
    OP
       2014-05-06 22:55:53 +08:00
    @woorz 不过像我这样这么懒的人有免费的一般都会用免费的了。。。看到好像七牛的免费额度还不错
    woorz
        68
    woorz  
       2014-05-07 11:17:49 +08:00
    @3214668848 还有免费额度?期待
    3214668848
        69
    3214668848  
    OP
       2014-05-07 12:32:31 +08:00
    @woorz 是啊看到七牛有免费额度的,不过又拍云既然有比赛先试试又拍云好了╮(╯▽╰)╭
    woorz
        70
    woorz  
       2014-05-07 13:20:24 +08:00
    @3214668848 完成后,我帮你测试测试,哈哈哈
    click
        71
    click  
       2014-07-22 13:46:24 +08:00
    LZ你博客用的什么字体?
    3214668848
        72
    3214668848  
    OP
       2014-07-23 22:14:28 +08:00
    @click 用的都是安全字体的,像Consolas,Monaco,'Andale Mono',monospace之类的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3069 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 14:59 · PVG 22:59 · LAX 07:59 · JFK 10:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.