示例文章
2021-11-5
| 2023-3-25
0  |  0 分钟
type
Post
status
Published
date
Nov 5, 2021
slug
example-1
summary
这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。
tags
建站
文字
category
学习思考
icon
password

基本段落

书中自有黄金屋,书中自有颜如玉
💡
生活的意义并不是与他人争高下,而在于享受努力实现目标的过程,结果只是对自己行动的嘉奖。

将进酒

李白〔唐代〕
君不见黄河之水天上来,奔流到海不复回。 君不见高堂明镜悲白发,朝如青丝暮成雪。 人生得意须尽欢,莫使金樽空对月。 天生我材必有用,千金散尽还复来。 烹羊宰牛且为乐,会须一饮三百杯。 岑夫子,丹丘生,将进酒,杯莫停。 与君歌一曲,请君为我倾耳听。 钟鼓馔玉不足贵,但愿长醉不愿醒。 古来圣贤皆寂寞,惟有饮者留其名。 陈王昔时宴平乐,斗酒十千恣欢谑。 主人何为言少钱,径须沽取对君酌。 五花马、千金裘,呼儿将出换美酒,与尔同销万古愁。
 

特殊段落

1.代码

# Bash 安装zsh $ sudo apt install zsh # 配置ohmyzsh $ sh -c "$(curl -fsSL <https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh>)" # 配置ohmyzsh插件 # zsh-autosuggestions $ git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions # zsh-syntax-highlighting $ git clone <https://github.com/zsh-users/zsh-syntax-highlighting.git> ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting // 启用插件 $ vim .zshrc plugins=(git z zsh-autosuggestions zsh-syntax-highlighting)
其他更多语言
ps -ef | grep java | awk '{print $2}' | xargs kill -9
@Test public void test11() { long start = System.currentTimeMillis(); int a = 0; for(int i=0;i<1000000000;i++){ try { a++; }catch (Exception e){ e.printStackTrace(); } } long useTime = System.currentTimeMillis()-start; System.out.println("useTime:"+useTime); }
#!/usr/bin/python3 import json # Python 字典类型转换为 JSON 对象 data = { 'no' : 1, 'name' : 'hello', 'url' : 'http://tangly1024.com' } json_str = json.dumps(data) print ("Python 原始数据:", repr(data)) print ("JSON 对象:", json_str)
# R 语言 #file.edit(path.expand(file.path("~", ".Renviron"))) library(telegram.bot) library(stringr) # Initiate the bot session using the token from the enviroment variable. bot = Bot(token = bot_token('your_bot')) usr_list <- c(12344566, 12345566)
html { background-color: red; }
#include <iostream> using namespace std; // main() 是程序开始执行的地方 int main() { cout << "Hello World"; // 输出 Hello World return 0; }
using System; namespace HelloWorldApplication { class HelloWorld { static void Main(string[] args) { Console.WriteLine("Hello World"); Console.ReadKey(); } } }
.section __TEXT,__text,regular,pure_instructions .macosx_version_min 10, 13 .globl _add_a_b .p2align 4, 0x90 _add_a_b: ## @add_a_b .cfi_startproc ## BB#0: pushq %rbp Lcfi0: .cfi_def_cfa_offset 16 Lcfi1: .cfi_offset %rbp, -16 movq %rsp, %rbp Lcfi2: .cfi_def_cfa_register %rbp movl %edi, -4(%rbp) movl %esi, -8(%rbp) movl -4(%rbp), %esi addl -8(%rbp), %esi movl %esi, %eax popq %rbp retq .cfi_endproc .globl _main .p2align 4, 0x90 _main: ## @main .cfi_startproc ## BB#0: pushq %rbp Lcfi3: .cfi_def_cfa_offset 16 Lcfi4: .cfi_offset %rbp, -16 movq %rsp, %rbp Lcfi5: .cfi_def_cfa_register %rbp subq $16, %rsp movl $1, %edi movl $2, %esi movl $0, -4(%rbp) callq _add_a_b addq $16, %rsp popq %rbp retq .cfi_endproc

2.公式

  • 数学公式
  • 化学方程
其他更多公式
 

3. 图表

