需求 之前寫 Tampermonkey 的腳本,有些部分,一直沒時間優化,分別為:
自動複製檔名到 clipboard 下載檔案時自動命名 跨 script 取用變數 現在有空檔,來研究一下。
自動複製檔名到 clipboard 忘記之前踩到什麼問題,這次直接用 Clipboard API 就達到效果了。 writeText 可以直接帶 string 。
navigator.clipboard.writeText(GM_getValue('xxxx')) .then(() => { console.log("Copied to clipboard successfully!"); }) // 略 參考文件 https://w3c.github.io/clipboard-apis/#dom-clipboard-write https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API 下載檔案時自動命名 如果是針對 a 元素,可以直接增加 download attribute,使他調整下載的檔名, 但是如果 server 有特別回 content-disposition header 會以 server 為準,所以就不會有作用。
還有一個作法是利用 axios get 檔案後,重新塞到新連結後,再來下載就不會前面提到的問題, 不過因為我要操作的檔案不小,不適合這種作法。
所以現階段現自動設定到 clipboard ,手動貼上改檔名。
參考文件 Javascript rename file on download Javascript: set filename to be downloaded 跨 script 取用變數 用法很簡單,在 Tampermonkey 腳本增加下列兩行...
註冊 Disqus 進入 Disqus 註冊,基本上按步驟做,列出幾個比較重要的。 Select plan 選擇 Basic 方案 Select Platform 選擇手動安裝 會出現兩份要放入的 html ,用途應該分別為 comment 以及 count 後續把設定完成。 在 Hugo PaperMod 主題設定 因每個主題針對 comment 的設定可能不一樣,這以我用的 PaperMod 為例
調整專案根目錄下的 config.yml 新增 disqus 設定, shortname 按照在 disqus 的設定 在 params 下,調整 comments 為 true // 這邊 disqus: enable: true shortname: chzlab-net count: true // 到這邊 params: title: Deric's BLOG // 略 comments: true // 多這 在專案根目錄下建立資料夾 layouts 在 layouts 資料夾下 建立 partials 資料夾 從專案根目錄下的 /themes/PaperMod/layouts/partials/comments....
基本用法 目前練習先使用 flag package
func init() { flag.StringVar(&sourceFolder, "s", "", "source folder path [required]") // 設定要吃的參數,使用有帶 Var func 會把值存到 第一個參數中 // output -s [path] flag.Usage = usage // 執行沒帶參數 或帶 --help / -h 會顯示的提示訊息 } func usage() { fmt.Fprintln(os.Stderr, "Usage: parse [options]") flag.PrintDefaults() // 透過 flag 設定的參數說明都印出來 } 參考文件 Can command line flags in Go be set to mandatory? Go by Example: Command-Line Subcommands Golang 官方文件 flag 【Golang】如何讀取 command-line argument/flag?必知的幾種用法! 其他套件 go-flags cobra
原因 原本是用 Hexo , 因會在 windows、 linux 下切換開發,有時 node 在 windows terminal 會有些詭異問題發生, 決定換成 golang 的 Hugo ,省的麻煩。
windows 安裝 Hugo Hugo 官方文件
可以使用在 win 上面的套件管理器 Chocolatey 或 Scoop ,差異似乎是在權限以及相依性,有點不太一樣,沒有細看。 有興趣可以參考
Scoop or Chocolatey? Which Windows 10 package manager should you use?
後來我選了 Scoop ,剛裝完可以用,當我把 terminal 關掉重開就又壞了……
為了省事直接使用第三個方案,從 Hugo Github 直接裝執行檔來用,安裝位置就看個人習慣, 裝完記得在 path 裡面把路徑設定進去,因為在 win 的環境下習慣用 git bash ,所以我是這樣設定。
# .bashrc PATH=$PATH:/c/work/tools/ 如果要用 win 內建的話,就直接在環境變數 path 裡面加。
最後 terminal 下輸入 hugo ,正常執行。...
原本是架在 GCP 上,想說是個靜態頁面,乾脆就搬到 GitHub Page 上,做一下相關記錄。
步驟 開 repo 命名為 {username}.github.io,如果已經有了,請把那個 repo 改名。
將專案下的 package.json , 增加 scripts 區塊。
{ "scripts": { "build": "hexo generate" }, "hexo": { "version": "5.0.0" }, "dependencies": { "hexo": "^5.0.0", ... } } 開一個 source branch ,並 push 上去。 public 資料夾記得要在 .gitignore 增加
git push origin source 建立 .github/workflows/pages.yml .github/workflows/pages.yml name: Pages on: push: branches: - source # default branch jobs: pages: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Use Node....