文档章节

OSC博客改版想法整理【2016/5/6更新】

曾建凯
 曾建凯
发布于 2016/05/05 21:35
字数 2091
阅读 508
收藏 3

主旨

计划改版的内容包括:

  • 博客列表
  • 博客发布/编辑
  • 博客的展示
  • 博客专区

不计划改版的内容包括:

  • 我们的追求

博客列表

我这里说的博客列表,从属性上分,有内、外两个,内指的是用户自己博客的文章列表,外则包含比较广泛,包括OSC的搜索博客列表,博客频道首页的总索引列表。

内部列表

博客文章列表,究其形式而言,可以改变的不多。

  1. 文章中上传/插入的图片,可以做一个检索,文章列表页对图片做一个展示(列出前面的若干张图片,点击可弹出层预览),尤其是软件操作的分享文章,大多数都是以图片为主的。
  2. 博客文章不知道是否有做分词检索,如果有,其实可以将文章的内容分词检索结果也作为关键词,也即,用户自己在文章中设定的用户关键词+系统检索关键词。
    • 虽然我知道,目前来说分词检索还有很多问题,完全靠数据自行形成数据索引,而不依靠人工干预,是很难的事情。

外部列表

  1. OSC现在博客文章的数量和质量,比2-3年前要好很多,以今时今日而言,OSC已经完全可以靠博客的文章来维持OSC的运营,而摆脱对采集而来新闻内容的依赖。这样对于树立原创性开源的旗帜是很重要的。一直以来都 觉得,OSC首页的【综合资讯】里面有些文章和观点,都欠缺一定权威性,不是立场 不妥,就是不够全面。【综合资讯】更确切说,只能说是新闻类,就是世界领域内这个行业的新动向而已,毫无OSC立场。粗体

  2. OSC目前在开源软件的分类上,也做的比较好,博客的文章编辑也有【系统博客分类】的选项,我认为,这里不妨再细化,除了原来的【系统博客分类】为必填外,后面具体的范畴,为用户选填。这样的好处是,可以让用户的博客文章直接推送到具体某个开源软件上,比如是和php关联的,和Java某个类库相关的,这样,查询开源软件的时候,可以直接关联出相关的文章出来。

    • 这个关联机制,有两种,一种是具体和某个类库(软件)之间关联,类似tag,标签,无上下级关系
    • 另外一种关联,是级联关联,类似分类,有上下级关系,也即在看上级的分类时,下级内容也会关联
  3. 具体说,就是以OSC目前的开源软件分类,作为总纲,来对博客的文章进行分门别类,现在博客推荐,就是一炉杂烩,以现在文章更新速度,光靠一个杂烩式的推荐索引,已经不足够。

    • 但这里会出现一个问题,就是可能存在某些领域数量稀少,我建议,稀少就稀少,这表现出OSC立于一个很高的出发点,即为所有领域的开源软件都提供一个总纲,数量少,则越能体现某个用户在这个领域的专长,也就更能系统这个领域用户发表相关的内容。
  4. 推荐的机制,要推荐采用,必须标明【系统博客分类】以及【开源软件分类】,乃至指定具体的【开源软件】。晋级机制:

    1. 频道内推荐(频道内,就是指这个开源软件的频道内)
    2. 查看数量、收藏(应该是综合评估),上综合推荐
    3. 综合推荐中,较优者(综合评估),则上首页推荐
    4. 采编可越级提升

发布/编辑部分

编辑器

  1. 编辑器修改,最好能使用较为稳定、实用的编辑器,或者简单说就是:开源领域的“品牌货”,具体包括:
  2. 编辑器形式上有两个分支:Markdown(世界主流)、HTML所见即所得(类似Work排版,比较直观),个人认为两者各保证有相关的一个编辑器即可,使用哪个编辑器,可以开放性投票(这里开放性投票下面详细会说)。
  3. Markdown编辑器,并不需要实时预览的功能(即左边代码,右边html预览),最有价值的是编写markdown文本内容的时候,能适当的对文本语法(也就是markdown语法)进行highlight,毕竟大家都是程序员,对highlight、格式、缩进什么的最敏感了。
  4. 博客文章中的代码高亮的类库版本太老了,好多新近的语言,cmd shell、nginx config等语法都不支持。

文章详情

  1. hljs建议输出语言的类型。

文章数据处理/存储

  1. 文章的数据,最好统一以一种格式存储,html含标签,或者markdown纯文本。个人建议,最好是markdown,因为数据量比html少(毕竟少了标签和样式),而且市面上转换前端类库多如牛毛。
    • 关于现有文章的数据转换,只要确保提供有效的转换接口程序,由用户自发去转换,而不要统一用程序去遍历博客文章的方式去转换。
    • 转换过程的细节微调由用户自行确定。
  2. 是否能利用git@osc,好像gitbook那样,来存储自己的文章,也即每个人都有一个文章库,目录作为分类,文章则是目录下的文件(以.md和.markdown为格式)。这个文章库每次提交的时候,自动调用webhook,通知博客文章变更。
    • 目录为分类,前提是用户博客设定了这个分类,才会去检索指定的目录。
    • 检索条件为单层检索,不需要多层,假定我设定了分类为:日常记录,则检索 日常记录/*.md ,不需要检索 日常记录/*/*.md
    • 每次检索更新,自动更新到博客文章的数据库中(毕竟在OSC要和搜索,静态页面等对接)。而博客文章则记录git的版本hash,用于快速检索比较。
    • 此脑洞很大,如果觉得不靠谱,请忽略。
  3. 博客是否有可能提供Web的API接口(类似WebApp,用户设置access_token和access_security即可外部调用自己博客的数据,其实WebApp化,应该对于整个OSC来说,博客只是这其中的一部分)。
  4. 博客文章要能支持 @用户 #话题# 的快捷操作。#话题#,放入关键字部分,和站内的开源软件关联起来。

