我感觉我还是比较适合维护这种 timeline 形式的博客站点 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
jwenjian
V2EX    程序员

我感觉我还是比较适合维护这种 timeline 形式的博客站点

  jwenjian
jwenjian 2020-08-08 19:38:49 +08:00 6674 次点击
这是一个创建于 1889 天前的主题,其中的信息可能已经有所发展或是发生改变。

image.png

先给链接

https://timeline.jwj.life/


现在朋友圈基本不发了,微博基本是看新闻,QQ 早就废弃了。

掘金也好久不用了。

想发点自己想说的,各种东西,分享点图片,文章,新闻都找不到合适的地方。

Hexo,语雀,wordpress,typecho 对我来说都太 heavy,有时候想说的就是一两句话,用这些还要先想个标题,再写一句正文就结束了,没什么意义。而且发布比较麻烦,虽然有各种 CI,只需要写 md,然后 push,但是还是不方便(懒)随时输出。

折腾来折腾去,弄了个现在的 timeline 形式的博客,其实不能叫博客,应该叫 list,比较合适。

适合记录一些随时的想法,吐槽,不知道从哪儿摘抄的句子,文章,图片,网址,新闻链接等等,最好在 300 字之内能表述清楚的东西。

而且这也可以减少一些无意义的博客文章输出,本来很多东西都是几句话说明白的知识点,还要水一篇文章,实在是 emmmm....

对于那些长篇的,系统性的博客文章,还是可以在 yuque 等地方写,然后在 timeline 里写一篇摘要,然后链接到原文章去。


这是一个 vue 项目,样式是从 codepen 上找的一个 纯 css 实现的 timeline,响应式,对手机端很友好,我在这个基础上加了一些东西,比如时间,标签,markdown 渲染等。

数据来源是仓库中的一个 json 文件。

这样做的好处是不依赖任何现有的账号体系,只要你最终可以生成一个 json 文件就可以。

所以你的数据从什么地方来,都由你自己控制。

但是你的数据来源必须要有一点,就是 API,这样你才可以把你写的东西取出来,生成一个 json 文件。

另外还有一点比较重要,就是你的输出成本要足够低,低到你可以随时随地发表东西。

  • 手机 app
  • 浏览器插件
  • 命令行
  • 桌面端
  • 网页端
  • 编辑器插件( vscode 等)
  • 微博机器人(@我的 xx 笔记等等)
  • ...

这几项里,越多越好,越多, 你就越容易发表你的想法,才可以坚持下去。否则等你打开电脑,打开编辑器,新建一个 md 文档,想个标题,开始写的时候可能就突然不想写了。


目前我的数据是从 https://wenjian.giki.app 平台上来,通过 github 的 action, 每 1 个小时同步一次,调用 giki 提供的 api,生成一个最新的 json 文件,提交到仓库中,同时会触发一次 netlify 的打包部署。

然后再绑一个自己的域名,齐活。

剩下基本不用打理,只管输出就是了。


现在 repo 是私有状态,有人想弄的话,我弄成公开的,然后再写一篇文章(教程)。

第 1 条附言    2020-08-09 14:53:55 +08:00

仓库公开了: https://github.com/jwenjian/timeline

写了一个教程,想折腾的可以看看,照着这个 wiki 的步骤试试,应该没有大问题,有问题还请回复或者提 issue 指出

https://github.com/jwenjian/timeline/wiki


另外,这个想法旨在给大家提供一种思路,抛砖引玉,我的页面记录的东西比较杂,你可以用这个做任何你想记录的东西,比如:

  • 书摘
  • 影评
  • 网络书签
  • 宠物相册

等等适合用时间线展示的东西。

第 2 条附言    2020-08-12 18:42:52 +08:00
更新基本告一段落,新增了:

1. 数据分页存储,分布到多个 data-{index}.json 中
2. 首页只加载第一页的数据,提高加载速度
3. 无限滚动模式,上拉加载下一页数据

v1.0.0 release 。
第 3 条附言    2020-08-13 21:26:33 +08:00
新增了 暗黑模式,欢迎体验。
87 条回复    2020-10-06 15:38:34 +08:00
jwenjian
    1
jwenjian  
OP
   2020-08-08 19:40:55 +08:00
没有评论,没有点赞。也不准备加。就是一个静态站点。
jwenjian
    2
jwenjian  
OP
   2020-08-08 19:43:22 +08:00
只有一个页面,没有二级页面,没有 about,没有友链,就是一个 timeline 。
victor
    3
