Lyanna也迎来了新的3.0版本 – 动态

2020年前Python3的最后一次大的更新3.8.1已经于12月18日发布,为了迎接这次更新,Lyanna也迎来了新的3.0版本。接下来介绍一下本次更新重点

使用Python3.8用法

由于使用最新的Python 3.8语法海象运算符(Assignment Expressions)重构了代码, 所以不再支持Python 3.8之前的版本 。任性

项目地址

https://github.com/dongweiming/lyanna

使用Mypy

我过去一直拒绝在动态语言代码中声明参数和返回值的类型,我认为一个合格的Python工程师不会在这里踩坑,基于我的编程习惯和对业务的了解,过去这些年几乎没有在类型检查这上面引起过什么线上代码错误。不过由于身边Python开发者质量的下降,已经越来越意识到类型检查的重要性。

Mypy是官方的静态类型检查工具,lyanna从3.0开始引入Mypy,并且已经尽力的覆盖了全部代码。Mypy有空可以专门聊聊

动态

「动态」是本次最大的一个特性。很多同学应该刷过豆瓣广播、推特甚至知乎想法,动态就是类似的一个功能。其实我想做它已经很久了,这是因为在豆瓣、知乎和推特发自己的动态是一种社交行为,潜意识里面是希望别人看到并且和你互动,而我对社交的意愿非常低。那么在自己的博客搞一个「动态」有以下好处:

  • 作为产品经理,可以搞成我认为最好的效果

  • 数据保存在自己的服务器上,自己可以完全掌控

  • 支持Markdown和代码高亮,更利于发技术相关的动态(如代码片段),而社交网站是娱乐的,写代码就有点无趣了

  • 有时候我只是想随便说说,没有分享到社交平台的价值甚至只想自己看到,其他同学如果不是主动就不必刷到了

先想到这么多,大家感受下效果:

这个效果很像豆瓣对吧?哈哈当年的PM和设计师太厉害了,不过我这里使用了Vue来实现(豆瓣是用的jQuery),而且支持上传视频。这次没有后台,如果作为管理员登录会自动在动态页面显示发动态的表单框,目前可以发纯文本/Markdown内容、照片、视频和链接。

使用YAML格式的配置文件

之前使用了 local_settings.py 自定义配置,在v2.7时,右侧边栏部分改用了config.yaml,而现在完全使用YAML格式的配置文件了。改用YAML主要是由于它的表现力更强。

回复评论

应公众号读者意见,可以直接对评论评论啦:

v3.0不兼容问题

在v3.0添加了动态功能,如果之前你已经使用的版本>2.7,可以通过如下命令完成迁移:

如果版本<=2.7看下面:point_down:

v2.7不兼容问题

在v2.5时有做了很多修改,如果之前你已经使用的版本>=2.5,可以通过如下命令完成迁移:

后记

介绍就到这里了。欢迎拉最新代码体验,爱湃森会员同学可以多翻翻源码,元旦后我们专门开一次直播讨论lyanna相关的内容