资讯专栏INFORMATION COLUMN

关于JustWriting源码的一些解读

booster / 3483人阅读

摘要:文件名以在文件系统中的排序返回。将包含完整模式匹配到的文本将包含第一个捕获子组匹配到的文本,以此类推。其实主要是是记录一下自己的笔录,不过还是强烈推荐大家上手,从此写博客就不是什么难事了。

JustWriting是一个用PHP,基于CI框架的极简主义博客系统,在这里,你甚至不需要数据库,直接用Markdown写博客就可以了,就像我此刻一样,直接用Mou来写这篇博客分享一样,So easy.Enjoy!

当初发现这个博客系统的时候真是眼前一亮:这就是我要的博客系统啊!不仅可以个人写作分享,还可以一个团队进行团队的博客协作。详细说明和教程请参考JustWriting作者的Demo,

在下还是很佩服像这样能写出一些确确实实好用的东西的人,恰好本人也是一个PHP的入门者,用了一段时间,难免会有一种看其(源码)究竟的感觉,于是,我打开Sublime,一行一行的尝试解读代码,JustWriting的核心部分其实就是理解Hjue这位大神写的applicationslibrarieslog_lib.php这个文件就足以。关于CI框架和一些第三方的库比如applications hird_partyMichelf这个Markdown解析库可以自行开撸,OK,上代码吧:


第二个就是 : string readdir ([ resource $dir_handle ] )

返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回。这个在这里显得很有用哇,简直这函数突然感觉就神了!上面已经给出这个函数的最佳使用方式,

    /* 这是正确地遍历目录方法 */
    while (false !== ($file = readdir($handle))) {
        echo "$file
";
    }

array file ( string $filename [, int $flags = 0 [, resource $context ]] )

将一个文件读入数组中,这可能就是Hjue使用file()的原因,当初我在想为啥不用file_get_contents(),This is the reason .

其实要看解决这个Blog的一些问题,关键还是得在正则上花点心思,所以来观摩一下大神的用法:

int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )

这个函数的注意的是matches这个参数:

matches 如果提供了参数matches,它将被填充为搜索结果。 $matches[0]将包含完整模式匹配到的文本,$matches[1] 将包含第一个捕获子组匹配到的文本,以此类推。

看一个经典的用法,取得一个url 的域名:


最后来看看这个处理标签$post_tags的函数,当时我真是眼前一亮啊,果然得仔细看文档啊

array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )

官方给的定义是:通过一个正则表达式分隔给定字符串.

值得关注的是这个函数的返回值:

返回一个使用 pattern 边界分隔 subject 后得到 的子串组成的数组

简直爽歪歪,这种函数真是应该放在大脑的内存区域的~~~



/*  返回这个数组,神奇吧!
    Array
    (
        [0] => hypertext
        [1] => language
        [2] => programming
    )
 */

写了这么多(老实的搬运工),先睡了。其实主要是是记录一下自己的笔录,不过还是强烈推荐大家上手JustWriting,从此写博客就不是什么难事了。详细教程请参考 作者的Demo教程网站 : http://justwriting.sinaapp.com/
如果你在部署过程中有啥问题,也可以直接找我哈!留下你的评论吧

最后留个彩蛋吧: [http://justwriting.com/](http://justwriting.com/)

原文链接 : http://www.jellybool.com/post/justwriting-source-code

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/31894.html

相关文章

  • 来一打前端博客压压惊

    前言 本文所有内容全部发布再个人博客主页 https://github.com/muwoo/blogs欢迎订阅。不过最近因为事情比较多,有一段时间没有更新了,后面打算继续不断学习更新,欢迎小伙伴一起沟通交流~ 最近更新 前端单测的那些事 基于virtual dom 的canvas渲染 js Event loop 机制简介 axios 核心源码实现原理 JS 数据类型、赋值、深拷贝和浅拷贝 j...

    wangbinke 评论0 收藏0
  • 来一打前端博客压压惊

    前言 本文所有内容全部发布再个人博客主页 https://github.com/muwoo/blogs欢迎订阅。不过最近因为事情比较多,有一段时间没有更新了,后面打算继续不断学习更新,欢迎小伙伴一起沟通交流~ 最近更新 前端单测的那些事 基于virtual dom 的canvas渲染 js Event loop 机制简介 axios 核心源码实现原理 JS 数据类型、赋值、深拷贝和浅拷贝 j...

    villainhr 评论0 收藏0
  • 来一打前端博客压压惊

    前言 本文所有内容全部发布再个人博客主页 https://github.com/muwoo/blogs欢迎订阅。不过最近因为事情比较多,有一段时间没有更新了,后面打算继续不断学习更新,欢迎小伙伴一起沟通交流~ 最近更新 前端单测的那些事 基于virtual dom 的canvas渲染 js Event loop 机制简介 axios 核心源码实现原理 JS 数据类型、赋值、深拷贝和浅拷贝 j...

    xiaoqibTn 评论0 收藏0
  • Backbone源码解读(三)

    摘要:事件关于路由触发事件是通过两个函数来完成的,它们分别是和前者会检测路由是否发生了改变,如果改变了就会触发函数并调用函数,而后者会通过路由片段来找到相关的事件函数来触发。 注意:强烈建议一边阅读源码一边阅读本文。 终于到了backbone源码解读的最后一篇,这一篇和前面几篇时间上有一定的间隔(因为要回学校有一堆乱七八糟的事...)。在这一篇里面会讲解Bakcbone的sync & rou...

    feng409 评论0 收藏0
  • 【SpringSecurity系列02】SpringSecurity 表单认证逻辑源码解读

    摘要:通过上面我们知道对于表单登录的认证请求是交给了处理的,那么具体的认证流程如下从上图可知,继承于抽象类。中维护这一个对象列表,通过遍历判断并且最后选择对象来完成最后的认证。发布一个登录事件。 概要 前面一节,通过简单配置即可实现SpringSecurity表单认证功能,而今天这一节将通过阅读源码的形式来学习SpringSecurity是如何实现这些功能, 前方高能预警,本篇分析源码篇幅较...

    zzir 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<