victor  
   2020-08-08 19:52:49 +08:00   3
挽尊。有个节点叫自言自语,了解一下
jwenjian
    4
jwenjian  
OP
   2020-08-08 20:02:37 +08:00
@victor 我的好像不只是自言自语,东西比较杂
learningman
    5
learningman  
   2020-08-08 21:07:40 +08:00   1
这玩意儿我们一般叫朋友圈或者 QQ 空间
masker
    6
masker  
   2020-08-08 21:13:51 +08:00 via Android   23
没人关心你的生活,谢谢。
DandelionFlowers
    7
DandelionFlowers  
   2020-08-08 21:41:44 +08:00
现在自己随身带个可以塞进裤兜小本, 习惯年末再做总结
DandelionFlowers
    8
DandelionFlowers  
   2020-08-08 21:44:49 +08:00
@DandelionFlowers 如果平时的话可能耽误正事(但确实很新颖)
jwenjian
    9
jwenjian  
OP
   2020-08-08 21:45:13 +08:00
@masker sb ?
masker
    10
masker  
   2020-08-08 21:49:20 +08:00
@jwenjian 我和您一样的哦
tangkaichuan
    11
tangkaichuan  
   2020-08-08 23:11:47 +08:00 via Android   7
好的博客是调研、构思、润色的产物,对于自身和他人有一定价值。个人倾向于沉淀下来记录一些有用的文字而不是不痛不痒的口水话。
hellolex
    12
hellolex  
   2020-08-08 23:28:32 +08:00   1
这个不就是微博?
kuanng
    13
kuanng  
   2020-08-08 23:29:55 +08:00   1
能理解楼主的做法
但是还是想吐槽一下,这不就是微博吗?
ruyu
    14
ruyu  
   2020-08-08 23:42:45 +08:00
正经人谁写日记啊
FakerLeung
    15
FakerLeung  
   2020-08-08 23:55:55 +08:00
不懂为啥 9 楼就直接开喷了。
eminemcola
    16
eminemcola  
   2020-08-09 00:02:58 +08:00
像是一个微博单机版
yujiang
    17
yujiang  
   2020-08-09 00:09:16 +08:00 via Android
微博单机版?手机上装个好用的第三方客户端关掉热门,发送默认成仅自己可见不就行了
rpish
    18
rpish  
   2020-08-09 00:23:24 +08:00   1
只有我觉得很棒吗?
很好看啊 非常适合记录一些国际大事 /生活琐事
hertzry
    19
hertzry  
   2020-08-09 00:25:08 +08:00 via Android
有意思,是托管在 GitHub 上吗?楼主快公开,想搞一搞
cmdOptionKana
    20
cmdOptionKana  
   2020-08-09 01:03:57 +08:00 via Android
很不错,心理负担小,记录更轻松。
metrue
    21
metrue  
   2020-08-09 01:42:43 +08:00 via iPhone   1
我是文中提到的 Giki https://giki.app 的作者,喜欢的朋友欢迎尝试.
agagega
    22
agagega  
   2020-08-09 02:01:39 +08:00 via iPhone
博客不一定就要是长文。很多国外的优秀博客我也订阅了,内容也有很多不长。平时有些想法比小几百字的微博长,但也没长到一篇文章的程度,做博客其实合适
jwenjian
    23
jwenjian  
OP
   2020-08-09 08:04:14 +08:00
@FakerLeung 哈哈 去它的主页看它的回复就懂了
jwenjian
    24
jwenjian  
OP
   2020-08-09 08:06:30 +08:00
@tangkaichuan timeline 只是一个形式,内容是自己决定,可以是口水话,也可以自己沉淀下来的东西,或者单纯做一个书摘,网络书签等等,都可以。
jwenjian
    25
jwenjian  
OP
   2020-08-09 08:10:14 +08:00
@hellolex
@kuanng

可以理解成自由度更高的单机版微博,自由度高就是内容比较自由,外链,图片等,另外可以自己修改页面样式之类的。

而且不需要有社交负担,点赞,评论,转发这些

而且现在微博实名制,想搞个微博小号,还不如折腾个这。
jwenjian
    26
jwenjian  
OP
   2020-08-09 08:13:03 +08:00
@yujiang 也是一个办法,不折腾,省事儿。
jwenjian
    27
jwenjian  
OP
   2020-08-09 08:15:32 +08:00
@hertzry 嗯,在 github 上,用 netlify 部署,等我整理整理发出来
jwenjian
    28
