下班吃饭。
This commit is contained in:
parent
da256f3797
commit
36985623c5
|
@ -1,5 +1,95 @@
|
|||
timetype:
|
||||
- name: work
|
||||
- name: free
|
||||
- name: discuss
|
||||
- name: learn
|
||||
- name: prepare
|
||||
- name: sleep
|
||||
- name: food
|
||||
- name: check
|
||||
dayplan:
|
||||
1:
|
||||
time:
|
||||
- beginhour: 04
|
||||
beginminute: 0
|
||||
amount: 15
|
||||
type: free
|
||||
name: 休整
|
||||
- beginhour: 04
|
||||
beginminute: 15
|
||||
amount: 60
|
||||
type: prepare
|
||||
name: 备餐、运动
|
||||
- beginhour: 05
|
||||
beginminute: 15
|
||||
amount: 45
|
||||
type: food
|
||||
name: 早餐
|
||||
- beginhour: 06
|
||||
beginminute: 0
|
||||
amount: 45
|
||||
type: discuss
|
||||
name: 会议、自习
|
||||
- beginhour: 06
|
||||
beginminute: 45
|
||||
amount: 60
|
||||
type: free
|
||||
name: 休整
|
||||
- beginhour: 07
|
||||
beginminute: 45
|
||||
amount: 60
|
||||
type: work
|
||||
name: 静默工作
|
||||
namelink: http://simp.ly/p/xtgD4F
|
||||
- beginhour: 08
|
||||
beginminute: 45
|
||||
amount: 45
|
||||
type: free
|
||||
name: 休整
|
||||
- beginhour: 09
|
||||
beginminute: 30
|
||||
amount: 90
|
||||
type: work
|
||||
name: 静默工作
|
||||
namelink: http://simp.ly/p/j1SspP
|
||||
- beginhour: 11
|
||||
beginminute: 00
|
||||
amount: 180
|
||||
type: food
|
||||
name: 备餐、午餐午休
|
||||
- beginhour: 14
|
||||
beginminute: 0
|
||||
amount: 30
|
||||
type: work
|
||||
name: 静默工作
|
||||
namelink: http://simp.ly/p/8t3vlk
|
||||
- beginhour: 14
|
||||
beginminute: 30
|
||||
amount: 30
|
||||
type: work
|
||||
name: 静默工作
|
||||
namelink: http://simp.ly/p/5k9gJy
|
||||
- beginhour: 15
|
||||
beginminute: 0
|
||||
amount: 60
|
||||
type: free
|
||||
name: 休整
|
||||
- beginhour: 16
|
||||
beginminute: 0
|
||||
amount: 60
|
||||
type: work
|
||||
name: 静默工作
|
||||
namelink: http://simp.ly/p/4QDThK
|
||||
- beginhour: 17
|
||||
beginminute: 00
|
||||
amount: 120
|
||||
type: food
|
||||
name: 晚餐
|
||||
- beginhour: 19
|
||||
beginminute: 00
|
||||
amount: 60
|
||||
type: check
|
||||
name: 讨论、整理提交
|
||||
planstr: |-
|
||||
| 时间片 | 时长 | 用途 |
|
||||
| --- | --- | --- |
|
||||
|
@ -22,6 +112,70 @@ dayplan:
|
|||
模版一采用静默工作方式。
|
||||
希望讨论的提纲发到 [huangyg@mars22.com](mailto:huangyg@mars22.com),通常安排在后面某天的早餐(5:15~5:59)或会议时间(6:00~6:45)。
|
||||
2:
|
||||
time:
|
||||
- beginhour: 04
|
||||
beginminute: 0
|
||||
amount: 15
|
||||
type: free
|
||||
name: 休整
|
||||
- beginhour: 04
|
||||
beginminute: 15
|
||||
amount: 60
|
||||
type: prepare
|
||||
name: 备餐、运动
|
||||
- beginhour: 05
|
||||
beginminute: 15
|
||||
amount: 45
|
||||
type: food
|
||||
name: 早餐
|
||||
- beginhour: 06
|
||||
beginminute: 0
|
||||
amount: 45
|
||||
type: discuss
|
||||
name: 会议、自习
|
||||
- beginhour: 06
|
||||
beginminute: 45
|
||||
amount: 60
|
||||
type: free
|
||||
name: 休整
|
||||
- beginhour: 07
|
||||
beginminute: 45
|
||||
amount: 195
|
||||
type: work
|
||||
name: 工作
|
||||
namelink: http://simp.ly/p/3GXNTh
|
||||
- beginhour: 11
|
||||
beginminute: 00
|
||||
amount: 180
|
||||
type: food
|
||||
name: 备餐、午餐午休
|
||||
- beginhour: 14
|
||||
beginminute: 0
|
||||
amount: 90
|
||||
type: work
|
||||
name: 工作
|
||||
namelink: http://simp.ly/p/lsBYG9
|
||||
- beginhour: 15
|
||||
beginminute: 30
|
||||
amount: 30
|
||||
type: free
|
||||
name: 休整
|
||||
- beginhour: 16
|
||||
beginminute: 0
|
||||
amount: 60
|
||||
type: work
|
||||
name: 工作
|
||||
namelink: http://simp.ly/p/MpcbHD
|
||||
- beginhour: 17
|
||||
beginminute: 00
|
||||
amount: 120
|
||||
type: food
|
||||
name: 晚餐
|
||||
- beginhour: 19
|
||||
beginminute: 00
|
||||
amount: 60
|
||||
type: check
|
||||
name: 讨论、整理提交
|
||||
planstr: |-
|
||||
| 时间片 | 时长 | 用途 |
|
||||
| --- | --- | --- |
|
||||
|
|
160
release/time.js
160
release/time.js
|
@ -1,123 +1,141 @@
|
|||
var fs = require('fs');
|
||||
var yaml = require('js-yaml');
|
||||
|
||||
let gitpath = "../../" ;
|
||||
let gitpath = "../../";
|
||||
let rawrepopath = "../../raw/";
|
||||
let draftrepopath = "../../draft/";
|
||||
|
||||
let helpstr = `
|
||||
today plan: node time init 1
|
||||
day log mode: node time 20240414
|
||||
diff day log mode: node time -1
|
||||
today log mode: node time
|
||||
node time: today's draft metadata + draft markdown → day log markdown + task markdown's log
|
||||
node time 1: diff day's draft metadata + draft markdown → day log markdown + task markdown's log
|
||||
node time 20240417: 20240417's draft metadata + draft markdown → day log markdown + task markdown's log
|
||||
node time init 1: plan 1 metadata → today draft metadata
|
||||
node time init: draft metadata + plan metadata → today plan markdown
|
||||
`;
|
||||
let today = datestr();
|
||||
|
||||
// read the arguments
|
||||
var arguments = process.argv.splice(2);
|
||||
if (arguments.length > 0) {
|
||||
if ((arguments.length == 2)&(arguments[0] == "init")){
|
||||
//today plan: node time init 1
|
||||
loadmetadata();
|
||||
makedayplan(today,arguments[1]);
|
||||
}else if ((arguments.length == 1)&(arguments[0].length == 8)) {
|
||||
//day log mode: node time 20240414
|
||||
startdate = arguments[0];
|
||||
enddate = arguments[0];
|
||||
loadmetadata();
|
||||
makedaylog(arguments[0]);
|
||||
showtables();
|
||||
//makeRfile();
|
||||
}else if ((arguments.length == 1)&(arguments[0].length != 8)&(!isNaN(arguments[0]))) {
|
||||
// diff day log mode: node time -1
|
||||
if ((arguments.length == 1) & (arguments[0] == "init")) {
|
||||
// node time init: draft metadata + plan metadata → today plan markdown
|
||||
var date = datestr();
|
||||
makedayplan(date);
|
||||
} else if ((arguments.length == 2) & (arguments[0] == "init")) {
|
||||
// node time init 1: plan 1 metadata → today draft metadata
|
||||
var date = datestr();
|
||||
var plan = arguments[1];
|
||||
makedaydraft(date,plan)
|
||||
} else if ((arguments.length == 1) & (arguments[0].length == 8)) {
|
||||
//node time 20240417: 20240417's draft metadata + draft markdown → day log markdown + task markdown's log
|
||||
} else if ((arguments.length == 1) & (arguments[0].length != 8) & (!isNaN(arguments[0]))) {
|
||||
//node time 1: diff day's draft metadata + draft markdown → day log markdown + task markdown's log
|
||||
var diff = parseInt(arguments[0]);
|
||||
//console.log("diff day mode. diff="+diff);
|
||||
|
||||
startdate = datestr(diff);
|
||||
enddate = datestr(diff);
|
||||
loadmetadata();
|
||||
makedaylog(datestr(diff));
|
||||
showtables();
|
||||
//makeRfile();
|
||||
}else{
|
||||
} else {
|
||||
console.log(helpstr);
|
||||
process.exit();
|
||||
}
|
||||
} else {
|
||||
// today log mode: node time
|
||||
startdate = datestr();
|
||||
enddate = datestr();
|
||||
loadmetadata();
|
||||
makedaylog(datestr());
|
||||
showtables();
|
||||
//makeRfile();
|
||||
//node time: today's draft metadata + draft markdown → day log markdown + task markdown's log
|
||||
var date = datestr();
|
||||
makedaylog(date);
|
||||
}
|
||||
|
||||
function makedayplan(date,plan){
|
||||
// read wake time from raw repo
|
||||
var rawhealthfilename = "health/d."+date+".yaml";
|
||||
var rawhealthfile = yaml.load(fs.readFileSync(rawrepopath + rawhealthfilename, 'utf8'));
|
||||
var waketime = rawhealthfile.wake.time;
|
||||
function makedaydraft(date, plan) {
|
||||
var planobj = yaml.load(fs.readFileSync("plan.yaml", 'utf8'));
|
||||
var time = planobj.dayplan[plan].time;
|
||||
|
||||
var draftmetadata = new Object();
|
||||
var drafttimearray = new Array();
|
||||
draftmetadata.date = date;
|
||||
draftmetadata.plan = plan;
|
||||
for (var i in time) {
|
||||
if (time[i].type == "work") {
|
||||
var timeperiod = new Object();
|
||||
timeperiod.begin = date + time[i].beginhour.toString().padStart(2, '0') + time[i].beginminute.toString().padStart(2, '0') + "00";
|
||||
timeperiod.amount = time[i].amount;
|
||||
timeperiod.type = "work";
|
||||
timeperiod.subject = "tbd";
|
||||
timeperiod.output = "draft/" + date.slice(0, 4) + "/" + date.slice(4, 6) + "/" + timeperiod.begin + ".md";
|
||||
drafttimearray.push(timeperiod);
|
||||
}
|
||||
}
|
||||
draftmetadata.time = drafttimearray;
|
||||
|
||||
var filename = draftrepopath + date.slice(0, 4) + "/" + date.slice(4, 6) + "/"+ "d." + date + ".yaml";
|
||||
console.log(filename);
|
||||
console.log(yaml.dump(draftmetadata));
|
||||
fs.writeFileSync(filename, yaml.dump(draftmetadata));
|
||||
}
|
||||
|
||||
function makedayplan(date) {
|
||||
//read wake time from raw repo
|
||||
//var rawhealthfilename = "health/d." + date + ".yaml";
|
||||
//var rawhealthfile = yaml.load(fs.readFileSync(rawrepopath + rawhealthfilename, 'utf8'));
|
||||
//var waketime = rawhealthfile.wake.time;
|
||||
//console.log("wake time:"+waketime);
|
||||
|
||||
var planobj = yaml.load(fs.readFileSync("plan.yaml", 'utf8'));
|
||||
var planstr = planobj.dayplan[plan].planstr
|
||||
var draftmetafilename = draftrepopath + date.slice(0, 4) + "/" + date.slice(4, 6) + "/"+ "d." + date + ".yaml";
|
||||
var draftobj = yaml.load(fs.readFileSync(draftmetafilename, 'utf8'));
|
||||
var plan = draftobj.plan;
|
||||
|
||||
var dayplan = "# "+date+"\n\n计划\n\n根据[ego模型时间接口](https://gitee.com/hyg/blog/blob/master/timeflow.md),今天绑定模版"+plan+"。\n\n"+ planstr;
|
||||
var dayplanfilename = "time/d."+date+".md";
|
||||
var planobj = yaml.load(fs.readFileSync("plan.yaml", 'utf8'));
|
||||
var planstr = planobj.dayplan[plan].planstr;
|
||||
var dayplan = "# " + date + "\n\n计划\n\n根据[ego模型时间接口](https://gitee.com/hyg/blog/blob/master/timeflow.md),今天绑定模版" + plan + "。\n\n" + planstr + "\n\n---\n\n";
|
||||
|
||||
for(var i in draftobj.time){
|
||||
var subject = draftobj.time[i].subject ;
|
||||
var taskname = draftobj.time[i].name ;
|
||||
var output = draftobj.time[i].output ;
|
||||
|
||||
dayplan = dayplan + "- task:" + subject + " [" + taskname + "](../" + gitpath + output +")\n" ;
|
||||
}
|
||||
|
||||
var dayplanfilename = "time/d." + date + ".md";
|
||||
//console.log("dayplan file name:\n"+dayplanfilename+"\ncontent:"+dayplan);
|
||||
fs.writeFileSync(dayplanfilename, dayplan);
|
||||
}
|
||||
|
||||
function loadmetadata(){
|
||||
|
||||
}
|
||||
|
||||
function makedaylog(date){
|
||||
var year = date.slice(0,4);
|
||||
var month = date.slice(4,6);
|
||||
var draftmetadatafilename = year+"/"+month+"/d."+date+".yaml";
|
||||
function makedaylog(date) {
|
||||
var year = date.slice(0, 4);
|
||||
var month = date.slice(4, 6);
|
||||
var draftmetadatafilename = year + "/" + month + "/d." + date + ".yaml";
|
||||
var draftmetadata = yaml.load(fs.readFileSync(draftrepopath + draftmetadatafilename, 'utf8'));
|
||||
|
||||
var plan = draftmetadata.plan ;
|
||||
var plan = draftmetadata.plan;
|
||||
var planobj = yaml.load(fs.readFileSync("plan.yaml", 'utf8'));
|
||||
var planstr = planobj.dayplan[plan].planstr ;
|
||||
var planstr = planobj.dayplan[plan].planstr;
|
||||
|
||||
var daylog = "# "+date+"\n\n小结\n<a id=\"top\"></a>\n根据[ego模型时间接口](https://gitee.com/hyg/blog/blob/master/timeflow.md),今天绑定模版"+plan+"。\n\n"+ planstr+"\n\n---\n";
|
||||
var daylog = "# " + date + "\n\n小结\n<a id=\"top\"></a>\n根据[ego模型时间接口](https://gitee.com/hyg/blog/blob/master/timeflow.md),今天绑定模版" + plan + "。\n\n" + planstr + "\n\n---\n";
|
||||
|
||||
var indexstr = "<a id=\"index\"></a>\n" ;
|
||||
var logstr = "" ;
|
||||
for(t in draftmetadata.time){
|
||||
var indexstr = "<a id=\"index\"></a>\n";
|
||||
var logstr = "";
|
||||
for (t in draftmetadata.time) {
|
||||
var timelog = draftmetadata.time[t];
|
||||
//console.log(typeof(timelog.begin));
|
||||
var hour = timelog.begin.toString().slice(8,10);
|
||||
var minute = timelog.begin.toString().slice(10,12);
|
||||
var hour = timelog.begin.toString().slice(8, 10);
|
||||
var minute = timelog.begin.toString().slice(10, 12);
|
||||
indexstr = indexstr + "- " + hour + ":" + minute + "\t[" + timelog.name + "](#" + timelog.begin + ")\n";
|
||||
|
||||
var outputfilename = gitpath + timelog.output ;
|
||||
var outputfilename = gitpath + timelog.output;
|
||||
var outputstr = fs.readFileSync(outputfilename, 'utf8')
|
||||
logstr = logstr + "\n\n[top](#top) | [index](#index)\n<a id=\"" + timelog.begin + "\"></a>\n" + outputstr;
|
||||
}
|
||||
|
||||
var daylog = daylog + indexstr + "\n---\n" + logstr ;
|
||||
var daylog = daylog + indexstr + "\n---\n" + logstr;
|
||||
//console.log(daylog);
|
||||
|
||||
var daylogfilename = "time/d."+date+".md";
|
||||
|
||||
var daylogfilename = "time/d." + date + ".md";
|
||||
//console.log("dayplan file name:\n"+dayplanfilename+"\ncontent:"+dayplan);
|
||||
fs.writeFileSync(daylogfilename, daylog);
|
||||
}
|
||||
|
||||
function showtables(){
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
// utils
|
||||
function datestr(diff=0) {
|
||||
function datestr(diff = 0) {
|
||||
var theDate = new Date();
|
||||
//theDate.setDate(theDate.getDate() - 1);
|
||||
theDate.setDate(theDate.getDate()+diff);
|
||||
theDate.setDate(theDate.getDate() + diff);
|
||||
|
||||
var year = theDate.getFullYear();
|
||||
var month = theDate.getMonth() + 1 < 10 ? "0" + (theDate.getMonth() + 1) : theDate.getMonth() + 1;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# 20240417
|
||||
|
||||
计划
|
||||
|
||||
小结
|
||||
<a id="top"></a>
|
||||
根据[ego模型时间接口](https://gitee.com/hyg/blog/blob/master/timeflow.md),今天绑定模版2。
|
||||
|
||||
| 时间片 | 时长 | 用途 |
|
||||
|
@ -11,12 +11,113 @@
|
|||
| 5:15~5:59 | 45 | 早餐 |
|
||||
| 6:00~6:44 | 45 | 会议、自习 |
|
||||
| 6:45~7:44 | 60 | 休整 |
|
||||
| 7:45~10:59 | 195 | [工作](http://simp.ly/p/3GXNTh) PSMD 条款库的代码架构 |
|
||||
| 7:45~10:59 | 195 | [工作](http://simp.ly/p/3GXNTh) |
|
||||
| 11:00~13:59 | 180 | 备餐、午餐午休 |
|
||||
| 14:00~15:29 | 90 | [工作](http://simp.ly/p/lsBYG9) PSMD 合同的代码架构 |
|
||||
| 14:00~15:29 | 90 | [工作](http://simp.ly/p/lsBYG9) |
|
||||
| 15:30~15:59 | 30 | 休整 |
|
||||
| 16:00~16:59 | 60 | [工作](http://simp.ly/p/MpcbHD) ego 任务统计代码 |
|
||||
| 16:00~16:59 | 60 | [工作](http://simp.ly/p/MpcbHD) |
|
||||
| 17:00~18:59 | 120 | 晚餐 |
|
||||
| 19:00~19:59 | 60 | 讨论、整理提交 |
|
||||
|
||||
工作的同时可以在线讨论。
|
||||
工作的同时可以在线讨论。
|
||||
|
||||
---
|
||||
<a id="index"></a>
|
||||
- 07:45 [PSMD 条款库的数据结构](#20240417074500)
|
||||
- 14:00 [PSMD 条款库的代码](#20240417140000)
|
||||
- 16:00 [ego 任务统计代码](#20240417160000)
|
||||
|
||||
---
|
||||
|
||||
|
||||
[top](#top) | [index](#index)
|
||||
<a id="20240417074500"></a>
|
||||
## 7:45~10:59
|
||||
|
||||
PSMD 条款库的数据结构
|
||||
|
||||
根据[昨天](https://codeberg.org/hyg/blog/src/branch/master/release/time/d.20240416.md#20240416093000)设计的数据结构,开始编程。
|
||||
|
||||
- 由于metadata文件的读写同步问题,log字段取消,由代码自动写入markdown和html文件。
|
||||
- 仔细对比COM markdown使用allx还是COM的metadata。决定allx主要起到index索引作用,内部使用(git库开放)。COM metadata、markdown和html对外部使用。数据结构细节需要针对性微调。
|
||||
- deploy针对从COM启动的需求,COD针对部署过程、部分决议已经通过的情形,数据结构需要针对性微调。
|
||||
|
||||
输出:
|
||||
1. 数据结构在PSMD\data\readme.md
|
||||
1. 初步设计:
|
||||
|
||||
### PSMD\src\term.js
|
||||
|
||||
node term all : term metada + termset metadata → allterm metadata
|
||||
node term term id : term metadata → term markdown + html
|
||||
node term termset id : termset metadata → termset markdown + html
|
||||
|
||||
### PSMD\src\model.js
|
||||
|
||||
node model id : COM metadata → COM markdown + html
|
||||
|
||||
### PSMD\src\deploy.js
|
||||
|
||||
node deploy id :deploy metadata → deploy markdown、deploy html、全部通过后的COD metdadata
|
||||
node deploy
|
||||
|
||||
下一步:
|
||||
- 手写metadate
|
||||
- 实现代码:
|
||||
- term metadata + termset metadata → allterm metadata
|
||||
- allterm metadata → 条款的markdown、html文件,要约、合同
|
||||
- COM metadata → COM markdown、COM html
|
||||
- deploy metadata → deploy markdown、deploy html、全部通过后的COD metdadata
|
||||
- COD metadata → COD markdown、COD html
|
||||
- COD record → 修订error、term、termset的task metadata
|
||||
|
||||
|
||||
[top](#top) | [index](#index)
|
||||
<a id="20240417140000"></a>
|
||||
## 14:00~15:29
|
||||
|
||||
PSMD 条款库的代码
|
||||
|
||||
手工编辑了三个term metadata:
|
||||
- 主分配比例p:设置初始值,在termset中明确修订权。
|
||||
- 自修订条款
|
||||
- 二级修订条款1
|
||||
|
||||
一个termset metadata:自修订条款修订其它两个条款。
|
||||
|
||||
创建/PSMD/src/term.js
|
||||
完成: term metadata + termsetmetadata → allterm metadata
|
||||
|
||||
[top](#top) | [index](#index)
|
||||
<a id="20240417160000"></a>
|
||||
## 16:00~16:59
|
||||
|
||||
ego 任务模版
|
||||
|
||||
调整:
|
||||
- 资源分配、统计,放在time.js
|
||||
~~~
|
||||
node time: today's draft metadata + draft markdown → day log markdown + task markdown's log
|
||||
node time 1: diff day's draft metadata + draft markdown → day log markdown + task markdown's log
|
||||
node time 20240417: 20240417's draft metadata + draft markdown → day log markdown + task markdown's log
|
||||
node time init 1: plan 1 metadata → today draft metadata
|
||||
node time init: draft metadata + plan metadata → today plan markdown
|
||||
~~~
|
||||
- 任务管理放在task.js
|
||||
~~~
|
||||
node task : today draft to stat
|
||||
node task all : task metadata to alltask metadata
|
||||
node task 2024 : draft to year stat
|
||||
node task 20240416 : draft to day stat
|
||||
node task 1 : diff date draft to stat
|
||||
node task 20240101 20240401 : period draft to stat
|
||||
~~~
|
||||
|
||||
1. 设计了plan.yaml中的time字段,为后续代码提供时间段元数据。
|
||||
1. 实现了:
|
||||
- node time init 1: plan 1 metadata → draft metadata
|
||||
- node time init: draft metadata + plan metadata → day plan markdown
|
||||
|
||||
下一步:
|
||||
- 根据起床时间制定浮动时间表。
|
||||
- node time: today's draft metadata + draft markdown → day log markdown + task markdown's log 的task markdown‘s log。
|
Loading…
Reference in New Issue