Fava Dashboards 项目教程
1. 项目的目录结构及介绍
fava-dashboards/
├── devcontainer/
├── github/
├── example/
├── frontend/
├── scripts/
├── src/
│ └── fava_dashboards/
├── .editorconfig
├── .gitignore
├── .python-version
├── LICENSE.md
├── Makefile
├── README.md
├── pyproject.toml
├── requirements-dev.lock
├── requirements.lock
目录结构介绍
- devcontainer/: 包含开发容器配置文件。
- github/: 包含GitHub相关配置文件。
- example/: 包含示例文件,如示例账本文件。
- frontend/: 前端相关文件。
- scripts/: 包含项目使用的脚本文件。
- src/fava_dashboards/: 项目的主要源代码目录,包含Fava Dashboards的核心功能。
- .editorconfig: 编辑器配置文件。
- .gitignore: Git忽略文件配置。
- .python-version: Python版本配置文件。
- LICENSE.md: 项目许可证文件。
- Makefile: 项目构建文件。
- README.md: 项目介绍和使用说明。
- pyproject.toml: Python项目配置文件。
- requirements-dev.lock: 开发环境依赖锁定文件。
- requirements.lock: 生产环境依赖锁定文件。
2. 项目的启动文件介绍
项目的启动文件主要是通过Fava来加载和运行。Fava是一个基于Beancount的Web界面,用于查看和管理Beancount账本。Fava Dashboards作为一个Fava的插件,通过配置文件来启用和配置。
启动步骤
-
安装Fava和Fava Dashboards插件:
pip install git+https://github.com/andreasgerstmayr/fava-dashboards.git
-
配置Beancount账本: 在Beancount账本文件中添加以下配置以启用Fava Dashboards插件:
2010-01-01 custom "fava-extension" "fava_dashboards"
-
启动Fava:
fava example.beancount
其中
example.beancount
是你的Beancount账本文件。
3. 项目的配置文件介绍
Fava Dashboards的配置文件是一个YAML文件,通常命名为dashboards.yaml
,位于Beancount账本文件的同一目录下。该文件定义了多个仪表盘,每个仪表盘包含一个或多个面板。
配置文件示例
dashboards:
- title: "示例仪表盘"
panels:
- title: "账户余额"
width: 50%
height: 400px
type: jinja2
queries:
- bql: "SELECT account, sum(position) AS balance GROUP BY account"
template: |
<h2>{{ panel.title }}</h2>
<ul>
{% for row in panel.queries[0].result %}
<li>{{ row.account }}: {{ row.balance }}</li>
{% endfor %}
</ul>
配置文件结构
- dashboards: 定义多个仪表盘。
- title: 仪表盘的标题。
- panels: 仪表盘中的面板列表。
- title: 面板的标题。
- width: 面板的宽度。
- height: 面板的高度。
- type: 面板的类型,如
jinja2
、html
、echarts
等。 - queries: 面板中使用的查询列表。
- bql: Beancount查询语言(BQL)查询语句。
- template: 面板的模板内容(仅适用于
jinja2
类型)。
通过以上配置,Fava Dashboards可以根据用户的自定义需求生成各种仪表盘,用于展示Beancount账本中的数据。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考