jwenjian  
OP
   2020-08-09 08:19:52 +08:00
@agagega 确实是这样,只是感觉现在博客的形式对于短文章有些不太合适,不太长的正文被放到了二级页面,需要点击一下才可以看。

用这种方式,把一些精要的部分全部展示出来,感觉一目了然一些。
jwenjian
    29
jwenjian  
OP
   2020-08-09 08:22:31 +08:00
@DandelionFlowers 这种也很好,正好现在手机使用率太高,写字都很少写了,可以练练写字。。。
cokar
    30
cokar  
   2020-08-09 08:53:23 +08:00
没有互动很难坚持下去的,如果只是自己发自己看,也毫无意义
yannxia
    31
yannxia  
   2020-08-09 09:02:55 +08:00
@metrue sign user failed: 500 - Internal Server Error 微博和 GIthub 都不行咧
imnaive
    32
imnaive  
   2020-08-09 09:34:30 +08:00
我觉得可以把想法和博客文章分成两个 tab 页。
有想法就像川老师一样直接发出来,
写文章时就认真写文章。
lx91714
    33
lx91714  
   2020-08-09 10:03:01 +08:00 via Android
样式可以分享吗
royrs
    34
royrs  
   2020-08-09 10:06:07 +08:00
考虑下这个?
数据还在自己手里面。

https://sspai.com/post/60024
asanelder
    35
asanelder  
   2020-08-09 10:17:05 +08:00
支持楼主。

其实这种东西还是有需求的,之所有没有类似的产品,可能是因为没有什么商业价值。

俺觉得微博早期,可能比较满足,但商业化后就变味了。
laike9m
    36
laike9m  
   2020-08-09 10:32:48 +08:00 via Android
除开想自己管理数据这个理由,其实 Twitter 就能够满足要求了
masker
    37
masker  
   2020-08-09 11:25:54 +08:00 via Android
@FakerLeung 毕竟玻璃心
KasuganoSoras
    38
KasuganoSoras  
   2020-08-09 11:41:31 +08:00
早期做过类似项目,不过是 PHP 写的
https://github.com/kasuganosoras/Pigeon
jwenjian
    39
jwenjian  
OP
   2020-08-09 14:08:04 +08:00
@lx91714 等下我把 repo 变成公开就可以看到了
jwenjian
    40
jwenjian  
OP
   2020-08-09 14:08:50 +08:00
@imnaive 也不错,这个属于抛砖引玉,可以在这个基础上做自己想做的
jwenjian
    41
jwenjian  
OP
   2020-08-09 14:11:09 +08:00
@royrs 这个我之前就看到了,就是借鉴这种思路做的这个,不过他是通过快捷指令或者 utools 之类的工具写东西,我是找了一个顺手的平台。各有利弊吧。

另外数据的话,现在的方案是每隔一段时间就全量备份到 github 的仓库 json 文件中,也算是在自己手里吧。
jwenjian
    42
jwenjian  
OP
   2020-08-09 14:12:35 +08:00
@asanelder 我是感觉微博现在更多是社会化,娱乐化的东西了,太花哨了。。。
jwenjian
    43
jwenjian  
OP
   2020-08-09 14:13:13 +08:00
@laike9m 嗯,体验是比微博好,主要是 网络 ...
jwenjian
    44
jwenjian  
OP
   2020-08-09 14:14:38 +08:00
@KasuganoSoras 我这里没打开 tql.ink , 不过看 repo 的介绍,应该是类似的东西,而且比这个更丰富。
J0G57faC6uPo75W0
    45
J0G57faC6uPo75W0  
   2020-08-09 14:36:24 +08:00
哈哈, 看来有这需求的朋友不少啊.. 我之前也做了一个 https://tomotoes.com/blog/weibo
可以借鉴一下~

本来想开发完 就开源下代码, 结果一直拖延到现在...
jwenjian
    46
jwenjian  
OP
   2020-08-09 14:55:49 +08:00
@Tomotoes 我之前就见过你这个页面,挺好的,, 时间线确实很简洁,心理负担小,不像博客..
jwenjian
    47
jwenjian  
OP
   2020-08-09 14:56:21 +08:00
想折腾的可以看第一条附言。
dartabe
    49
dartabe  
   2020-08-09 15:18:35 +08:00
支持楼主 挺好看的
exc
    50
exc  
   2020-08-09 15:40:42 +08:00
@Tomotoes 博客首页炫配的效果真棒啊
mathzhaoliang
    51
