利用simpread+hexo构建自己的在线知识库

您所在的位置:网站首页 ipfs搭建网盘 利用simpread+hexo构建自己的在线知识库

利用simpread+hexo构建自己的在线知识库

2023-04-22 03:48| 来源: 网络整理| 查看: 265

引言

在网上浏览时,我们经常会发现很多有意义的内容,但是保存为网页或其他格式可能会面临文件丢失、不方便分享或移动版查阅等问题。

虽然有很多服务可以帮助我们解决这些问题,例如 Notion 、 语雀 等,但是这些服务都依赖于网络,并面临着数据导出和查看权限的问题。此外,如果使用国产软件,还可能遇到应用程序频繁更新和内容无法分享的问题。因此,我仍然选择使用文件进行保存和分享,这种方式可以让我们完全掌控自己的数据。

文件以 MD 格式存储,技术流程为:

网页-->|"simpread"|md-->|"hexo"|html-->|"git"|repo"github Pages"/"VPS+ngnix"

flowchart LR 网页-->|"simpread"|md-->|"hexo"|html-->|"git"|id3["github Pages"]; html-->|"git"|i4["VPS+ngnix"]

示例:

https://simpread.yeyeziblog.eu.org

效果展示文章展示代码文章展示过程注: 本文全部操作使用 `macOS` 完成, 可能与其他平台存在差异.简阅的使用

简悦是一款集沉浸式阅读、标注、稍后读、导出等功能的新型一站式知识管理浏览器插件,支持 Chrome , Edge , 360极速 、 QQ 、 搜狗 等浏览器,主要有阅读模式、导出、标注、稍后读等实用功能。这里主要使用导出 MD 的功能,但事实上简悦同时支持多种格式和多种服务篇外1。

比如,简阅本身就提供了包括保存到 notion , 语雀 等的功能,非常好用,甚至提供了通过坚果云 api 展示 html 的功能。

坚果云 `api` 构建简阅阅读列表保存为离线Markdown

通过简悦阅读模式的动作-导出-保存为离线Markdown, 可以将网页保存到本地.

阅读模式保存MD文档自动化保存

在 选项页 - 服务 - 自动化 可选择加入 稍后读 自动导出 离线 Markdown .

自动化保存MD文档

如配合 简阅·同步助手 (付费)可实现自定义路径导出。

简阅·同步助手导出选项卡为MD文档添加元数据

添加元数据一是标记下载时间,二是为之后 hexo 自动生成信息提供数据。

下面这段代码可以对脚本所在路径下的 /source/_posts/SimpRead 文件夹内 MD 文件依次添加元数据.

未添加元数据的MD文档添加元数据的MD文档import os import time script_dir = os.path.dirname(os.path.abspath(__file__)) os.chdir(script_dir) # 将 "your/folder/path" 替换为您的文件夹路径 folder_path = script_dir + "/source/_posts/SimpRead" for root, dirs, files in os.walk(folder_path): for filename in files: if filename.endswith(".md"): # 仅对以 .md 结尾的文件进行操作 file_path = os.path.join(root, filename) with open(file_path, "r") as f: lines = f.readlines() # 检查文件头是否已经存在 if not lines[0].startswith("---"): creation_time = os.stat(file_path).st_birthtime title_line = "title: {} \n".format(filename.replace(".md", "")) date_line = "date: {} \n".format(time.strftime( "%Y/%m/%d %H:%M:%S", time.localtime(creation_time))) new_lines = ["---\n",title_line, date_line, "categories:\n", "- SimpRead\n", "tags:\n", "- SimpRead\n", "---\n"] lines = new_lines + lines with open(file_path, "w") as f: f.writelines(lines)安装 Hexo 的步骤:安装 Node.js

