This commit is contained in:
Huang,Yonggang 2024-04-18 05:51:38 +08:00
parent 36985623c5
commit 15da113701
2 changed files with 121 additions and 31 deletions

View File

@ -6,11 +6,11 @@ let rawrepopath = "../../raw/";
let draftrepopath = "../../draft/";
let helpstr = `
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: today's draft metadata + draft markdown day log markdown
node time 1: diff day's draft metadata + draft markdown day log markdown
node time 20240417: 20240417's draft metadata + draft markdown day log markdown
node time init 1: plan 1 metadata today draft metadata
node time init: draft metadata + plan metadata today plan markdown
node time init: draft metadata + plan metadata today plan markdown + draft markdown
`;
let today = datestr();
@ -25,18 +25,22 @@ if (arguments.length > 0) {
// node time init 1: plan 1 metadata → today draft metadata
var date = datestr();
var plan = arguments[1];
makedaydraft(date,plan)
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
//node time 20240417: 20240417's draft metadata + draft markdown → day log markdown
var date = parseInt(arguments[0]).toString();
makedaylog(date);
} 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
//node time 1: diff day's draft metadata + draft markdown → day log markdown
var diff = parseInt(arguments[0]);
var date = datestr(diff);
makedaylog(date);
} else {
console.log(helpstr);
process.exit();
}
} else {
//node time: today's draft metadata + draft markdown → day log markdown + task markdown's log
//node time: today's draft metadata + draft markdown → day log markdown
var date = datestr();
makedaylog(date);
}
@ -47,8 +51,9 @@ function makedaydraft(date, plan) {
var draftmetadata = new Object();
var drafttimearray = new Array();
draftmetadata.date = date;
draftmetadata.plan = plan;
//console.log(typeof(date));
draftmetadata.date = parseInt(date);
draftmetadata.plan = parseInt(plan);
for (var i in time) {
if (time[i].type == "work") {
var timeperiod = new Object();
@ -62,7 +67,7 @@ function makedaydraft(date, plan) {
}
draftmetadata.time = drafttimearray;
var filename = draftrepopath + date.slice(0, 4) + "/" + date.slice(4, 6) + "/"+ "d." + date + ".yaml";
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));
@ -75,47 +80,99 @@ function makedayplan(date) {
//var waketime = rawhealthfile.wake.time;
//console.log("wake time:"+waketime);
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 draftmetafilename = draftrepopath + date.slice(0, 4) + "/" + date.slice(4, 6) + "/" + "d." + date + ".yaml";
var draftmetadata ;
try {
if (fs.existsSync(draftmetafilename)){
draftmetadata = yaml.load(fs.readFileSync(draftmetafilename, 'utf8'));
}else{
console.log("the log isn't exist:"+draftmetafilename);
process.exit();
}
}catch (e) {
// failure
console.log("yaml read error" + e);
process.exit();
}
var plan = draftmetadata.plan;
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 ;
for (var i in draftmetadata.time) {
var subject = draftmetadata.time[i].subject;
var taskname = draftmetadata.time[i].name;
if(taskname === undefined){
taskname = "无名任务" ;
}
var output = draftmetadata.time[i].output;
dayplan = dayplan + "- task:" + subject + " [" + taskname + "](../" + gitpath + output +")\n" ;
dayplan = dayplan + "- task:" + subject + " [" + taskname + "](../" + gitpath + output + ")\n";
var begintime = draftmetadata.time[i].begin ;
var beginhour = parseInt((begintime-parseInt(begintime/1000000)*1000000)/10000);
var beginminute = parseInt((begintime-parseInt(begintime/10000)*10000)/100);
var amount = draftmetadata.time[i].amount;
var endhour = beginhour+parseInt((beginminute+amount)/60) ;
var endminute = (beginminute + amount)%60;
//console.log(begintime,beginhour,beginminute,amount,endhour,endminute);
var timestr = "## "+beginhour.toString().padStart(2,"0")+":"+beginminute.toString().padStart(2,"0")+" ~ "+endhour.toString().padStart(2,"0")+":"+endminute.toString().padStart(2,"0")+"\n\n"+taskname+"\n\n";
var timeviewfilename = draftrepopath + date.slice(0, 4) + "/" + date.slice(4, 6) + "/" + begintime + ".md";
console.log("time slice draft file name:"+timeviewfilename);
console.log(timestr);
//fs.writeFileSync(timesliceviewfilename, timestr);
}
var dayplanfilename = "time/d." + date + ".md";
//console.log("dayplan file name:\n"+dayplanfilename+"\ncontent:"+dayplan);
console.log("dayplan file name:\n"+dayplanfilename+"\ncontent:\n"+dayplan);
fs.writeFileSync(dayplanfilename, dayplan);
}
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 draftmetafilename = draftrepopath + date.slice(0, 4) + "/" + date.slice(4, 6) + "/" + "d." + date + ".yaml";
var draftmetadata ;
try {
if (fs.existsSync(draftmetafilename)){
draftmetadata = yaml.load(fs.readFileSync(draftmetafilename, 'utf8'));
}else{
console.log("the log isn't exist:"+draftmetafilename);
process.exit();
}
}catch (e) {
// failure
console.log("yaml read error" + e);
process.exit();
}
var daylog = "# " + date + "\n\n小结\n<a id=\"top\"></a>\n";
var plan = draftmetadata.plan;
var planobj = yaml.load(fs.readFileSync("plan.yaml", 'utf8'));
var planstr = planobj.dayplan[plan].planstr;
if (plan != null) {
var planobj = yaml.load(fs.readFileSync("plan.yaml", 'utf8'));
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 indexstr = "<a id=\"index\"></a>\n";
daylog = daylog + "根据[ego模型时间接口](https://gitee.com/hyg/blog/blob/master/timeflow.md),今天绑定模版" + plan + "。\n\n" + planstr ;
} else {
daylog = daylog + "当天未绑定时间模版"
}
var indexstr = "\n\n---\n<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);
indexstr = indexstr + "- " + hour + ":" + minute + "\t[" + timelog.name + "](#" + timelog.begin + ")\n";
var taskname = timelog.name ;
//console.log(taskname);
if(taskname === undefined){
taskname = "无名任务" ;
}
indexstr = indexstr + "- " + hour + ":" + minute + "\t[" + taskname + "](#" + timelog.begin + ")\n";
var outputfilename = gitpath + timelog.output;
var outputstr = fs.readFileSync(outputfilename, 'utf8')
@ -126,11 +183,10 @@ function makedaylog(date) {
//console.log(daylog);
var daylogfilename = "time/d." + date + ".md";
//console.log("dayplan file name:\n"+dayplanfilename+"\ncontent:"+dayplan);
//console.log("daylog file name:\n" + daylogfilename + "\ncontent:\n" + daylog);
fs.writeFileSync(daylogfilename, daylog);
}
// utils
function datestr(diff = 0) {
var theDate = new Date();

View File

@ -0,0 +1,34 @@
# 20240418
计划
根据[ego模型时间接口](https://gitee.com/hyg/blog/blob/master/timeflow.md)今天绑定模版1。
| 时间片 | 时长 | 用途 |
| --- | --- | --- |
| 4:00~4:14 | 15 | 休整 |
| 4:15~5:14 | 60 | 备餐、运动 |
| 5:15~5:59 | 45 | 早餐 |
| 6:00~6:44 | 45 | 会议、自习 |
| 6:45~7:44 | 60 | 休整 |
| 7:45~8:44 | 60 | [静默工作](http://simp.ly/p/xtgD4F) |
| 8:45~9:29 | 45 | 休整 |
| 9:30~10:59 | 90 | [静默工作](http://simp.ly/p/j1SspP) |
| 11:00~13:59 | 180 | 备餐、午餐午休 |
| 14:00~14:29 | 30 | [静默工作](http://simp.ly/p/8t3vlk) |
| 14:30~14:59 | 30 | [静默工作](http://simp.ly/p/5k9gJy) |
| 15:00~15:59 | 60 | 休整 |
| 16:00~16:59 | 60 | [静默工作](http://simp.ly/p/4QDThK) |
| 17:00~18:59 | 120 | 晚餐 |
| 19:00~19:59 | 60 | 讨论、整理提交 |
模版一采用静默工作方式。
希望讨论的提纲发到 [huangyg@mars22.com](mailto:huangyg@mars22.com)通常安排在后面某天的早餐5:15~5:59或会议时间6:00~6:45
---
- task:ego [task metadata + draft metadata -> task view](../../../draft/2024/04/20240418074500.md)
- task:PSMD [termset metadata -> termset view](../../../draft/2024/04/20240418093000.md)
- task:ego [ego整体架构汇总](../../../draft/2024/04/20240418140000.md)
- task:PSMD [blog规划](../../../draft/2024/04/20240418143000.md)
- task:ego [task metada + draft metadata -> task stat](../../../draft/2024/04/20240418160000.md)