mathzhaoliang  
   2020-08-09 15:51:20 +08:00
v2 博客帖千千万万,点进去没一个能看的。全是小白文。
wusheng0
    52
wusheng0  
   2020-08-09 16:47:18 +08:00 via Android   1
看到楼上忽然开喷那个,说句题外话,

每次没登录,看到有些人的发言,想 block,

结果登录之后发现已经 block 了;

看来还是本性难移。
maemual
    53
maemual  
   2020-08-09 16:49:41 +08:00
要不开个 Telegram 的 channel?
raaaaaar
    54
raaaaaar  
   2020-08-09 17:14:37 +08:00 via Android
换个平台吧,blog 的话,一般是文章多,你这种算个人日记啥的吧。
arccoso
    55
arccoso  
   2020-08-09 17:26:27 +08:00
知乎,随便写
metrue
    56
metrue  
   2020-08-09 17:55:54 +08:00
@yannxia https://giki.app 的登陆 API 目前显示工作正常,我尝试用 GitHub 和 Weibo 登陆都没有问题,您可以在试试,如果需要帮助,也可以直接联系我.
yulang
    57
yulang  
   2020-08-09 17:59:20 +08:00 via Android
@masker
masker
    58
masker  
   2020-08-09 18:31:01 +08:00 via Android
@yulang 不会说话吗
jwenjian
    59
jwenjian  
OP
   2020-08-09 18:34:08 +08:00
@wusheng0 奥,你们还是能看到的啊,哈哈,我以为我隐藏之后都看不到了
jwenjian
    60
jwenjian  
OP
   2020-08-09 18:35:05 +08:00
@maemual 开 channel 是做什么用?我也没用过这玩意儿。
jwenjian
    61
jwenjian  
OP
   2020-08-09 18:36:10 +08:00
@raaaaaar 确实叫 blog 不太合适,也不是那种很多文章的 blog, 不过想不起来叫啥合适了。
wwwaaa
    62
wwwaaa  
   2020-08-09 19:14:51 +08:00
@Tomotoes #45 哇 为什么你的打开速度在我这儿还挺快的,是有什么黑科技吗?
yannxia
    63
yannxia  
   2020-08-09 19:21:40 +08:00
@metrue 试了下 API 报错是 Error: bad_verification_code - The code passed is incorrect or expired.
CallMeReznov
    64
CallMeReznov  
   2020-08-09 19:28:36 +08:00
看到 LZ 的图,哇,这 NM 自闭倒了一定境界了吧...
突然又感觉好喜欢的感觉.
转念一想,我 TM 也自闭啊!
learningman
    65
learningman  
   2020-08-09 20:06:05 +08:00   2
@jwenjian #9 人身攻击 @livid
Shook
    66
Shook  
   2020-08-09 20:43:06 +08:00
你这个就是说说 /朋友圈 /微博。
发说说 /朋友圈 /微博的好处:
1. 功能齐全
2. 节省运营成本

看了你发的东西,我觉得微博比较适合你。
因为微博的搜索功能还是挺完善的,可以删选自己发的内容,也可以筛选 tag 。
J0G57faC6uPo75W0
    67
J0G57faC6uPo75W0  
   2020-08-09 23:14:42 +08:00
@wwwaaa 所有静态文件 全都放到了 jsDriver, 其余的就是一些基本的页面优化, 我倒是希望必须挂梯子才能访问我的站点.. 访问速度, seo 什么的 无所谓..
ShareManT
    68
ShareManT  
   2020-08-09 23:38:34 +08:00
https://share-man.com/timeline
这是我的一条四五年的时间线。
screen
    69
screen  
   2020-08-10 00:02:12 +08:00 via iPhone
这不是把说说,竖过来么
GG668v26Fd55CP5W
    70
GG668v26Fd55CP5W  
   2020-08-10 00:20:31 +08:00 via iPhone
这么说来我也有一个,而且也可以写文章

https://hi.cellmean.com/tweets/
batyu
    71
batyu  
   2020-08-10 08:45:29 +08:00
@victor 多少年没见这个词了 毅丝残留
cmdOptionKana
    72
cmdOptionKana  
   2020-08-10 09:30:06 +08:00 via Android
@Shook 微博也有缺点:有数据损失风险,撞关键词的风险,界面无法自定义...
wwwaaa
    73
wwwaaa  
   2020-08-10 10:28:33 +08:00
