/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

查看文档 📖

版本提示

3.0版本开始已经使用了最新的Python3.8语法,所以如果你不方便升级CPython请使用2.X版本

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

动态 使用: 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域名服务静态文件

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