V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Macv1994
V2EX  ›  分享创造

写了一个 flask 扩展

  •  1
     
  •   Macv1994 ·
    weijiang1994 · 2021-06-10 17:06:05 +08:00 · 1447 次点击
    这是一个创建于 1297 天前的主题,其中的信息可能已经有所发展或是发生改变。

    flask-githubcard

    一个 Flask 的拓展程序,通过该程序可以快速在前端页面渲染出指定 github 仓库的相关信息卡片。

    English Document

    快速开始

    首先通过pip安装依赖程序flask-githubcard

    pip install flask-githubcard
    

    初始化扩展

    from flask import Flask
    from flask_githubcard import GithubCard
    
    app = Flask(__name__)
    githubcard = GithubCard(app)
    

    初始化依赖

    在你基类模板的<head>块初始化扩展的依赖

    {{githubcard.init_css()}}
    {{githubcard.init_js()}}
    

    渲染 github 卡片

    <div>
        {{githubcard.generate_card()}}
    </div>
    

    之后访问你的页面,效果如下

    1623293427414.png

    进阶

    在使用扩展程序的时候我们可以通过 app.config[some] 来配置,配置项列表如下

    配置项 说明 默认 可选
    GITHUB_USERNAME 需要展示的 github 用户名 weijiang1994 None
    GITHUB_REPO 需要展示的 github 仓库名 Blogin None
    theme 渲染主题配色 default default/darkly

    同时扩展内置了两款主题,默认的亮色,如果需要改变主题为 darkly 通过下面的代码即可实现

    <head>
        {{githubcar.init_css(theme='darkly')}}
    </head>
    <div>
        {{githubcard.generate_card('darkly')}}
    </div>
    

    darkly 主题效果如下图

    1623294104103.png

    注意

    • 由于使用了 github 的 api 在没有进行授权的情况下,唯一 IP 在每小时内限制的访问次数为 60 次,超过 60 次则会报 403, 如果访问频率过高,请前往 github 上授权账号;
    • 在国内访问 github 会出现超时的现象,可能会导致网页一直无法打开!

    第一次写扩展,主要是为了学习 python 第三库开发以及 push 到 pypi 的流程,代码很垃圾,大佬们留情~~~

    5 条回复    2021-06-11 13:49:09 +08:00
    johnsona
        1
    johnsona  
       2021-06-10 18:34:36 +08:00 via iPhone
    toy
    abersheeran
        2
    abersheeran  
       2021-06-10 18:48:42 +08:00   ❤️ 1
    有个建议,commit 都是中文,你就别开屏 English Document 了。你这么搞,中国人外国人都不待见。

    不如直接开屏中文文档,再加个 English 的链接在 README 里。
    Macv1994
        3
    Macv1994  
    OP
       2021-06-11 09:11:15 +08:00
    @abersheeran 嗯,谢谢,上传 pypi 后忘记改回来了。
    abersheeran
        4
    abersheeran  
       2021-06-11 10:57:05 +08:00   ❤️ 1
    看了一下源码,还有一个建议。如果你是写 flask 插件,那么只要有生成代码的部分,就可以放心的使用 jinjia2,特别是你这种一大段 HTML 的,更应该用了。
    Macv1994
        5
    Macv1994  
    OP
       2021-06-11 13:49:09 +08:00
    @abersheeran 第一次写没啥经验,感谢建议.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1293 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:56 · PVG 01:56 · LAX 09:56 · JFK 12:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.