Li Calendar - 锂日历记事本
Github |
Gitee
前身日历记事本PHP版本,因为工作中常常要记录每天的工作日志,所以2020年上半年,抽了几天的下班时间开发了PHP版本,稳定运行了一年,但是它有些不足,2021年决定重新启动此项目,对他进行优化和增加功能并进行了技术升级。后期接触了GO+Gin+Vue3并再次重新开发了本项目 锂日历记事本。
- 免部署、跨平台,并支持docker部署
- 以日历的形式记录各种事项
- 支持 markdown 语法
- 事件以邮件的形式提醒
- 支持限制指定企业邮箱格式注册
- 支持节假日及特殊的日期特殊显示
- 多彩事件风格
- 支持事件统计
- 每个日历记事本都可以单独设置密码
名称 | 说明 |
---|---|
Go | 程序的后端语言 |
Gin | 后端框架 |
Gorm | ORM数据库框架 |
vue3 | 前端框架 |
ElementUI-Plus | 前端ui框架 |
fullcalendar | 日历视图框架 |
- 全新UI
- 内容选用高级编辑器支持传文件,粘贴图片
- 深色模式支持
- 强化事件模板功能,并支持拖拽
- 风格支持自定义,支持导入导出
- 节假日改为特殊日期,可导入。后期可根据用户提供支持其他地区或国家假期
- docker运行
- 设置邮件提醒 (请注意:docker运行需要证书)
- 按时间范围,分享日历视图
- 速记功能
- 事件时间线视图
- 单事件收藏、分享
- 项目的收藏功能
- 时间线视图
项目进行了前后端分离,所以本源码不包含前端,前端是由Vue3
+Element-UI Plus
+Fullcalendar
,前端项目源码请访问:github | gitee
目前项目仍处于开发阶段,部分功能未完善,欢迎体验,有问题可以提Issues,暂时不建议作为正式项目使用。
-
前端文件编译后,将dist下文件全部移植
./assets/frontend
文件夹下。编译教程请参考前端项目的readme.md
文件 -
按照此教程安装工具。然后将
assets
文件夹编译成go文件(目的是把静态资源打包在可执行文件内) -
依次执行
# 编译静态资源(上一步执行完成了,可以不用重复执行) go-bindata-assetfs -o=assets/bindata.go -pkg=assets assets/... # 开始编译,编译成功后在项目根目录生成可执行文件:li-calendar win平台: li-calendar.exe go build -o li-calendar main.go
前提:docker环境,并且可以执行make命令,暂时不适用于windows平台
- 将前端代码克隆在当前项目的根目录并将文件夹命名为
web
示例:# github git clone https://github.com/li-calendar-notepad/li-calendar-vue web # gitee git clone https://gitee.com/li-calendar-notepad/li-calendar-vue web
- 执行make命令
# 编译程序,成功后项目根目录会生成压缩包 make build
首先下载好对应系统的可运行文件,如果没有你所使用系统的文件,请自行编译或者使用docker ,下载地址:gitee | github,Windows系统请使用 cmd 等工具来运行,避免闪退无法看见错误信息
# 生成配置文件(必须)
./li-calendar config
# 执行完成之后同级目录会生成`conf`目录,里面有两个配置文件,根据自己的需求修改`config.ini`文件内容
# linux
./li-calendar
# windows (避免出错请使用 cmd 运行)
.\li-calendar.exe
如果使用 docker-compose 请点此查看 docker-compose.yml
# 拉取镜像
docker pull hslr/li-calendar:latest
# 创建挂载文件夹
mkdir -p ~/docker_data/li-calendar/{conf,uploads,database}
# 运行
docker run --name li-calendar --restart always -p 9090:9090 \
-v ~/docker_data/li-calendar/conf:/app/conf \
-v ~/docker_data/li-calendar/uploads:/app/uploads \
-v ~/docker_data/li-calendar/database:/app/database \
-e TZ=Asia/Shanghai \
hslr/li-calendar:latest
参数说明
# 开放端口
-p 9090:9090
# 设置容器自启动
--restart always
# 环境变量
-e TZ=Asia/Shanghai # 设置**上海时区(避免错过邮件提醒)
# 数据挂载(根据需求选择)
-v ~/docker_data/li-calendar/conf:/app/conf # 项目配置目录
-v ~/docker_data/li-calendar/uploads:/app/uploads # 上传的文件目录
-v ~/docker_data/li-calendar/database:/app/database # sqlite数据库目录(如果使用MySQL无需挂载此项)
-v ~/docker_data/li-calendar/runtime:/app/runtime # 运行缓存、日志等(不推荐挂载)
http://[你的域名或ip]:9090
账号:admin2024 // 年份是根据当时部署的年份创建的
密码:123456
特殊日期和风格文件下载(特殊日期包含**法定节假日2020-2023年文件,欢迎提供其他地区或者国家假期数据) 去查看和下载,持续更新
开源不易,如果你喜欢本项目或者觉得项目对你有帮助,欢迎进行🧧打赏作者🧧。记得加作者留名。在此感谢
感谢各位爱好者对本项目作出的贡献(按加入时间排序):