博客展示

  1. 关于草稿箱的文章,建议可基于文章详情页面,生成一个预览页面,但只有作者可看,草稿箱打开默认就是编辑,一直觉得有些别扭。有些文章就是一种心情所致,当时是一种心情,事后看又是另外一种心情,事后往往是想看看预览效果,再行决定是否采用这篇,还是说直接放弃了。

开源式操作

我认为,开源开源,既然这次博客决定要大改版,可以考虑真的学习一下开源社区的操作方式,即:

  1. 用户发起修改需求,官方只负责采纳
  2. 用户对采纳的修改需求进行投票,决定优先顺序
  3. 在期限内,根据投票的结果,制定出开发计划,和特性路线图。
  4. 具体投入到开发中,最后测试。

题外话

个人认为,好像slant这种比较平台,其实还挺不错的,希望OSC能引入这个功能机制。

在开源领域,实现同一个特性功能的类库非常多,怎么比较,如何收集意见,如何公示,是一个很有用的东西。

【未完】

© 著作权归作者所有

曾建凯

曾建凯

粉丝 336
博文 66
码字总数 104794
作品 0
广州
技术主管
私信 提问
加载中

评论(3)

WolfX
WolfX
现在的文章分类和整理的功能有点简陋, 最好能改成和云笔记那样的(可以参考为知笔记). 还有需要强化检索功能, 有的时候希望搜索自己之前写的一些东西.
曾建凯
曾建凯 博主

引用来自“翟志军”的评论

非常有建设性的建议!

关于第4点:还是有些难度的。比如歧义。用户输入了一个 #快速入门C#,到底是快速入门C还是快速入门C#呢?

其实也是我一时想到的。如果觉得不可行,可忽略,只是我个人的想法。我的初衷是希望能让osc的动弹话题也能关联一些博客文章,透过博客也可以和其他用户互动。
翟志军
翟志军
非常有建设性的建议!

关于第4点:还是有些难度的。比如歧义。用户输入了一个 #快速入门C#,到底是快速入门C还是快速入门C#呢?
开源中国:博客列表页和博客详情页的设计图

大约五年前,@红薯 的博客写到: 然后到前几天: 的确,原计划6月开始改版,我们提前5月开始了。对于我们Platform team来说颇刺激! 上两个星期,我们对博客的编辑器进行调整的同时,对博客详...

OSC运营汪
2016/05/31
8.6K
86
OSC 年度事件大盘点,九周年贺礼等你来拿!

开源已“九”,不忘初心 —— 开源中国九周年特别献礼! 2008 年 8 月 31 日,OSChina 网站正式上线。到今天已经整整 9 个年头。 那一年,我看的还是《 x 语言入门》,现在已经看到这个系列的...

达尔文
2017/08/31
6.3K
537
开源中国招聘频道全新改版上线 —— 免费发招聘

或许你已经注意到,OSC 招聘频道在最近的两周里悄悄改版了,原先的招聘频道在功能上稍显简单,为此我们受到了很多人的疯狂吐槽,尽管我们一直宣称招聘并非我们的主营业务,但还是咬咬牙硬着头...

oschina
2015/07/21
9.1K
67
开源中国Android客户端--FlowGeek

FlowGeek是基于MVP架构的、遵循Material Design设计规范的开源中国社区客户端。 开源中国社区客户端自面世开源以来, 给很多初学者到来了很多帮助,感谢@火蚁 的工作。现在技术革新很厉害,而...

thanatosx
2016/03/15
7.3K
2
我觉得开源中国走到现在,是否可以开发一个类似时光轴的应用

伴随着OSC的成长,社区也变得越来越人性化,每一次改版都浸透了开发团队的心血。 首先我要感谢OSC,让我学到很多知识。 现在每天上osc成为了我必须要做的内容之一。 看博客,收藏好帖子,看讨论。...

jeffsui
2014/04/15
192
2

没有更多内容

加载失败,请刷新页面

加载更多

一套基于SpringBoot+Vue+Shiro 前后端分离 开发的代码生成器

一、前言 最近花了一个月时间完成了一套基于Spring Boot+Vue+Shiro前后端分离的代码生成器,目前项目代码已基本完成 止步传统CRUD,进阶代码优化: 该项目可根据数据库字段动态生成 controll...

郑清
今天
7
0
javascript-十六进制随机颜色

<script> // 编写一个函数,获得一个十六进制的随机颜色的字符串(如#20CD4F) // function randomColor(){ // var r = random(0,255).toString(16); // var g = random(0,255).toString(16......

ACKo
今天
3
0
springBoot +mybatis 出现sql 语句在数据库可以查询到,但是赋值到实体类上就没有的情况?

1.不要老是反复查看自己是否写错了,为啥有的能出来有的出不来? 可以查看配置文件中是否配置全: 如果在application.yml 文件中是如下配置: mybatis: mapper-locations: classpath:mapp...

kuchawyz
今天
3
0
正则表达式

一、RegExp对象 进行验证和查找的API 1、创建对象: (1)用/创建(直接量):var reg=/正则/ig,表达式固定不变时使用 (2)用new创建:var reg=new RegExp(‘正则’,‘ig’),表达式需要...

wytao1995
今天
3
0
实战限流(guava的RateLimiter)

关于限流 常用的限流算法有漏桶算法和令牌桶算法,guava的RateLimiter使用的是令牌桶算法,也就是以固定的频率向桶中放入令牌,例如一秒钟10枚令牌,实际业务在每次响应请求之前都从桶中获取...

程序员欣宸
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部