@Tomotoes #67 我觉得你的主题挺好看,然后照着你的安装文档安装了以后,报错了。能看下是什么原因吗?
```
INFO Hexo is running at http://localhost:4000 . Press Ctrl+C to stop.
ERROR {
err: ReferenceError: F:\blog\themes\tomotoes\layout\layout.ejs:6
4| <body>
5| <%- partial('_partial/loading') %>
>> 6| <%- partial('_partial/menu') %>
7| <main id="main">
8| <%- body %>
9| <%- partial('_partial/footer') %>

F:\blog\themes\tomotoes\layout\_partial\menu.ejs:31
29| menuItem = theme.menu[i];
30| %>
>> 31| <li class="waves-block waves-effect<% if(isActive(menuItem)){ %> active<% } %>">
32| <a href="<%- url_for(menuItem.url) %>" <% if(menuItem.target){ %>target="_blank"<% } %> >
33| <i class="icon icon-lg icon-<%= i %>"></i>
34| <span><%=(menuItem.text || _.startCase(i)) %></span><i class="icon icon-lg icon-caret-left"></i>

_ is not defined
at isActive (F:\blog\themes\tomotoes\layout\_partial\menu.ejs:35:88)
at eval (F:\blog\themes\tomotoes\layout\_partial\menu.ejs:43:11)
at menu (F:\blog\node_modules\ejs\lib\ejs.js:682:17)
at _View._compiledSync (F:\blog\node_modules\hexo\lib\theme\view.js:132:24)
at _View.renderSync (F:\blog\node_modules\hexo\lib\theme\view.js:59:25)
at Object.partial (F:\blog\node_modules\hexo\lib\plugins\helper\partial.js:34:15)
at eval (F:\blog\themes\tomotoes\layout\layout.ejs:16:17)
at layout (F:\blog\node_modules\ejs\lib\ejs.js:682:17)
at _View._compiled (F:\blog\node_modules\hexo\lib\theme\view.js:136:50)
at _View.render (F:\blog\node_modules\hexo\lib\theme\view.js:39:17)
at F:\blog\node_modules\hexo\lib\theme\view.js:51:25
at tryCatcher (F:\blog\node_modules\bluebird\js\release\util.js:16:23)
at Promise._settlePromiseFromHandler (F:\blog\node_modules\bluebird\js\release\promise.js:547:31)
at Promise._settlePromise (F:\blog\node_modules\bluebird\js\release\promise.js:604:18)
at Promise._settlePromise0 (F:\blog\node_modules\bluebird\js\release\promise.js:649:10)
at Promise._settlePromises (F:\blog\node_modules\bluebird\js\release\promise.js:729:18)
at _drainQueueStep (F:\blog\node_modules\bluebird\js\release\async.js:93:12)
at _drainQueue (F:\blog\node_modules\bluebird\js\release\async.js:86:9)
at Async._drainQueues (F:\blog\node_modules\bluebird\js\release\async.js:102:5)
at Immediate.Async.drainQueues [as _onImmediate] (F:\blog\node_modules\bluebird\js\release\async.js:15:14)
at processImmediate (internal/timers.js:456:21) {
path: 'F:\\blog\\themes\\tomotoes\\layout\\layout.ejs'
}
} Render HTML failed: index.html
Unhandled rejection ReferenceError: F:\blog\themes\tomotoes\layout\layout.ejs:6
4| <body>
5| <%- partial('_partial/loading') %>
>> 6| <%- partial('_partial/menu') %>
7| <main id="main">
8| <%- body %>
9| <%- partial('_partial/footer') %>

F:\blog\themes\tomotoes\layout\_partial\menu.ejs:31
29| menuItem = theme.menu[i];
30| %>
>> 31| <li class="waves-block waves-effect<% if(isActive(menuItem)){ %> active<% } %>">
32| <a href="<%- url_for(menuItem.url) %>" <% if(menuItem.target){ %>target="_blank"<% } %> >
33| <i class="icon icon-lg icon-<%= i %>"></i>
34| <span><%=(menuItem.text || _.startCase(i)) %></span><i class="icon icon-lg icon-caret-left"></i>

_ is not defined
at isActive (F:\blog\themes\tomotoes\layout\_partial\menu.ejs:35:88)
at eval (F:\blog\themes\tomotoes\layout\_partial\menu.ejs:43:11)
at menu (F:\blog\node_modules\ejs\lib\ejs.js:682:17)
at _View._compiledSync (F:\blog\node_modules\hexo\lib\theme\view.js:132:24)
at _View.renderSync (F:\blog\node_modules\hexo\lib\theme\view.js:59:25)
at Object.partial (F:\blog\node_modules\hexo\lib\plugins\helper\partial.js:34:15)
at eval (F:\blog\themes\tomotoes\layout\layout.ejs:16:17)
at layout (F:\blog\node_modules\ejs\lib\ejs.js:682:17)
at _View._compiled (F:\blog\node_modules\hexo\lib\theme\view.js:136:50)
at _View.render (F:\blog\node_modules\hexo\lib\theme\view.js:39:17)
at F:\blog\node_modules\hexo\lib\theme\view.js:51:25
at tryCatcher (F:\blog\node_modules\bluebird\js\release\util.js:16:23)
at Promise._settlePromiseFromHandler (F:\blog\node_modules\bluebird\js\release\promise.js:547:31)
at Promise._settlePromise (F:\blog\node_modules\bluebird\js\release\promise.js:604:18)
at Promise._settlePromise0 (F:\blog\node_modules\bluebird\js\release\promise.js:649:10)
at Promise._settlePromises (F:\blog\node_modules\bluebird\js\release\promise.js:729:18)
at _drainQueueStep (F:\blog\node_modules\bluebird\js\release\async.js:93:12)
at _drainQueue (F:\blog\node_modules\bluebird\js\release\async.js:86:9)
at Async._drainQueues (F:\blog\node_modules\bluebird\js\release\async.js:102:5)
at Immediate.Async.drainQueues [as _onImmediate] (F:\blog\node_modules\bluebird\js\release\async.js:15:14)
at processImmediate (internal/timers.js:456:21)
```
metrue
    74
