V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
boolean93
V2EX  ›  前端开发

想请教下各位自己写的 Blog 一般 Markdown 发博文是怎么解决的

  •  1
     
  •   boolean93 · 2015-04-05 16:55:54 +08:00 · 3253 次点击
    这是一个创建于 3549 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本菜之前撸了一个简易的博客, 对于Markdown语法发表博文的解决方案是:
    1. 发博文时通过PHP上的一个库把Markdown字符串转换成HTML. 同时将HTML和Markdown都保存下来以便编辑
    2. 显示的时候直接显示转换后的HTML.


    但没有一个好看的样式做支撑- -感觉好丑..
    想知道大家在撸博客的时候是怎么处理Markdown的, 有没有直接一个js库把markdown转成带样式的文章显示?还是直接有那么一个不影响其他布局的css引用一下啥的0.0...十分感谢^_^

    附一个在下的小博客: http://blog.boolean93.com
    (不喜勿喷-,-)

    8 条回复    2017-04-08 08:32:36 +08:00
    binjoo
        1
    binjoo  
       2015-04-05 17:44:26 +08:00
    就是直接存文本,然后展示的时候后台解析一下。
    soli
        2
    soli  
       2015-04-05 18:07:53 +08:00
    1. Markdown 写博文,
    2. Git 进行版本控制,
    3. Push 到 Github(或 bitbucket )之后通过 WebHook 触发博客系统的同步操作,
    4. 博客系统从 Github 上把新的 Markdown 博文拉过来,
    5. 用 PHPMarkdownExtra 转换成 HTML,
    6. 用户浏览博客时直接吐 HTML 静态页面。

    另外,代码高亮用 Google 的 Code Prettify ,评论就用 Disqus 。

    呃,上面提到的博客系统是我的 [QBoke](http://qboke.org) ,欢迎围观。

    支持主题和插件。自带两个主题,不喜欢的话,只能自己动手了。。。

    这里有个 [Demo](http://solicomo.com) 。
    xzem
        3
    xzem  
       2015-04-05 19:28:23 +08:00 via Android
    hexo呗
    boolean93
        4
    boolean93  
    OP
       2015-04-06 12:17:03 +08:00
    @soli 恩恩, 我也有类似的利用webhook发博文的想法. 另外你的QBoke是用的laravel么→_→
    boolean93
        5
    boolean93  
    OP
       2015-04-06 12:17:45 +08:00
    @binjoo 有木有具体细节呢~~后台解析了以后前台的样式用的神马~~
    boolean93
        6
    boolean93  
    OP
       2015-04-06 12:31:38 +08:00
    @xzem -.-~自己写着比较有成就感嘿嘿
    soli
        7
    soli  
       2015-04-07 15:00:44 +08:00
    @boolean93 没用 Laravel,纯手工写的。但是默认主题的配色参考的 Laravel 官网,并且直接借(dao)鉴(yong)了它的一张背景图。

    另外,还可以参考一下下面链接的思路,大体上差不多。

    https://robots.thoughtbot.com/blog-in-markdown-deploy-with-webhooks
    geelaw
        8
    geelaw  
       2017-04-08 08:32:36 +08:00
    我的是把博文、发布器用 git 托管在 VSTS 上,在 GitHub 上建立一个用于托管页面的站点。

    本地使用的时候 clone 两个仓库,分别放在 Blog 和 BlogSiteRoot 目录里面。

    Blog 里面有 PostsSource (动态内容,包括含扩展语法的 Markdown ,以及 JSON 配置的 tags 、 authors 等)和 Publisher (静态内容和发布脚本),运行发布脚本会清空 BlogSiteRoot 然后把静态内容复制进去,再把动态内容生成好之后放进去。

    BlogSiteRoot 的另一个作用是可以在本地运行 IIS 直接显示效果,调试好了再分别 commit 、 push 两个仓库。

    如果要自动化发布的话可以搞一个虚拟机专门接管这个玩意儿,用 web-hook 告诉虚拟机运行发布脚本再 commit 、 push 进去。不过我觉得反正要调试的,所以没必要自动化发布。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1134 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 17:56 · PVG 01:56 · LAX 09:56 · JFK 12:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.