graph LR; 公司架构-->商务 公司架构-->研发 公司架构-->设计 公司架构-->运营 公司架构-->产品
思维导图

4. PDF嵌入

5.下载附件

6. 照片集

照片集

7. 内嵌网页

5.代办

家庭
洗衣
做饭
事业
开会
加班

6.折叠列表

点击展开
点击展开
点击展开
内容可以多级嵌套

 

8. 同步块

Notion支持将不同页面的块进行同步,即 SyncBlock,以下是来自另一个页面的块:

介绍:

基于ChatGPT的微信聊天机器人,接入ChatGPT API (gpt-3.5-turbo),默认使用该模型进行对话,通过 ChatGPT 接口生成对话内容,使用 itchat 实现微信消息的接收和自动回复。已实现的特性如下:
文本对话: 接私聊及群组中的微信消息,使用ChatGPT生成回复内容,完成自动回复
规则定制化: 支持私聊中按指定规则触发自动回复,支持对群组设置自动回复白名单
多账号: 支持多微信账号同时运行
图片生成: 支持根据描述生成图片,并自动发送至个人聊天或群聊
上下文记忆:支持多轮对话记忆,且为每个好友维护独立的上下会话
语音识别:支持接收和处理语音消息,通过文字或语音回复
 

运行环境:

  1. 支持 Linux、MacOS、Windows 系统(可在Linux服务器上长期运行),同时需安装Python。
  1. 建议Python版本在 3.7.1~3.9.X 之间,3.10及以上版本在 MacOS 可用,其他系统上不确定能否正常运行

一,环境安装:

安装方式:

  1. WINDOWS系统上安装虚拟机,LINUX运行在虚拟机上-需要安装代理软件,如:clash-for-linux;
  1. 软路由ESXI系统上安装虚拟机,LINUX运行在虚拟机上-无需代理(软路由已实现);
  1. VPS(国外远程服务器)远程部署安装-无需代理
 

实例1:在Rocky Linux 8/AlmaLinux 8上安装Python 3.9:

  1. 对于新项目和从Python 2.x迁移现有项目,建议使用Python 3。AppStream存储库中提供了不同版本的Python 3包,可以使用以下命令进行检查:
$ sudo dnf module list | grep -i python
  1. 通常情况下,会返回python27、python36、python38、python39选择,如下截图:
notion image
  1. 将模块版本传递给dnf命令,例如要安装Python 3.9,运行以下命令:
$ sudo dnf install python3.9 -y
  1. 在系统上安装Python3后,使用下面的命令在交互式shell中使用它:
#检查python3 $ python3.9 Python 3.9.13 (main, Nov 16 2022, 10:51:39) [GCC 8.5.0 20210514 (Red Hat 8.5.0-15)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> # 输出上面内容之后,按键盘ctr+d 或ctr+d退出
  1. 将Python 3设置为默认值:
#默认Python 3 $ sudo alternatives --set python /usr/bin/python3 #默认Python 3.9 $ sudo alternatives --set python /usr/bin/python3.9 $ sudo alternatives --set python3 /usr/bin/python3.9
  1. 使用此处给出的命令验证您的设置:
$ python -V Python 3.9.13 $ python3 -V Python 3.9.13
自此,环境安装完成!直接跳至下面步骤二:植入chatgpt-on-wechat项目代码
以上参考链接:
 
 

实例2:Linux Centos7安装python3.7:

  1. 检查一下原来python的版本和是否有gcc:
[root@loaclhost ~]# python --version ##检查python版本 Python 2.7.5 ##显示版本号 [root@loaclhost ~]# gcc --version ##检查gcc版本 -bash: gcc: 未找到命令 ##未安装gcc [root@loaclhost ~]# yum -y install gcc ##安装gcc
  1. python3.7以上版本,安装依赖包:libffi-devel:
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
  1. wget下载python3.7.10, 也可以手动下载,下载地址:https://www.python.org/downloads/
#安装wget $ yum install wget -y #wget下载python3.7.10 $ wget https://www.python.org/ftp/python/3.7.10/Python-3.7.10.tgz
  1. 解压下载好的Python安装包:
$ tar -zxvf Python-3.7.10.tgz
  1. 进入解压后的目录:
