lizheming / PMBlog

PHP版静态化博客程序,支持自定义主题和插件
65 stars 11 forks source link

希望dropbox插件能写好 #6

Open qtline opened 10 years ago

qtline commented 10 years ago

支持作者

lizheming commented 10 years ago

你需要什么功能呢?

qtline commented 10 years ago

作者你好,你的程序很好很实用,我克隆下来测试了两天,但是还是有很多需要完善的地方,下面我给你反馈一些我发现的问题:

  1. 文章的url,比如一个[中文.md]的文章生成出来是[中文].html, 而已前台访问是乱码未被转义无法访问的,关于这个问题我有一些建议: 能不能参考wordpress那样,给文章加一个[文章别名]的可选变量,生成的时候设置的别名生成html,如:[中文.md]设置的别名为:this is my urlname,则生成的html名称为 [this-is-my-urlname].html(空格可以被替换成" - ") 默认值为 :如为[英文.md]直接按文件名生成html ,如是[中文.md]将被转换为拼音样式.html ;
  2. 关于文章标签,大概也是中文的问题,不知道是我的问题(现在本地测试不生成标签了)还是怎么回事,我开始设置的标签为[你好] tags目录下生成的目录为[ni-hao] ,而前台调用的时候{{tags.url}}输出的是字符串的样式,关于标签这个东西我建议还是不要转成拼音样式的为好,中文标签还是用Url_Encode和Url_Decode互相转化为好;
  3. 关于归档(你做成插件),我测试没有成功,能不能直接写到程序里,模版里直接去调用;
  4. 另外你的插件功能非常强大,相当的灵活,但是可能一些以前的插件在新的版本里是不兼容的,readme.md希望能做好版本说明以及更新说明;
  5. 最后就是我上一个问题的说的dropbox(不一定是dropbox国内的网盘其实很多头提供了APi的)存档的问题,这个是有最好,给两个例子给你参考下 Kudos,免费开源,支持dropbox存放,演示 ianlandsman.com https://github.com/ianlandsman/Kudo secondcrack,免费开源,支持dropbox存放 https://github.com/marcoarment/secondcrack

其他问题先暂且不总结了.....

你的程序我非常喜欢,我觉得其实如果你有实力和足够的信心,完全可以做成一套完胜wordpress的程序,wordpress实在有些臃肿,关于静态博客我这些天也折腾过不少,比如nodejs的 hexo ,jeklly ,ghost等等,我觉得都不怎么方便,在ghost和farbox上有些比较好的方面你可以借鉴,你可以做个后台,设置一些基础的参数,外加一个很好的编辑器,farbox编辑很挫,我看见过一个markdown的编辑实时预览还支持拖拽的但是地址忘记收藏,就这些吧, 希望这些能够帮助你和你的程序!(我Q5700689)

lizheming commented 10 years ago
  1. 很早以前是有一个url参数的,不过我崇尚的是MD文档的头配置信息尽量精简,让作者只记得发文章就好了,所以就用文件名代替了URL。关于中文文件是会出现各种问题的,我应该有说过推荐大家用英文名称的(具体在哪里说过忘记了T_T)。不过你的建议是一个好建议,这样自由度会高一些,同时也不失简洁,我会采纳的。
  2. {{tag.url}}这个是TagCloud的参数,当时写插件的时候忘记掉了,谢谢你的提醒,我会记得fix上的。关于标签使用拼音这是我权衡之后的考虑,Win和Linux的编码不一致导致了如果混传文件的话中文会很操蛋,所以我就用拼音了。
  3. Archive插件我测试了下没有问题,首先在主题上新建一个模板(把插件示例的代码拷贝过去就好了),然后新建一篇文章,指定type: pagetemplate: archive(archive为你的模板名字)就好了。这个功能很早之前是在程序内部的,但是鉴于定制程度不高,插件系统出来后我就把它剥离出来了,尽量让程序精简到只有BLOG生成功能。
  4. 是的,这个问题也是我经常头疼的地方。因为我经常修改程序和插件,但是个人精力有限,WIKI这块有遗漏在所难免,所以还请见谅。如果你见到哪里有过时的内容,请欢迎指正出来。另外版本说明我放在了version.json里面,不过的确可以考虑提取出来放在更加显眼的地方。
  5. 你给的第一个网址ERROR了而且示例网址分明是WordPress ╮(╯▽╰)╭ 第二个网址之前有看过,不过这个东西似乎是要配服务器的,所以就没有看下去了。关于Dropbox我的想法是把文章放在Dropbox上,然后生成程序的时候直接从Dropbox上获取文章,可能和第二个的情况有点不同,不知道是不是你想要的效果。比起把静态博客放在Dropbox上,我更希望能尽快制作一个GithubPages的插件 ^_^。另外,如果你用upyun的话可以看看最近写的这个插件:https://gitcafe.com/lizheming/PMUpyun-for-UPYUN 是为参加又拍云比赛写的,暂时还没有归档到插件分支下。有空麻烦投一票哦~
  6. 关于后台设置和编辑器暂时是有插件支持,不过后续的完善部分可能还需要更详细的意见。
    • [x] 增加slug文章头变量
    • [x] 修复Tag/Category插件中url部分还是中文的问题
    • [x] WIKI新建一个记录更新情况的页面
    • [ ] GithubPages插件和其他插件(再议)
