查看原文
其他

轻量级静态博客系统!5 分钟极速部署上线,几百个页面瞬间生成(已开源)

点击关注👉 民工哥技术之路 2023-08-12

点击关注公众号,设置星标!

回复“1024”获取2TB学习资源!

开源项目简介

suiyan 碎言静态博客。

碎言这个名称取自与"碎言片语",码兄累了吗?累了就休息一下,为未来的自己留下一些碎言片语吧。

开源协议

使用Apache-2.0开源协议

界面展示

一键切换主题,自动主题。

功能概述

软件架构

2023-03-24 新版 3.0.0 发布啦!

集成了jinja2的模板引擎,大大的提高了静态页面的构建速度, 支持模板主题的制作。

使用了asyncio和aiofiles模块来实现异步IO操作,提高了生成静态博客页面的效率,几百页面瞬间生成。

更新当前博客主题:使用了pico.css样式,大道至简,返璞归真,没有组件,只有HTML标签。

构建博客索引并可以通过标题进行全站搜索。

博客文章写作采用Markdown技术支持,让你专注写作更流畅。

推荐使用Vscode搭配进行blog文章的编写(因为当创建新文章后会直接使用vscode直接打开)

如果新建blog文章无法在vscode中打开,请在命令面板中搜索shell,在PATH 中安装code命令。

博客的管理支持终端和图形界面:

图形界面:

python3 w.py

终端启动命令:

python s.py

可以根据自己的喜好进行选择。

技术选型

安装教程

首先克隆下载碎言静态博客,

访问:https://github.com/bosichong/suiyan 下载

终端运行:

pip install -r requirements.txt

安装相关依赖,安装完成。

目录结构

下边是一个完整的项目结构,有些目录需要创建md文件和生成静态文件后才会显示。

├── LICENSE 开源协议
├── README.md 说明文档
├── articles md文件存放目录(名称可以自定义)
├── blog 静态文件存放目录(名称可以自定义)
├── config.json 站点配置文件
├── logs 日志存放目录
├── requirements.txt 依赖文件
├── s.py 主程序和终端操作命令行
├── seo 这里存放着一些SEO文件,比如验证,robots.txt
├── theme 主题目录,下边的每一个目录对应一个主题,可以在配置文件里修改主题
├── utils.py 程序依赖的方法
└── w.py 窗口操作的程序

首次运行

首次运行建议先修改根目录下的配置文件config.json这里简单介绍一下配置项:

{
    "dev": 0,  # 调试模式,如果改为1,则使用"blog_test_url"来添加静态资源地址前缀,方便本地调试。
    "blog_name""碎言博客",   # 站点名称
    "blog_name_en""SuiYan"# 站点英文名称
    "blog_author""J.sky"# 站长昵称
    "blog_description_en""You see see you , This one day day di.",  # 站长简介
    ## 下边是网页中的meta
    "meta_description"" Python Django JavaScript 学习讨论,我们是一群热爱Python的程序员,人生苦短,我用JavaScript!一个不会JavaScript的Python开发者不是一个好网管。",
    "meta_keywords":"Python,Django,JavaScript,程序员,人生苦短,我用Python",
    "profile_image":"assets/images/touxiang.jpg",  # 头像地址
    "blog_bg""assets/pexels-masha-raymers-3068711.jpg"#当前站点背景图片地址
    "theme""default_theme"# 当前使用的主题目录名称
    "build""blog"# 静态文件的目录名称
    "md_dir""articles"#md文件目录
    "blog_page_num":4,# 静态站点首页的数据分页数值
    "blog_test_url":"http://127.0.0.1:5500/blog/"#本地调试是的测试地址前缀
    "blog_url":"https://suiyan.cc/"# 你的域名,生产模式使用
    "github":""# 这个是你的仓库地址前缀,暂时无用。
    # sns 图标 和地址,图标的选择,后边会说。
    "blog_sns": [
        {
            "ico""github",
            "url""https://github.com/bosichong/suiyan"
        },
        {
            "ico""git",
            "url""https://gitee.com/J_Sky/suiyan"
        },
        {
            "ico""weibo",
            "url""https://weibo.com/qq285911"
        },
        {
            "ico""qq",
            "url""https://user.qzone.qq.com/285911/"
        },
        {
            "ico""book",
            "url""https://www.zhihu.com/people/J_sky/activities"
        },
        {
            "ico""rss",
            "url""https://suiyan.cc/rss.xml"
        }
    ],
    # 站点的导航
    "nav": [
        {
            "ico""home",
            "text""Blog Home",
            "url""index.html"
        },
        {
            "ico""archive",
            "text""Blog Archive",
            "url""archives.html"
        },
        {
            "ico""tags",
            "text""Blog Tag",
            "url""tags.html"
        },
        {
            "ico""user",
            "text""About Me",
            "url""aboutme.html"
        }
    ]

}

配置文件可以根据自己的需要添加删除,在jinja2 模板中使用{{ 属性名称 }}来调用。

修改完毕后就可以创建新文章了。

创建文章

python z.py -n 此处写文章标题

这个时候就会在articles目录下创建一篇文章,并且使用vscode直接打开。

修改博客及站长资料

config.json里存放着一些站点的资料,上传前建议先修改成自己的资料。

运行站点

本地主题开发编写,推荐使用Live Server这个vscode得插件,非常方便。

修改站点样式

采用jinja2模板引擎,在主题或是模板目录修改样式,一键生成页面,直接同步页面。

部署

git push origin master

提交blog目录下所有文件到git仓库即可,blog 就是所有博客的全部文件!

地址:https://github.com/bosichong/suiyan


读者专属技术群

构建高质量的技术交流社群,欢迎从事后端开发、运维技术进群备注岗位,相互帮助,一起进步!请文明发言,主要以技术交流、内推、行业探讨为主

广告人士勿入,切勿轻信私聊,防止被骗


推荐阅读 点击标题可跳转

月薪一万八,还要什么意义?

卧槽!被挤出前三了。。。

学会这几招,快去给你的 Docker 镜像瘦瘦身吧

弃用 Nginx 后!它成为了最受欢迎 Web 服务器

成年人才能看懂的 80 幅图!未成年人勿点

李彦宏疯了?百度要把全部产品重做一遍!

我司使用7年多的容器化部署方案!有点牛 X

PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下在看,加个星标,这样每次新文章推送才会第一时间出现在你的订阅列表里。在看支持我们吧!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存