一、设置Beancount的显示层级。

1
在main.bean文件中增加一行设置:(".*:.*:.*")

  自动展开第2层:

1
1990-01-01 custom "fava-option" "collapse-pattern" ".*:.*"  ; 

  自动展开第3层

1
1990-01-01 custom "fava-option" "collapse-pattern" ".*:.*:.*  ; 

二、显示记账的小数位

Beancount会统计你对每个货币写过的数字,然后挑个最常见的作为显示格式,如果你大多数时候写都是写整数,它就会用整数显示,所以你最好尽量都写成你想要看到的精度,比如不要写“9 CNY”而是“9.00 CNY”。

三、给beancount添加鉴权

一直都想给beancount鉴权的功能,可惜一直没学会。
在群里与大佬交流,其提到了一个docker可以给其他的docker添加鉴权的功能。
于是尝试了下,完美达成。docker地址:https://hub.docker.com/r/beevelop/nginx-basic-auth/
设置步骤如下:

  1. 原版的docker命令如下:
1
2
3
4
5
6
docker run -d \
-e HTPASSWD='foo:$apr1$odHl5EJN$KbxMfo86Qdve2FH4owePn.' \
-e FORWARD_PORT=1337 \
--link web:web -p 8080:80 \
--name auth \
beevelop/nginx-basic-auth
  1. 经过尝试,解释如下:
1
2
3
4
5
6
docker run -d \
-e HTPASSWD='foo:$apr1$odHl5EJN$KbxMfo86Qdve2FH4owePn.' \ //设置密码
-e FORWARD_PORT=1337 \ //此端口为你的想增加鉴权的的docker端口
--link web:web -p 8080:80 \ //第一个web是指你想增加鉴权的的docker名,第二个就是web。第一个8080端口是你想以后访问的端口,80是默认,不用改。
--name auth \ //auth可以改为你想想要的名字
beevelop/nginx-basic-auth
  1. 我的beancount外网访问举例
1
2
3
4
5
6
sudo docker run -d \
-e HTPASSWD='123:123' \
-e FORWARD_PORT=5000 \
--link yxwl-bean:web -p 2103:80 \
--name yxwl-bean-auth \
beevelop/nginx-basic-auth
  1. 设置用户名的方法为:
1
htpasswd -B -n -b [用户名] [密码]
  1. 如果想多个用户访问同一个地方并匹配不同的用户名,可以用以下的语法实现:
1
2
3
-e HTPASSWD=$'foo:$apr1$odHl5EJN$KbxMfo86Qdve2FH4owePn.\ntest:$apr1$LKkW8P4Y$P1X/r2YyaexhVL1LzZAQm.' \

results in 2 users (foo:bar and test:test).
  1. 这样就可以给所有想开放外网访问,但是没有鉴权的docker设置了。