#进入目录 $ cd Python-3.7.10 #创建一个空文件夹,存放python3程序 $ mkdir /usr/local/python3 #指定安装目录 $ ./configure --prefix=/usr/local/python3 #执行完成时提示:"If you want a release build with all stable optimizations active (PGO, etc), please run ./configure --enable-optimizations" #按提示执行: $ ./configure --enable-optimization #编译安装 $ make && make install
  1. 建立Python3的软连接:
$ ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3 $ ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
  1. 检查Python3和pip3:
[root@loaclhost Python-3.7.10]# python3 ##检查python3 Python 3.7.10 (default, Mar 16 2022, 11:54:28) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> [root@loaclhost Python-3.7.10]# pip3 --version ##检查version pip 22.0.4 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
以上参考链接:
 

二,植入chatgpt-on-wechat项目代码:

  1. 克隆项目代码:
#root目录下克隆项目代码: $ git clone https://github.com/zhayujie/chatgpt-on-wechat #如果没有安装git,执行: $ yum install git -y
  1. 安装所需核心依赖:
#进入chatgpt-On-wechat目录: $ cd chatgpt-on-wechat/ #安装所需核心依赖: $ pip3 install itchat-uos==1.5.0.dev0 $ pip3 install --upgrade openai ##注:itchat-uos使用指定版本1.5.0.dev0,openai使用最新版本,需高于0.27.0。
 

三,配置:

  1. 配置文件的模板在根目录的config-template.json中,需复制该模板创建最终生效的 config.json 文件:
# 确认在chatgpt-on-wechat目录下,如果没有,输入: $ cd chatgpt-on-wechat # 复制json模板,并命名为:config.json $ cp config-template.json config.json
  1. 然后在config.json中填入配置,以下是对默认配置的说明,可根据需要进行自定义修改:
# config.json文件内容示例 { "open_ai_api_key": "YOUR API KEY", # 填入上面创建的 OpenAI API KEY, 获取API需要登录:https://platform.openai.com/overview "proxy": "127.0.0.1:7890", # 代理客户端的ip和端口 "single_chat_prefix": ["bot", "@bot"], # 私聊时文本需要包含该前缀才能触发机器人回复 "single_chat_reply_prefix": "[bot] ", # 私聊时自动回复的前缀,用于区分真人 "group_chat_prefix": ["@bot"], # 群聊时包含该前缀则会触发机器人回复 "group_name_white_list": ["ChatGPT测试群", "ChatGPT测试群2"], # 开启自动回复的群名称列表 "image_create_prefix": ["画", "看", "找"], # 开启图片回复的前缀 "conversation_max_tokens": 1000, # 支持上下文记忆的最多字符数 "voice_reply_voice": false # 语音识别-关 "character_desc": "你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。" # 人格描述 }
配置说明:
个人聊天:
  • 个人聊天中,需要以 "bot"或"@bot" 为开头的内容触发机器人,对应配置项 single_chat_prefix (如果不需要以前缀触发可以填写 "single_chat_prefix": [""])
  • 机器人回复的内容会以 "[bot] " 作为前缀, 以区分真人,对应的配置项为 single_chat_reply_prefix (如果不需要前缀可以填写 "single_chat_reply_prefix": "")
群组聊天:
  • 群组聊天中,群名称需配置在 group_name_white_list 中才能开启群聊自动回复。如果想对所有群聊生效,可以直接填写 "group_name_white_list": ["ALL_GROUP"]
  • 默认只要被人 @ 就会触发机器人自动回复;另外群聊天中只要检测到以 "@bot" 开头的内容,同样会自动回复(方便自己触发),这对应配置项 group_chat_prefix
  • 可选配置: group_name_keyword_white_list配置项支持模糊匹配群名称,group_chat_keyword配置项则支持模糊匹配群消息内容,用法与上述两个配置项相同。