因为 Hexo 是基于 Node.js 的框架。您可以从 Node.js 的官方网站(https://nodejs.org/en/download/)下载并安装最新版本的 Node.js。

安装 Hexo 命令行工具

您可以使用以下命令在终端中安装:

npm install hexo-cli -g

这个命令会在全局环境中安装 Hexo 命令行工具。

如果网络出现问题,可以使用 npm config set 设置代理尝试解决。

npm config set proxy http://server:port npm config set https-proxy http://server:port创建 Hexo 博客

在您想要创建 Hexo 博客的目录中,打开终端并运行以下命令:

hexo init myblog cd myblog npm install

这个命令会在当前目录下创建一个名为 myblog 的 Hexo 博客,并安装必要的依赖。

运行 Hexo 本地服务器。在终端中运行以下命令:hexo server

这个命令会启动一个本地服务器,在默认端口(4000)上提供 Hexo 博客的预览。您可以在浏览器中输入 http://localhost:4000 访问博客预览页面。

现在您已经成功地在 macOS 上安装了 Hexo,可以开始构建和发布您的博客了。

主题

hexo 主题可以在Themes | Hexo 找到.

butterflygit clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly npm install hexo-renderer-pug hexo-renderer-stylus一键部署至github

hexo 提供了部署到 github 等 git 仓库形式的代码托管网站的快捷方式5-6, 以下教学来自 一键部署。

https://hexo.io/zh-cn/docs/github-pages.html

1. 安装 hexo-deployer-git。2. 在  _config.yml  中添加以下配置(如果配置已经存在,请将其替换为如下):deploy: type: git repo: https://github.com// # example, https://github.com/hexojs/hexojs.github.io branch: gh-pages 3. 执行  hexo clean && hexo deploy  。4. 浏览  .github.io  检查你的网站能否运作。部署到服务器

由于 github 在国内属于时灵时不灵的状态,所以部署到服务器也是一个可选的选择。

注: 需提前建立网站并配置网站目录如 /www/wwwroot/simpread.yeyeziblog.eu.org , 并配置SSL.

服务器建立仓库

首先, 在用户有完全权限的目录内创建裸仓库, 这里选择的是用户根目录下创建 git 文件夹, 仓库名是 simpread.git .

而后在仓库的 hooks 文件夹下创建 post-receive 文件, 文件内容包含:

输出/工作文件夹: --work-tree=/www/wwwroot/simpread.yeyeziblog.eu.org git仓库文件夹: --git-dir=/home/tenney/git/simpread.git git分支: -f mastercd ~/ mkdir git cd git/ git init simpread.git --bare --shared # Initialized empty shared Git repository in /home/tenney/git/simpread.git/ cd /home/tenney/git/simpread.git/ cat > hooks/post-receive git --work-tree=/www/wwwroot/simpread.yeyeziblog.eu.org --git-dir=/home/tenney/git/simpread.git checkout -f master chmod +x hooks/post-receive本地更改配置deploy: type: 'git' repo: ssh://user@ip:22/path/to/simpread.git # example, ssh://[email protected]:22/home/tenney/git/simpread.git branch: master本地运行

可在终端内直接运行:

hexo g && hexo d

可以将加元数据和部署的操作写在一起做成脚本方便使用:

#!/bin/bash cd /path/to/simpread_hexo/ python add_title.py hexo clean hexo g && hexo d

这样只要在终端使用 bash /path/to/script.sh 就可以了.

免密上传

可生成并上传本地密钥到服务器, 完成免密上传.

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

结论

在本文中,我们尝试着构建了一个专属于我们自己的知识库,帮助我们进行知识获取的回溯、整理、分享。同样的方法,也可以用来构建私人博客、团队信息共享、企业知识库。值得注意的是,方法是方法,目的是目的,利用其他工具达成目标是完全可接受的。甚至有许多服务可以做到更简单更有效,本文只是提供其中的一种而已。

最后,希望大家热爱知识,获得快乐。

篇外篇外1: 简悦的多种导出服务

简悦的多种导出服务

导出到本地Markdown · 离线 MarkdownPDF(使用浏览器打印)PNGHTML · 离线HTML复制 Markdown 到剪切板临时页面导出到生产力工具支持服务笔记类: Github 有道云笔记 为知笔记 语雀 印象笔记/Evernote Onenote Notion Joplin 专注笔记 flomo 以及 任意笔记网盘类: 坚果云 Dropbox Google 云端硬盘 WebDAV稍后读: Pocket Instapaper应用类:**Bear** Ulysses简悦 · 同步助手导出服务可导出到任意目录原生 PDF 原生 EpubTextBundle md + assetsMarkdeep发送到邮件 直接发送到 Kindle支持任意格式导出 e.g. .docs篇外2: hexo 其他有趣的主题one-paper

好看好用但代码显示有问题.

Cards | Theme for HexoCards

Installation 安装

cd hexo git clone https://github.com/ChrAlpha/hexo-theme-cards.git themes/cards vi _config.yml -theme: landscape +theme: cards hexo s --debug

你也可以参照主题文档详细了解相关配置。

Crisp-Minimal-Resume

Crisp-Minimal-Resume 是一个简历页面.

Crisp-Minimal-ResumeOverdose

好看的卡片式主题。

$ cd your/hexo/directory $ git clone https://github.com/HyunSeob/hexo-theme-overdose.git themes/overdose $ cd ./themes/overdose $ npm install --save hexo-renderer-jade # Don't use hexo-renderer-pug. It doesn't work. # --no-audit $ cp _config.yml.example _config.yml $ cd your/hexo/directory $ hexo server

可能是版本问题, 安装失败.

引用HexoThemes | HexoGitHub - ChrAlpha/hexo-theme-cards: Another Simple & Swift theme for HexoGitHub - HyunSeob/hexo-theme-overdose: ⚠ Caution: you could be overdosed with this theme.Hexo搭建个人博客-并部署到Github上托管(Windows) - 知乎在 GitHub Pages 上部署 Hexo | HexoButterfly 安裝文檔(三) 主題配置-1 | Butterfly简悦 SimpRead - 如杂志般沉浸式阅读体验的扩展简悦新用户建议(看这一篇就足够了)2022 最新修订版 - 知乎


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3