Open banrikun opened 9 years ago
还有几个疑问
1.40行构建方式是否不支持更换主题路径,只会读取/chill/下的模板文件…哪怕不能改,也希望这个文件夹可以叫theme什么的……当然这只是细节问题
2.已经实测40行方式不支持翻页,点翻页按钮无效。。。已经用云端默认主题,只改了id的index.html测试,均无法正常翻页
3.多说评论数经常读不出,原因不知,我其它网站正常,唯独用airpub的不行。代码正确。
4.在另一个帖子里提到的p标签输出问题(guoyu.me和airpub.io的差别)
主题已经基本完工了,就差后台和正文部分的CSS了,伸手怒求拆分的,自己写好累的而且后台完全摸不透。loading和login样式貌似可玩性也不错,所以建议基础css文件有正文排版和后台部分就好了 ^^
另外……丢个主题预览链接:http://www.brdev.org 我已经删掉了基础css还有各种less……技术不足实在是只能用原始的方式。。。
5.和4差不多的一个问题。airpub.io和40行的输出方式,img标签外面会自动嵌套p标签,很不方便写样式……TUT
响应式部分还没写不知道会不会有更多问题,暂时先坑着……
多说评论数读不出的问题是否是因为代码的执行顺序?两个数据都是从多说服务器发出,但是读取评论数的请求早于data-thread-key的请求,所以没有读取成功呢?
以上纯脑补……最新评论也容易读不出,但是成功率比评论数略高
回北京了,我一个一个解释一下吧。
master
分支上的代码版本是 v0.3.0
这个版本和我们最早在七牛上提供的 CDN 的版本是不一致的,七牛的 CDN 后来并没有更新到新版本,airpub 提供的 CDN 列表,可以查看 airpub/cdn 这个仓库 如果想要使用新的特性,最好是使用多说的 CDN 或者 托管在 GitHub 的 airpub.io 的 CDN 文件。airpubConfigs.theme
或者 airpubConfigs.themePath
的方式来指定主题文件的路径和版本路径的~ 具体代码可以参考 airpub/airpub.io 这个仓库 的 index.html
文件配置,注意这里使用的是 v0.4.0-unstable
的 airpub 核心版本,推荐使用这个版本(拆分了主要业务逻辑对编辑器模块的依赖)v0.3.0
之上都修复了。/src/filters/marked.js
的第 48 行。你的主题开源了吗?如果开源了我看看代码是如何工作的~ 这样更有利于解决问题。
@turingou 还没有制作完毕,admin部分的css还没有复制过来,所以后台现在没样式。
地址是:https://github.com/banrikun/Air-For-Airpub
另外和这个版本保持同步的页面是:http://www.brdev.org
翻页问题更换了cdn已经解决了,但是依然读不出基础多说通用代码的最新评论和评论数,偶尔可以读出来,但是大部分时候都出不来
至于标签的输出问题我可能没解释清楚,就是airpub.io和我所引用CDN后建立的页面,所打出的文章,在每个段落p标签外边,都会包围section标签(下面还有3个div标签),而guoyu.me是直接输出p标签,外面没有包裹那么多东西。个人建议后者更合适,我接触过的blog系统中都是使用后者的方式输出的
@banrikun 嗯,再确认一下你现在正在 index.html
中使用的 airpub 的版本是?
@turingou
<script src="http://static.duoshuo.com/airpub/airpub-dependencies.min.js"></script>
<script src="http://static.duoshuo.com/airpub/airpub.min.js"></script>
引用的这两个JS文件
@banrikun 我看看具体是什么版本的问题。看来给打包后的文件打个版本好还是有必要的。。
@banrikun 找到了。这上边最新的版本是 v0.3.2
,我看了一下我的博客,比如在这个页面,还是会输出 paragraph-section
作为 img 标签的父层:http://guoyu.me/article/1175527463674788800
而第一篇文章的图片之所以没有这个标签作为父层,是因为那个文章不是我自己编写的,是多说的爬虫抓取的正文,所以包裹在 html-section
当中了。
这个问题,当时其实是想用 CSS 来做一个 workaround,用包含选择器来做判断,以此定义文章中插入图片的样式,现在看起来这种方法应该不太现实,还是应该在 filter 中处理好最后输出的 DOM 结构,这个问题会在 v0.5.0
里得到解决~
@turingou 辛苦了,现在这样不是很影响一般使用,只是个人有点在这种细节上比较纠结……囧
另外就是那个读取评论数和评论数的问题,貌似更新版本后并没有解决……依然读不出 0_0
@banrikun 关于读取评论数的代码,你具体是写在哪里?
@turingou archive.html中27行
<span class="info">
<a ui-sref="layout.single({uri: article.thread_id})">
<span class="ds-thread-count" data-thread-key="{{article.thread_key}}"></span>
</a>
</span>
审查元素获得的信息好像没问题
<span class="ds-thread-count" data-thread-key="24a37ed0-8f14-11e4-b9ba-b1c716e1f10a"></span>
@banrikun 我看到代码了。原因是这样的,多说的 embed.js
会在页面刷新时判断是否有组件的钩子,然后获取数据,再填充钩子所在的区域成相应的 DOM。但是 angular.js 编写的应用是不会刷新的。也就无法在 dom ready 事件中触发对钩子的检查。这个是我当时在写 airpub 没有想到的问题之一。
解决办法是我们在 airpub 中在相应的路由触发之后,手动告知 duoshuo embed.js 检查是否有钩子存在,然后填充 DOM。我标记这个为一个 bug
@turingou 感谢解答,坐等新版本。
@banrikun 不客气,应该感谢你 :)
@turingou 刚好今天给另一个站折腾instantclick的时候,遇到了同样的问题。由于instantclick会使得全站不刷新,从而无法触发多说,于是很期待解决方案~我相信也会有其他人需要的^^
@banrikun
Hi,无法在 Web App 中使用多说组件的问题已经在 angular-duoshuo
的 v0.5.0
版本中解决了。可以去 duoshuo/angular-duoshuo
项目的 example/directives.html
查看一下范例的效果,所有组件的命名还是按照多说之前通用代码的规范,data 参数的配置也是按照那个规范来做,具体代码的实现可以看 duoshuo/angular-duoshuo
项目的 src/duoshuo.js
中的代码实现。
Airpub 会在 v0.4.0
之后依赖 angular-duoshuo 的 0.5+ 版本
@turingou 好效率!感谢XD 我去折腾啦
https://github.com/airpub/chill/blob/master/admin.html
这个文件中,editor-ninja已经被拆分开来了 - - 我下载的这个默认的主题,按照上面的结构制作新主题,结果后台一直不加载输入框。。。。。。。。。
然后下载了 http://airpub.qiniudn.com/themes/chill/admin.html 这个文件……发现
。。。。。。。。。。。。。。。。。。。。