metrue  
   2020-08-10 11:28:10 +08:00
@yannxia 就不在这里浪费公共资源了,如果您需要可以直接联系我 h.minghe # gmail.com
jwenjian
    75
jwenjian  
OP
   2020-08-10 11:58:12 +08:00 via iPhone
@learningman 哈哈 牛
jwenjian
    76
jwenjian  
OP
   2020-08-10 12:01:47 +08:00 via iPhone
@Shook 确实,也可以理解成自定义微博主页,只可惜微博的 API 太那个啥,还是不折腾它了

而且现在用的是 Giki app 还可以直接同步到微博。
jwenjian
    77
jwenjian  
OP
   2020-08-10 12:03:07 +08:00 via iPhone
@CallMeReznov 反复性自闭,有时候表达欲特别强调有时候又啥都不想说
learningman
    78
learningman  
   2020-08-10 13:25:49 +08:00
@ShareManT 这真的很 coooool
auto8888
    79
auto8888  
   2020-08-10 13:59:56 +08:00
确实 有时候有表达欲,而便签什么的又缺失信息

懒得折腾,所以我把微信朋友设置为全不可看,发朋友圈 solo 自嗨
auto8888
    80
auto8888  
   2020-08-10 14:00:51 +08:00
@Tomotoes 老哥 这个太帅了
AnnaXia
    81
AnnaXia  
   2020-08-10 17:04:03 +08:00
#68 @ShareManT 你这个时间线页面挺好看的

为什么说时间线没用呢?感觉用于自己回顾总结的时候挺方便的。

比如每次读完一本书,写个书评,时间线按看书这个 tag,生成一个图,只显示书名,直观显示一年阅读量。
crc8
    82
crc8  
   2020-08-10 18:00:29 +08:00
我一直想找的博客就是这样的。。。THX
evilic
    83
evilic  
   2020-08-11 08:57:13 +08:00
我应该是老了。

博客是用来社交的,它和日记不同。所以我的博客选择在 twitter 上,就是日常吐槽之类的。日记的话,我在写在 one note 上,并没有打算公开的想法。
jwenjian
    84
jwenjian  
OP
   2020-08-12 18:43:55 +08:00
新增:

- 数据分页加载
- 无限滚动模式
jwenjian
    85
jwenjian  
OP
   2020-08-13 21:26:51 +08:00
新增:

- 暗黑模式
hertzry
    86
hertzry  
   2020-10-06 10:19:30 +08:00 via Android
我看到您是用 vue 什么的,我不懂那些东西。我也不需要自动抓取,怎么能用最简便的方法实现呢?比如打开 public/index.html 就能生成 timeline 页面,希望您能解惑。
hertzry
    87
hertzry  
   2020-10-06 15:38:34 +08:00 via Android
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5530 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 29ms UTC 08:48 PVG 16:48 LAX 01:48 JFK 04:48
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86