qtline commented 10 years ago
  1. 【增加slug文章头变量】--------------------ok--------------------ongoing;
  2. 修复Tag/Category插件中url部分还是中文的问题--------------------ok;
  3. WIKI新建一个记录更新情况的页面--------------------ok--------ongoing;
  4. ERROR了的网址:https://github.com/ianlandsman/Kudos (不好意识copy的时候漏掉了后面一个s) 关于这个问题,我的意识正是你说的这样: “关于Dropbox我的想法是把文章放在Dropbox上,然后生成程序的时候直接从Dropbox上获取文章" farbox首页有这样一个视频演示 https://oss.aliyuncs.com/farbox/demo.mp4 大概就是我的意识;

    这样有个极其方便的地方就在于要更新或者写文章,我不用在本地编辑好md之后,还要ftp写好的md到服务器上去然后再执行生成。 另外这样做对数据也有保障。

    另外你说的GithubPages插件,实际说的是另外一个功能的改进,关于这个idea,我可能知识以及功力缺乏给你不了你太多技术方面意见,这可能涉及的php如何git push方面的知识,这方面我也没去了解过,不知道能否实现,或者你说的GithubPages插件不是这个意识;

    总之最终的目的都为了让生产更为简单,我做个图解释下我对这件事情的理解吧

    pmblog

lizheming commented 10 years ago

@qtline nice,配图实在是给赞哦!理解的非常正确。 其实这个程序有本地运行和服务器运行两种情况,本地运行生成博客后上传到静态空间这种是最开始的思路。程序运行在服务器上是后来开拓的思路。Dropbox插件说的是获取数据方面的插件,GithubPages插件说的是部署方面的插件。 Kudos这个非常不错,命令行操作很赞,我有空要试一下学习一下里面的内容。

qtline commented 10 years ago

还有一个php markdown的例子,

原版: https://github.com/justinwalsh/daux.io 中文化以及改进: https://github.com/xin-meng/daux 貌似版本没跟上 https://github.com/azhai/docx/ php 写的有些极端性的问题,但是完善了一些部分

别的没什么,但是daux.io直接获取文件夹名为目录分类希望你能有所借鉴,这样以来分类的问题也似乎变得简单人性化,不过可能会出现一些值得考虑取舍的问题。

lizheming commented 10 years ago

好的,最近没空,有空的时候我会看下你给的地址的。 另外,我会跟你说很早的时候PMBlog就支持文件夹作为分类目录了么,而且多级文件夹也没有问题的说。

qtline commented 10 years ago

当然,我只能算是个这方面的业余爱好者,技术上给不了你太多的支持,仅仅可以给你些建议而已,相信这个项目也只是你的业余个人项目而已,其实一些好东西除了分享以外,待时机或者说某些其他方面成熟时可以试着商业话,给它一个价值,希望你越做越好,有需要测试或者什么帮忙的email我或者q我!

lizheming commented 10 years ago

好的,没有问题=w=!这种小东西个人感觉也就折腾一下,登不上台面呢OAQ.. 话说你测试下文件目录作为分类的功能吧,我记得是很早以前就加上的功能的。

qtline commented 10 years ago

文件目录作为分类的功能英文状态没有问题, qq20140505023004 qq20140505023237

中文依然存在问题,

  1. 如[category: 程序日志 ]变量输出生成的是UTF-8编码的字符串目录名

%E7%A8%8B%E5%BA%8F%E6%97%A5%E5%BF%97

2.如 [\usr\contents\中文] 以文件目录作为分类的[中文] 输出生成的是GB2312编码的字符串目录名

%D6%D0%CE%C4

编码的问题应该都好解决,关键问题在于这是无法访问的,标签也一样 qq20140505025508 qq20140505025533 目录文件确实存在,不知道是什么原因

另外Categories.php插件不能输出数据: qq20140505025745 qq20140505025908

qtline commented 10 years ago

另外生成html前可否加一个Delete操作,如我修改了demo1.md为demo2.md重新生成的时候 demo1.html依然还会存在于静态输出目录中。

小建议:其实可以在程序上加入一个生成环境的变量,source_DIR 比如[admin]/[source] 的文件夹,[source] 下放置一些固定不变文件如主题需要的[css][js] 以及GithubPages绑定域名需要的CNAME文件等,生成的时候执行Delete所有文件夹(除admin外)操作,然后生成html + copy source目录下的所有内容到设置的SITE_DIR目录,这样一来目录结构干净多了

lizheming commented 10 years ago

中文问题我有空再看看吧,插件请看下用的是什么版本的,按道理是不会出现这种情况的,分类云那个是我的示例写错了,应该是categoryCloud,我一并修复一下。清空操作不太好加,以前有这个功能的后来又被我删了,你说的我之前有考虑过,不过总感觉这样局限性太大了。