/lyanna

My Blog Using Sanic

Primary LanguageVueGNU General Public License v3.0GPL-3.0

lyanna

Build Status Tag Python Version Checked with mypy

My Blog Using Sanic

查看文档 📖

版本提示

  • 4.0版本开始已经使用了最新的Python3.10语法
  • 3.X版本使用Python3.8语法
  • 2.X版本兼容Python2

强烈建议升级到最新的CPython版本。

Overview

这是一个使用asyncio生态开发的个人技术博客。具体如下:

  • Web框架: Sanic
  • 模板: Mako/Sanic-Mako
  • 数据库: TortoiseORM/aiomysql
  • 缓存: aiomcache
  • KV数据库: aioredis
  • 任务队列: arq
  • 代码质量: mypy/flake8/isort/bandit

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

管理后台使用: ElementUI + Vue-CLI + Vue-Router + Vuex

Inspired by vue-element-admin and vue3-admin-plus

动态 使用: Vue-CLI + Vue-Router + Vuex

Features

  • 可以通过后台对文章、标签等做增删改查
  • 后台支持Markdown编辑/预览
  • 支持代码语法高亮
  • 支持TOC
  • 支持文章搜索
  • 支持Github登录评论
  • 支持Github登录对文章和平台表态
  • 可以分享文章到微信/微博/豆瓣/印象笔记/Linkedin
  • 支持Hexo等其他Markdown源文件的导入
  • 支持文章的语法高亮
  • 支持个人设置(如设置头像,个人介绍)
  • 支持定制导航栏
  • 支持RSS/Sitemap
  • 相关文章推荐(根据相似标签)
  • 响应式设计
  • 支持评论提及邮件
  • 支持 Github Cards. 具体用法请看 这里
  • 文章内容(除代码部分之外)自动「盘古之白」
  • 支持「文章专题」
  • 支持「动态」
  • 可对评论回应
  • 支持用Docker Compose本地开发
  • 支持kubernetes上运行
  • Widget系统,内置aboutme、blogroll、most_viewed、latest_comments、tagcloud、html等widget
  • 导航栏项可以设置icon和颜色(如RSS)
  • 支持配置CDN域名服务静态文件
  • 支持笔记类型的文章,在右侧会显示对应条目信息
  • 支持展示收藏的Movie(Tv)、Book和Game三种类型条目,并可以通过widget展示在主页右侧
  • 支持通过Widget显示rss阅读器feedly和inoreader的订阅链接,可以显示feedly订阅数

Github Cards

文章中支持引用Github User/Repo Card,代码源于Github Cards,对样式做了微调,感恩~

效果: 我的博客

在文章中可以这么用:

```card
{
  'user': 'dongweiming',
  'repo': 'lyanna',
  'right': 1
}
```

card是lang,内容是json数据,你需要确保它可以作为参数让ast.literal_eval正常执行。其中user是必选键值对,包含repo会从user里面搜索这个repo,找不到的话会「Not Found」。right项是为了让Card向右对齐(默认向左对齐)

Showcase

这些博客使用了Lyanna:

PS: 如果博主不希望自己的博客出现在此列表中可以各种渠道私信我或者提PR去掉~

Video

My blog

My blog's Admin page

Thanks

PyCharm