其他配置:
  • proxy:由于目前 openai 接口国内无法访问,需配置代理客户端的地址
  • 对于图像生成,在满足个人或群组触发条件外,还需要额外的关键词前缀来触发,对应配置 image_create_prefix
  • 关于OpenAI对话及图片接口的参数配置(内容自由度、回复字数限制、图片大小等),可以参考 对话接口 和 图像接口 文档直接在 代码 bot/openai/open_ai_bot.py 中进行调整。
  • conversation_max_tokens:表示能够记忆的上下文最大字数(一问一答为一组对话,如果累积的对话字数超出限制,就会优先移除最早的一组对话)
  • character_desc 配置中保存着你对机器人说的一段话,他会记住这段话并作为他的设定,你可以为他定制任何人格
 

四,安装代理clash-for-linux代理(需要走代理的话):

 
参考链接:
 
 
 
 

五,运行:

  1. 本地运行:如果是开发机 本地运行,直接在项目根目录下执行:
$ python3 app.py
  1. 服务器部署:使用nohup命令在后台运行程序:
$ touch nohup.out ## 首次运行需要新建日志文件 $ nohup python3 app.py & tail -f nohup.out ## 在后台运行程序并通过日志输出二维码 ## 扫码登录后程序即可运行于服务器后台,此时可通过 ctrl+c 关闭日志,不会影响后台程序的运行。 ## 使用 ps -ef | grep app.py | grep -v grep 命令可查看运行于后台的进程, ## 如果想要重新启动程序可以先 kill 掉对应的进程。日志关闭后如果想要再次打开只需输入 tail -f nohup.out。 ## scripts/目录有相应的脚本可以调用
  1. 注意:务必使用实名认证的微信号,否则无法登录!登陆错误信息见下图,扫码后手机提示登录验证需要等待5s,
notion image
  1. 多账号支持: 将项目复制多份,分别启动程序,用不同账号扫码登录即可实现同时运行。
  1. 特殊指令: 用户向机器人发送 #清除记忆 即可清空该用户的上下文记忆。
 
项目方原链接:
 
💡
注意 : 同步块的使用条件是源页面也要被开放共享 ,否则NotionNext将无权访问,页面上会被忽略渲染。
notion image
 

多级目录

heading标题在博客中自动转为目录

二级目录1

二级内容 1

二级目录2

二级内容2

二级目录3

三级目录3.1

不同级别的heading代表不同级别的目录

三级目录3.2

高一级目录嵌套低一级目录

多级列表

  • 事物的必然性
  1. 事物按规律变化,也有一种不可避免的性质.这种性质就叫做必然性
    1. 事物的必然性,是事物本身的性质(我们反对宿命论的是其认为这一切是受神明的支配,而不是反对事物发展中存在的不可避免的性质的事实)
      1. 第三级别列表
      2. 第三级别列表
    2. 其决定于它自己本身发展的情况和周围的条件
      1. 第三级别列表
        1. 第三级别列表

模板使用说明

