关于本博客

项目已经开源: 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源文件的导入
  • 支持文章的语法高亮
  • 可以增加个人设置(设置头像,个人介绍,添加Github等链接)
  • 支持定制导航栏
  • 支持RSS/Sitemap
  • 相关文章推荐(根据相似标签)
  • 响应式设计
  • 支持集成Sentry
  • 支持评论提及邮件

结尾

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

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