关于本博客

项目已经开源:https://github.com/dongweiming/lyanna

文档请看:https://dongweiming.github.io/lyanna/#/

概述

这是一个使用 asyncio 生态开发的个人技术博客。用到的主要的库如下:

Web 框架: Sanic

模板: Mako/Sanic-Mako

数据库: TortoiseORM/aiomysql

缓存: aiomcache

KV 数据库: aioredis

任务队列: arq

其他 aio 扩展: Sanic-Auth、Sanic-wtf、sanic-session、aiotask-context、asyncblink、sanic-sentry、sanic-jwt、aiosmtplib

博客后台部分:

前端部分:ElementUI + Vue-CLI3 + Vue-Router + Vuex + Axios

后端部分:Sanic + Sainc-jwt (是的,用了 JSON Web Token)

功能

  • 可以通过后台对文章、标签等做增删改查
  • 后台支持 Markdown 编辑 / 预览
  • 支持代码语法高亮
  • 支持 TOC
  • 支持文章搜索
  • 支持 Github 登录评论
  • 支持 Github 登录对文章和平台表态
  • 可以分享文章到微信 / 微博 / 豆瓣 / 印象笔记 / Linkedin
  • 支持 Hexo 等其他 Markdown 源文件的导入
  • 支持文章的语法高亮
  • 支持个人设置 (如设置头像,个人介绍)
  • 支持定制导航栏
  • 支持 RSS/Sitemap
  • 相关文章推荐 (根据相似标签)
  • 响应式设计
  • 支持集成 Sentry
  • 支持评论提及邮件
  • 支持 Github Cards. 本文就能看到卡片效果
  • 文章内容 (除代码部分之外) 自动「盘古之白」
  • 支持文章专题
  • 支持用 Docker Compose 本地开发
  • 支持 kubernetes 上运行
  • Widget 系统,内置 aboutme、blogroll、most_viewed、latest_comments、tagcloud、html 等 widget
  • 导航栏项可以设置 icon (如 RSS)

关于我

结尾

欢迎 Star 和贡献代码 O (∩_∩)O~

相信这个博客用到的 Sanic 和 aio 的各种细节会对大家学习了解 asyncio 和 aio 开发有帮助、带来灵感,欢迎技术探讨~