若要部署你的NotionNext项目,请复制该模板,并按照模板格式创建文章:
Notion页面中,每篇文章都将有以下属性🤔:
属性
必填
说明
备注
title
文章标题
status
发布状态
(仅当状态为Published 时会被 展示)
type
页面类型 (博文Post / 单页(Page)
单页不会在博文列表显示 。
summary
内容摘要
搜索和简略显示会用到
date
发布日期
在V3.3.9之前的版本此项为必填。
category
文章分类
可以自定义
tags
文章标签
可多个,建议不要太多
slug
文章短路径
(每篇文章唯一,请勿 重复)
icon
菜单栏图标(仅当Page类型有效)
可以参考:图标库地址
password
文章加锁
需要输入密码才允许访问

评论插件

系统支持 Waline\Giscus\Valine\GitTalk\Utterance\Cusdis\Twikoo六种评论插件,并且可以同时开启,点击评论区的Tab来体验。
按照以下教程可以开启响应的评论插件
NotionNext配置评论插件Twikoo | TANGLY's BLOG
一个简洁、安全、免费的静态网站评论系统,基于 腾讯云开发 。 经评论区网友推荐,我开始使用 Twikoo,一番体验,发现Twikoo真的很强大,目前我决定用它作为主要评论插件。 twikoo支持在页面上直接管理评论、配置插件,非常强大 在最新版本中 NotionNext已经 支持该评论插件,配置 方法很简单: 在Vercel后台添加一个环境变量 NEXT_PUBLIC_COMMENT_ENV_ID ; 值为您部署好的 twikoo 后台地址。以我的举例: 借助vercel,您可以非常快速地部署自己的twikoo后台,用于储存评论数据。 twikoo的后台数据存储是基于MongoDB数据库的,我们可以先注册创建一个免费的在线MongoDB数据库。 创建MongoDB数据库 1.注册账号 创建数据库 这里下方要设置一个允许访问该数据库的IP地址,推荐设置0.0.0.0,即所有地址都允许访问,毕竟我也不知道自己会用什么ip访问这个数据库。 2.获取数据库连接地址 Vercel一键部署 点击Create将twikoo的代码拷入您的仓库 配置MongoDB数据库地址 添加一个配置 MONGODB_URI 环境变量即可,其值为上一步获得的MongoDB连接地址,注意将链接中MONGODB的密码 替换成您设置的。 上述部署完成后,您将获得一个vercel的twikoo后台页面,您可以选择像我一样映射成二级域名 将您的twikoo后台地址配置在NotionNext的后台,并redeploy即可。 到此完成~ 点击右下角的小齿轮即可配置您的管理员密码、并进行更多的功能设置。赶快体验吧~ 可以访问官方文档获取安装部署帮助,并且查看Twikoo的更多特性。 NotionNext支持多种评论插件,可访问以下文章获得帮助:
NotionNext配置评论插件Twikoo | TANGLY's BLOG
NotionNext如何添加评论插件 | TANGLY's BLOG
NotionNext支持多种评论插件,其中体验比较好的我个人觉得是Twikoo,您可以参考以下教程进行配置安装: 您也可以选择Valine/Waline,关于Valine/Waline的部署可以访问此篇文章: Utterance 、 Giscus 、Gitalk 其中部署最便捷的当属 Cusdis 和 Utterance 这两个插件。您可以任选一个部署,当然,您也可以选择同时部署多个。 完成效果预览 点击Start for free ,并用Github登录即可 Sign in With Github (点击查看截图) [可选] 配置邮件通知地址,以便收到新评论时邮件通知您,(点击展开截图) 点击Embed Code获取您的应用ID,即data-app-id, 复制这串id备用。 在Vercel后台添加一个环境变量 NEXT_PUBLIC_COMMENT_CUSDIS_APP_ID,值为上面获取到的data-app-id。 完成预览效果 在您的Github中创建一个开源项目用于存放评论 在github中安装utterance插件 允许utterance访问所有仓库,并勾选install,可以只勾选作为评论用的仓库地址。 将用作评论仓库名添加到Vercel添加环境变量 后台 settings→ environment variables → 添加 → save 即可。如下图: 注意, 仓库名的格式是 [您的用户名/您的仓库名] 如下示例 完成预览效果 在您的Github中创建一个开源项目用于存放评论 创建一个授权秘钥,并保存您的ClientID与ClientSecret Authorization callback URL 填写您网站域名 填写配置的效果 ,点击 register application 即可创建。 点击 Generate a new client secret 生成您的密码 复制 Client ID和刚生成的 Client secret (对应图中2和3)备用。 在Vercel后台配置环境变量 NEXT_PUBLIC_COMMENT_GITALK_CLIENT_ID NEXT_PUBLIC_COMMENT_GITALK_CLIENT_SECRET NEXT_PUBLIC_COMMENT_GITALK_CLIENT_ID NEXT_PUBLIC_COMMENT_GITALK_CLIENT_SECRET 项目会在您的Github项目讨论区创建评论数据,便于维护管理 , 完成效果 预览 您可以在Github的Discusstion讨论区随时管理评论。 在您的Github中创建一个开源项目用于存放评论 在项目Setting中开启discussion功能 在Github中安装giscus应用 点击右上方的Install即可,并确认 允许访问仓库数据权限: 默认勾选All repositories即可。也可以只勾选用作评论的仓库,(后续还可以再回来配置) 访问Giscus填写并获取您的Giscus配置参数 主要配置输入您的仓库名,并选择 Discussion分类为 Announcements .
NotionNext如何添加评论插件 | TANGLY's BLOG
 
/
学习思考
  • 建站
  • 文字
  • 加锁文章
    目录