前端自動生成Change Log的實現

2021-08-28 12:25:51 字數 1858 閱讀 8755

快速可互動的搭建生成change log更新日誌,來提高自己的工作效率。

要實現change log自動生成,需要有指令碼可以根據專案提交的commit自動生成change log ,然後還有指令碼自動生成版本號,而且每次生成可以自動修改版本號,還需要把生成的change log 的markdown檔案轉換成html,以便我們在專案中使用 ,既然要轉成html檔案,那就還需要有html的模板。

搭建changelog過程中使用到的庫

conventional-changelog ——根據commit生成change log

conventional-changelog-cli ——根據commit生成change log的腳手架

marked.js ——解析markdown檔案,markdown檔案轉換成html

commander ——可以自動的解析命令和引數,用於處理使用者輸入的命令

chalk ——在終端給輸出的命令列字型加上顏色

log-symbols ——在終端可以輸出 √ 或 × 等的圖示

inquirer ——通用的命令列使用者介面集合,用於和使用者進行互動

shelljs ——可使用shell命令來操作檔案

根據實現思路,分步驟實現此功能

指令碼自動生成版本號,而且每次生成可以自動修改版本號

// 讀取版本號

function readfile(url)  else 

})})

return promise

}

// 寫入版本號

function writefile(url, version)  else  else })}

})})

return promise

}

// 比較版本號

function compareversion(v1, v2) 

return false;

}

把生成的change log 的markdown檔案轉換成html

// 讀取html模板檔案

fs.readfile(path.resolve(__dirname, '../static/changelog/template.html'), 'utf8', (err, template) => else ,

];for (let item of replacelist)

if (err) else else })}

})}

})

html的模板

@markdown

使用command.js來解析命令和引數

program

.command('******')

.option('-s --******')

.alias('s')

.description('需要配置檔案的簡單初始化')

.action(function () else }}

]).then((answers) =>

await shell.exec('conventional-changelog -p angular -i changelog.md -s')

await console.log(chalk.green.bold(logsymbols.success, ' 成功增加版本資訊'))

var execurl = "./bin/createchangelog.js";

await shell.exec('node ' + execurl);

})()

});

使用nodejs自動生成前端專案元件

寫這個小指令碼的初衷是,專案本身新增乙個元件太繁瑣了,比如我想要去建立乙個login的元件,那麼我需要手動去ide中,建立index.js 元件出口檔案 login.js 業務檔案 login.html,login.less這四個檔案。因為每個元件都有一些輸出的 還要把之前元件的那幾行拷貝過來,這種...

python自動生成字幕 自動生成字幕軟體?

更新 經過提示發現autosub也不太好用了,我最近發現掛了 也沒有用,如果急需轉錄字幕文字的話建議還是選用其他付費服務吧吧。或者您可以去autosub的github主頁提交issue 那這樣 youtube 自動生成字幕可能就是最划算的了。用法 準備乙個有python 2的機器環境。然後pip i...

自動生成表單

專案開發中,我們要面對很多看似簡單卻很繁瑣的工作,如寫資料訪問層的相關 如果是多層結構則更加煩,幸好有 生成器之類的工具。最近公司的新專案完成了資料訪問和業務控制,接下來要面對很多個頁面的表單設計,頁面布局 拖拉控制項 輸入驗證 form資料繫結和獲取,簡單卻麻煩的事沒完沒了,想想都很害怕。在cnb...