Quantcast
Channel: 簡睿隨筆
Viewing all 904 articles
Browse latest View live

[分享] 15個關於心理學與生活的強大圖像 / 15 Powerful Visuals About Psychology & Life

$
0
0

今天在Twitter上看到一則推文,透過簡單但寓意深遠的圖像,為我們描繪出信念與習慣的重要性。我簡單且淺薄的翻譯不足以表達其含義,請讀者自行到推文一探究竟。

推文來自:@1WrittenNotes

  1. 擁有技能 / 擁有學歷
  2. 閉著嘴的魚永遠不會被抓住。

  3. 勇氣–感到恐懼 / 無論如何都要去做

  4. 你的實際力量 / 你的自我限制的信念

  5. 行動比語言更有份量:你所做的 / 你說你會做什麼

  6. 失敗是一個資料點 / 並非終點

  7. 艱難的選擇 / 輕鬆的生活 🌟 容易的選擇 / 艱苦的生活

  8. 失敗只是重新開始的機會,這一次要更聰明地開始。

  9. 在底層要有希望,在頂端要謙虛,但始終求知若飢

  10. 沒有習慣,目標只是抽象的渴望

  11. 這是連貫性 / 這也是

  12. 「他真走運」

  13. 失敗是正在進行的成功。

  14. 希望 | 行動後的希望 / 恐懼 | 行動後的恐懼

  15. 相信進步,而非完美

##您可能也會有興趣的類似文章


[中文糾察隊] 新华社受权?授受不分?

$
0
0

這個公告應該是重要的吧?怎麼都沒人校稿?還是我的中文退步了?
不是應該是「授權」才對?「授權的意思是授予權力(而受到授權則稱「受權」)。

01|700

01|700

01|700

##您可能也會有興趣的類似文章

    未發現類似文章

[AHK#54] 用AutoHotkey快速輸出Markdown標題井號(Hashes)

$
0
0

> [!TIP] 功能
> 按Ctrl+1Ctrl+6輸出Markdown標題等級一到標題等級六的井字號

Obsidian的Format Hotkeys外掛可以設定標題等級的快捷鍵,但如果使用其他軟體編輯時,要如何讓這些快捷鍵也能生效呢?為達成此目標,撰寫了AutoHotkey腳本來解決。

#SingleInstance Force

; 按Ctrl+1~Ctrl+6分別產生Markdown標題井字號
^1::
^2::
^3::
^4::
^5::
^6::
  numHashes := SubStr(A_ThisHotkey, 2) ; '^6'->'6'
  Markdown_title1(numHashes)
  return
  
Markdown_title1(numHashes) {
  Send, {Home}{# %numHashes%} {End}
}

Markdown_title2(numHashes) {
  Clipboard := ""
  SendInput {Home}
  SendInput {SHIFT}+{End}
  sleep 200
  SendInput ^c
  ClipWait, 1
  text := Clipboard
  ;Msgbox text=%text%
  ;;pos := RegExMatch(clipboard, "^#{1,6}\s")
  text := RegExReplace(text, "^#{1,6}\s(.*)", "$1")
  SendInput {Del}
  SendInput, {Home}{# %numHashes%} %text%{End}
}

1. 重點解說

  • A_ThisHotkey存有觸發熱鍵的字串,例如按Ctrl+6時,其值為「^6」
  • {# %數字%}輸出指定數字的井號
  • 用系統剪貼簿取得游標所在位置該行內容
  • 正則運算式:
  • 「^#{1,6}\s」匹配1到6個開頭是井號且後面是空白的內容
  • 「(.*)」匹配上述空白後的所有內容,以 $1 代表
  • 取出$1的內容後指派給變數text

2. 相關鏈接

3. 教學影片

##

您可能也會有興趣的類似文章

[Obs#93] 用Obsidian當WordPress的編輯器

$
0
0

如果你仍然有WordPress網站,並且持續在更新內容的話,推薦可試試obsidian-wordpress外掛,透過它我們能將Obsidian的筆記直接傳送給WordPress並發佈成Blog文章。

  • WordPress外掛主要輸入網站網址與API類型,我只試過XML-RPC。
  • 在側邊欄顯示圖示:第一次勾選後會出現,但經常會消失,不知和那個外掛衝到。此時可以用〔Ctrl+P〕在命令面板找到WordPress再執行
  • 預設文章狀態:有draft(草稿)和publish(發佈)兩種。目前外掛少了標籤、開放留言等選項,因此建議使用draft,文章傳出後再到WordPress後台設定並發佈

01|700

先瀏覽「你的網址/xmlrpc.php」確認能使用XML-RPC接收外掛內容。

若網頁顯示「XML-RPC server accepts POST requests only.」表示WordPress已啟用XML-RPC API,應可順利接收外部內容。

找篇筆記試著傳送看看。

  1. 輸入帳號、密碼
    01|700

  2. 稍待片刻,由Category選擇你網站裡的文章分類再按【Publish】
    01|700

我有發生過按【Publish】後出現400 Bad request的錯誤而無法傳送,試了半天發現文章裡有兩個%會造成錯誤,不清除WordPress發生了什麼問題。

  1. 我Obsidian裡的筆記因為使用了Linter外掛,固定會有YAML區,而WordPress全部把這些檔案設定當成文章的一部份了,必須到後台手動刪除
  2. 我的一級標題是文章標題,目前也是被視為文章

以上的狀況已提報作者研究是否能添加選項了。


##您可能也會有興趣的類似文章

WordPress網站遭植後門網頁 😡

$
0
0

昨天晚上突然發現網站首頁上方出現不速之客:Shell後門,緊急處理過程中網站突然無法連線,只能擺著等白天時再處理。
一番操作後,終於逐步還原完成。把現有的網站資料夾改名,用備份的資料夾取代,再將wp-config.php複製到新資料夾裡。
晚上趕緊再做備份…

2022/08/12 23:45補充:
1. 用cPanel備份整個網站成wp-admin.zip
2. 下載後解壓縮
3. Microsoft Defender會偵測到有問題的檔案,例如:
* 根目錄: wp-store.php
* \css\colors\blue\admin.php
* meta\init-vars-style.php
* wp-content\plugins\wp-slimstat

01|700

##

您可能也會有興趣的類似文章

自製ePub電子書技巧分享;亞馬遜Kindle的輔助工具

$
0
0

Kindle要停用MOBI與AZW格式,轉用更通用的ePub格式了。如果你跟我一樣經常自製電子書的話,可以參考我的製作步驟,以簡化產生ePub電子書的操作流程:

  1. 用EmEditor將下載的文字檔(.txt)轉換為Markdown格式
  2. 用pandoc命令將Markdown文字檔轉換成.epub格式
  3. 用blat命令將.epub檔寄至Kindle的電子信箱 (可使用如Outlook/Thunderbird等郵件軟體取代)


先手動執行,等有空時再寫個程式簡化整個操作流程吧。

1. 準備

1.1. 安裝要使用的命令行工具

  1. 下載並安裝EmEditor,你也可以使用自己慣用的文字編輯器,用來將章節標題加上Markdown的標題井號
    1. 下載並安裝簡轉繁外掛
    2. 下載並安裝繁轉簡外掛
  2. 下載並安裝Pandoc– a universal document converter
  3. 下載並安裝Blat – Windows Command Line SMTP Mailer Files (可使用如Outlook/Thunderbird等郵件軟體取代)

1.2. Blat設定 (Optional)

用下列命令設定blat指令要連線的SMTP主機與登入帳號、密碼:

[!TIP] 命令
blat -install SMTP主機 電子信箱 5 -u 登入帳號 -pw 登入密碼

  • 例如:blat -install mycompany.com myname@mycompany.com 5 -u myname -pw mypassword
  • 5是重試次數

2. 文字檔轉換成Markdown格式

  1. 將文字檔另存成==UTF-8不帶BOM==格式
  2. 全選後點擊【簡轉繁】或【繁轉簡】按鈕
  3. 執行EmEditor的巨集,透過正則運算式轉換將章節標題加上井號

範例如下:

document.selection.Replace("^第(.*)章(.*)", "第$1章 $2",eeFindNext | eeFindSaveHistory | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("^第(.*)章(.*),(.*)", "第$1章 $2·$3",eeFindNext | eeFindSaveHistory | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("^第(.*)章(.*),(.*)集", "第$1章 $2·$3",eeFindNext | eeFindSaveHistory | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("^第(.*)卷 (.*) 第(.*)章 (.*)","## 第$1卷 $2 第$3章 $4",eeFindNext | eeFindSaveHistory | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("^第(.*)卷(.*)第(.*)章(.*)","## 第$1卷 $2 第$3章 $4",eeFindNext | eeFindSaveHistory | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("^第(.*)卷 (.*)","# 第$1卷 $2",eeFindNext | eeFindSaveHistory | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("^卷(.*) (.*) (.*)章 (.*)", "## 第$1卷 $2 第$3章 $4",eeFindNext | eeFindSaveHistory | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("^正文 第(.*)章 (.*)","## 第$1章 $2",eeFindNext | eeFindSaveHistory | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("^第(.*)章 (.*),(.*)","## 第$1章 $2·$3",eeFindNext | eeFindSaveHistory | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("^第(.*)章 (.*),(.*)","## 第$1章 $2·$3",eeFindNext | eeFindSaveHistory | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("^第(.*)章 (.*)","## 第$1章 $2",eeFindNext | eeFindSaveHistory | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("^第(.*)章:(.*)","## 第$1章 $2",eeFindNext | eeFindSaveHistory | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("^第(.*)集 (.*)","## 第$1集 $2",eeFindNext | eeFindSaveHistory | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("^正文 第(.*)節 (.*)","## 第$1節 $2",eeFindNext | eeFindSaveHistory | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("^正文 第(.*)章(.*)","## 第$1章 $2",eeFindNext | eeFindSaveHistory | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("^第(.*)節 (.*)","## 第$1節 $2",eeFindNext | eeFindSaveHistory | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("^===第(.*)===","## 第$1",eeFindNext | eeFindSaveHistory | eeReplaceAll | eeFindReplaceRegExp);

3. 用Pandoc將Markdown轉換成.epub

[!TIP] 命令
pandoc 書名.txt -f markdown –toc –metadata title=”書名” –metadata author=”作者名” –metadata lang=”zh-Hant” –css style.css -o 書名.epub

3.1. 選項說明

  • –toc:(可省略) 產生目錄,有此參數時會在正文前面多出章節的超鏈接頁面,Kindle的【前往】才有資料可跳到特定章節
  • –metadata lang:(可省略) 無此參數時預設是”en-US”,指定”zh-hant”(繁體中文)或”zh-hans”(簡體中文)時,Kindle字型選單才會出現【黑体】、【圆体】、【宋体】、【楷体】等中文字型選項
  • –css style.css:(可省略) 指定樣式檔,可自行定義Kindle裡內容的呈現樣式

3.2. style.css範例

html {
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

body {
    font-family: "黑体", "圆体", "宋体", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", serif;
    margin: auto;
    text-align: justify;
    font-size: 16px;
    line-height: 1.0;
}

h1 { text-align: left; }
h2 { text-align: left; }
h3 { text-align: left; }
h4 { text-align: left; }
h5 { text-align: left; }
h6 { text-align: left; }

h1.title {
    margin-top: 150px;
    font-size: 20pt;
    text-align: center;
}

p.author {
    text-align: center;
    font-size:18pt;
}

ol.toc {
    padding: 0;
    margin: 1em 0;
    padding: 0 0 0 2em;
}

ul.toc ul, ol.toc ol {
    margin: .3em 0;
}

li { margin: 0; padding: 0 5px; }

code {
    font-family: monospace;
    background-color: rgb(247, 247, 247);
}

pre {
    font-family: monospace;;
    padding: 16px;
    overflow: auto;
    font-size: 80%;
    line-height: 1.45;
    border-radius: 3px;
    background-color: rgb(247, 247, 247);
}

3.3. 觀察.epub檔

.epub是壓縮檔,可以用7-Zip等壓縮工具查看其內容。

4. 用blat傳送檔案

因為GMail等網站都有傳送信件最大25MB的限制,因此blat設定時最好使用平常使用的公司SMTP主機。

[!TIP] 命令
blat – -to Kindle電子信箱 -s “主旨” -body “內文” -log blat.log -force8bit -charset utf-8 -unicode -attach “書名.epub”
type blat.log

4.1. 選項說明

  • -log:執行時blat顯示的中文書名變問號,但導向到檔案再輸出則正常
  • -force8bit:無此參數時,amazon.com無法產生文件;若書名沒有中文時可不加此參數

5. 相關鏈接

6. 教學影片

##您可能也會有興趣的類似文章

[Obs#114] 取代Obsidian核心外掛的替代性外掛:Better Commander、Another Quick Switcher、Alternate File Tree、Quiet Outline

$
0
0

1. Better Command Palette

取代命令面板(Command palette)的外掛。

gh|500

1.1. 功能簡述

  • 最近使用過的命令會排列在最上面,以方便再次執行
  • Ctrl/Cmd+I切換命令的顯示可隱藏不常用的命令
  • 輸入/可做檔案搜尋 (速度有點慢...)
  • 能添加巨集命令

2. Another Quick Switcher

取代快速切換(Quick switcher)的外掛。

2.1. 功能簡述

  • 可將不同的搜尋標的設定快捷鍵
  • 或在輸入時先輸入命令前綴以切換為不同的搜尋模式;命令前綴皆可自訂
  • Alt+O將檔案在背景開啟,如此可以逐一開啟多個有使用的相關檔案
  • Grep (rg)命令以ripgrep進行全文檢索:輸入後按Tab

2.2. 排序彙總

搜尋命令 排序優先順序 命令前綴
Recent search
Name match
.md
Last opened
Last modified
:e
File name search
Prefix name match
Alphabetical
.md
Last opened
Last modified
:f
Landmark search
Prefix name match
Name match
Tag match
Header match
Link match
.md
Last opened
Last modified
:l
Star search
Star
.md
Last opened
Last modified
:s
Link search
Backlink search
Last opened
Last modified

2.3. 搜尋標的(Search target)

  • file
  • link
  • backlink

2.4. 排序優先順序(Sort Priorities)選項

Name Description
Perfect word match A query matches perfectly with a word in the file name
Prefix name match The file name or alias starts with a query
Name match The file name or alias includes a query
Tag match The tag name in the file includes a query
Header match The header name in the file includes a query
Link match The internal link name in the file includes a query
Length Length of the file name or alias
Last opened The time the file opened last
Last modified The time the file modified last
Star The file has a star
Alphabetical File name or alias order by alphabetically ascend
Alphabetical reverse File name or alias order by alphabetically descend
Created latest File creation date from the latest to the earliest
Created earliest File creation date from the earliest to the latest
(Tags split by comma) The file has specific tags
(Extensions split by comma) The file has specific extensions

3. File Tree Alternative

取代檔案瀏覽器(File browser)。

gh|700

3.1. 功能簡述

  • 資料夾窗格與檔案窗格分別顯示,檔案窗格可設置在右方或下方 (稱為Evernote View)
  • 資料夾右側顯示檔案數目( 可設定是否含非筆記檔案)。資料夾未展開時為全部檔案數,展開後顯示各子目錄的檔案數
  • 檔案窗格可切換是否顯示子目錄裡的檔案
  • 檔案窗格多了依檔案大小排序的選項
  • 檔案窗格有過濾功能,方便列出符合過濾字串的檔案
  • 檔案窗格有新增筆記按鈕,可以將檔案新增在當前資料夾

[!WARNING] 設定❗

  • 選項裡的【Show Root Folder】必須啟用,否則無法顯示根目錄裡的檔案
  • 啟用【Reveal Active File in File Tree Button】後,能點擊該按鈕直接跳到當前檔案位置

[!INFO] 如何能...就更棒了 👍

  • 如果資料夾也能有最近流行的彩虹樣式就更理想了
  • 如果檔案窗格能用拖拉的方式變動位置就更理想了

4. Quiet Outline

取代大綱窗格核心外掛。

已經在[[Obs#111-幾個最近使用的外掛:Surfing、Quiet Outline、Colorful Tag、Share as Gist、Commander]]介紹過了,不再贅述。

5. 相關鏈接

6. 教學影片

##您可能也會有興趣的類似文章

[Obs#115]用Obsidian建立萬用的收藏資料庫(Collections);善用Minimal Theme與Dataview

$
0
0

除了筆記功能之外,Obsidian也可協助我們建立各種各樣的收藏資料庫,諸如個人圖書館、電影資料庫、音樂資料庫、各式圖鑑等,都可以透過Obsidian的自由書寫形而迅速的建立,再用Dataview執行各種查詢。

為什麼不用專用的應用程式或網站(例如Kavita)來建立資料呢?因為使用Obsidian的話,可以下列幾個好處:

  1. 資料欄位可以依自己需求自行建立
  2. 輸出格式雖然無法隨心所欲的呈現,但需要顯示的內容可以自行決定
  3. 依自己的需要執行各種查詢
  4. 更方便的記錄心得與備忘

這次將使用最少的外掛,由建立新的儲存庫開始,逐一將建立資料、整理資訊到建立查詢等步驟做詳細的解說,希望能給大家可以看到Obsidian的另一種使用範例。

由於臨近二二八,又逢《悲情城市》4K數位版重映,我就用侯孝賢導演的電影來做完整的展示。
gh|700

1. 工具

  1. Ditto:剪貼簿工具,複製資料時使用(參考:[Windows] 文抄公的必備良方, 超方便剪貼簿工具:Ditto)
  2. ConvertZZ:簡體轉繁體時使用(參考:繁簡互轉工具:ConvertZZ,自訂常用電腦詞彙)

2. 儲存庫建立步驟

2.1. 建立儲存庫

  1. 用檔案總管建立 collections 資料夾
  2. 用Obsidian開啟 collections 資料夾形成儲存庫(valult)
  3. 【設定】→【編輯器】→關閉【縮減行寬】
  4. 安裝佈景主題Minimal:【Settings】→【Apperance】→【Manage】,搜尋Minimal後→【Install and use】
  5. 【Settings】→【Community Plugins】→【Turn on community plugins】
  6. 安裝需要的外掛→【Browse】→【Install】→【Enable】
    1. Style Settings
    2. Minimal Theme Settings
    3. From Template
      1. 設定模板資料夾為 Templates
      2. Replace selection選為 【Never】
    4. Dataview
    5. Regex Find/Replace (非必要)
    6. Hover Editor (非必要)
    7. Obsidian Image Toolkit (非必要)
  7. 建立資料夾 Artists、Movies、Templates、Queries

2.2. 建立 Artist 模板

  1. 在Templates資料夾建立 From-Template-Artist,內容如下:
---
template-output: Artists
tags: artist
---
# {{title}}

![|300]({{照片}})

- 姓名:: {{姓名}}
- 照片:: {{照片}} 
- 性別:: {{性別}} 
- 星座:: {{星座}} 
- 出生日期:: {{出生日期}}
- 出生地:: {{出生地}}
- 職業:: {{職業}}
- 更多外文名:: {{更多外文名}}
- 家庭成員:: {{家庭成員}}
- imdb編號:: [{{imdb}}](https://www.imdb.com/name/{{imdb}})
  1. 測試From-Template-Artist
    1. Ctrl+P執行From Template: Re-index From Templates
    2. Ctrl+P執行From-Template-Artist
      1. From Template的title欄位有Bug,中文不會儲存
  2. 為了方便操作,分別將兩個模板綁定快捷鍵:Alt+AAlt+M

2.3. 建立 Movie 模板

  1. 在Templates資料夾建立 From-Template-Movie,內容如下:
---
template-output: Movies
tags: movie
title: {{title}}
---
# {{title}}

![|300]({{照片}})

- 導演: {{導演}}
- 編劇: {{編劇}}
- 主演: {{主演}}
- 型別: {{型別}}
- 製片國家/地區: {{製片國家/地區}}
- 語言: {{語言}}
- 上映日期: {{上映日期}}
- 片長: {{片長}}
- 又名: {{又名}}
- IMDb: [{{IMDb}}](https://www.imdb.com/title/{{IMDb}})
  1. 測試From-Template-Movie
    1. Ctrl+P執行From Template: Re-index From Templates
    2. Ctrl+P執行From-Template-Movie
      1. From Template的title欄位有Bug,中文不會儲存資料

3. 資料輸入

  1. 用命令面板執行 From-Template-Artist (或按Alt+A),逐一輸入各欄位
  2. 用命令面板執行 From-Template-Movie (或按Alt+M),逐一輸入各欄位。將要收藏的電影逐一建檔。

[!REF] 建議

  1. 可以用複製、貼上的操作加快資料輸入的速度。如果有程式設計的能力的話,不妨寫個讀取網頁、萃取資料而寫出檔案的程式,可以更輕鬆的完成資料的建檔
  2. 由於來源是簡體,可透過ConvertZZ的剪貼簿轉換功能直接轉換成繁體再貼上

4. 建立查詢

4.1. 找出導演的所有電影

  1. 開啟「侯孝賢」筆記
  2. 在最下面插入下列Dataview程式碼
```dataview
table 上映日期, IMDb, "![](" + 照片 + ")" as 照片
from #movie
where 導演="侯孝賢"
sort 上映日期
```

gh|700

  1. 在YAML區加上cssClasses設定將Dataview改成卡片格式
---
cssClasses: cards, cards-align-bottom, cards-cols-4
---

gh|700

  1. 用DataviewJs產生電影名稱清單
```dataviewjs
let movies = dv.pages("#movie").filter(movie => movie.導演=="侯孝賢")
  .sort(movie=> movie.上映日期);
let aTitles = new Array()
for (let movie of movies) {
  let title = `[${movie.title}](${movie.IMDb})`;
  aTitles.push(title);
}
dv.paragraph(aTitles.join(" | "));
```

gh|700

  1. 使用Dataview表達式顯示電影數目
`$=dv.pages('#movie').filter(movie=>movie.導演=="侯孝賢").length`

4.2. 建立查詢筆記:列出所有藝人

  1. 在Queries資料夾建立查詢筆記
  2. 輸入查詢用的Dataview
```dataview
table 姓名, "![|200](" + 照片 + ")" as 照片
from #artist and -"Templates"
```

4.3. 建立查詢筆記:依類型列出電影

  1. 在Queries資料夾建立查詢筆記
  2. 輸入查詢用的Dataview
## 劇情片
```dataview
table "![|200](" + 照片 + ")" as 照片
from #movie and -"Templates"
where contains(型別, "劇情")
```
## 愛情片
```dataview
table "![|200](" + 照片 + ")" as 照片
from #movie and -"Templates"
where contains(型別, "愛情")
```

5. 相關鏈接

💡GitHub儲存庫網址: https://codeload.github.com/emisjerry/obsidian-collections

6. 教學影片

##您可能也會有興趣的類似文章


[AHK#58] 擷取豆瓣電影網的超簡單AutoHotkey爬蟲腳本程式

$
0
0

使用 AutoHotkey V2 撰寫爬蟲腳本程式,由豆瓣網擷取網頁內容,解析出需要的資料後產生Markdown檔案到Obsidian的儲存庫資料夾裡。

1. movie.ahk 腳本內容


#Requires AutoHotkey v2.0
#SingleInstance Force

DEBUG := true

if (DEBUG) {
  sID := "1294194"  
  sOutputDir := "z:\test\obsidian\collections\Movies\"
} else if (A_Args.Length == 0) {
  MsgBox("需要兩個參數`n範例:movie.ahk2 豆瓣ID 輸出資料夾")
  ExitApp
} else {
  sID := A_Args[1]  
  sOutputDir := A_Args[2] 
}  

;;f1::
  FileEncoding("UTF-8")
  
  url := "https://movie.douban.com/subject/" . sID . "/"
  
  ;;httpClient := ComObjCreate("WinHttp.WinHttpRequest.5.1")  ;; AHK 1.x
  httpClient := ComObject("WinHttp.WinHttpRequest.5.1")
  httpClient.Open("POST", url, false)
  ;httpClient.SetRequestHeader("User-Agent", User-Agent)
  ;httpClient.SetRequestHeader("Content-Type", Content-Type)
  ;httpClient.SetRequestHeader("Cookie", Cookie)

  httpClient.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
  httpClient.Send()
  httpClient.WaitForResponse()
  Result := httpClient.ResponseText

  ;;html := ComObjCreate("HTMLFile")  ;; AHK 1.x
  html := ComObject("HTMLFile")
  html.write(Result)
  mainpic := html.getElementById("mainpic")
  text := mainpic.innerHTML
  pos1 := InStr(text, "<img ") text := Substr(text, pos1, 256) pos1 := InStr(text, ">")
  text := Substr(text, 1, pos1)

  pos1 := InStr(text, "src=")
  sPic := Substr(text, pos1+5, 256)
  pos2 := InStr(sPic, '"')
  sPic := Substr(sPic, 1, pos2-1)
  ;;MsgBox(sPic)
  pos1 := InStr(text, " alt=")
  sTitle := Substr(text, pos1+5, 256)
  pos2 := InStr(sTitle, ' ')
  sTitle := Substr(sTitle, 1, pos2-1)
  ;;MsgBox(sTitle)

  divInfo := html.getElementById("info")
  if (divInfo) {
    text := divInfo.innerText
    ;;MsgBox(text)
    text := StrReplace(text, ": ", ":: ")
    sFile := sOutputDir . sTitle . ".md"
    if FileExist(sFile) {
      FileDelete(sFile)
    }
    /*text := Format("---`r`ntemplate-output: Movies`r`ntags: movie`r`ntitle: {1}" .
      "`r`n照片: {2}`r`n豆瓣ID: {3}`r`n---`r`n# {4}" . 
      "`r`n`r`n![|300]({5})`r`n`r`n{6}", sTitle, sPic, sID, sTitle, sPic, text)
    */
    sFormat := "
    (
      ---
      template-output: Movies
      tags: movie
      title: {1}"
      照片: {2}
      豆瓣ID: {3}
      ---
      # {4}

      ![|300]({5})

      {6}

    )"

    text := Format(sFormat, sTitle, sPic, sID, sTitle, sPic, text)
    FileAppend(text, sFile)
  } else {
    MsgBox("CAnnot find info div")
  }
  return

2. 相關鏈接

3. 教學影片

##您可能也會有興趣的類似文章

Obsidian常見問題011:Dataview如何顯示本地圖片?

$
0
0

1. 需求

如何將本地圖片(Pasted image 日期時間.png)顯示在Dataview的表格裡?

2. 解決方法

2.1. 圖片欄位使用完整路徑

例如:

照片: "file:///c:/Dropbox/JERRY/moc/300-R興趣/300-99-Tools/Pasted image 20201214180953.png"

2.2. Dataview欄位

因為本地檔名含有空白,因此使用 <> 將檔名夾住以保留住空白。

```dataview
table file.name, "![](<" + 照片 + ">)" as 照片
from #anki 
```


##

您可能也會有興趣的類似文章

Obs#116 | ChatGPT MD: 整合ChatGPT AI功能,大幅簡化筆記操作

$
0
0

gh|400

隨著ChatGPT各式應用如雨後春筍般迅速湧現,Obsidian也不落人後的出現了十多個支援ChatGPT的外掛,今天我要介紹的是尚未上架的ChatGPT MD外掛,整合了ChatGPT的AI功能,直接將聊天記錄輸出到筆記裡,省去由瀏覽器複製、貼上的繁瑣操作。

1. 安裝步驟

  1. 手動安裝或使用BRAT安裝
  2. 建立ChatGPT帳號,由ChatGPT API Keys網頁建立API金鑰
  3. 建立獨立的Chat與模板資料夾
  4. 啟用後掛後,進入設定,貼入ChatGPT的API金鑰
  5. 可變更預設的API參數,例如將變大max_tokens的值以接收更多的回應內容長度
  6. 指定聊天筆記存放資料夾,與ChatGPT專用模板的資料夾

2. 提供的功能

ChatGPT提供了3個命令:

命令 功能 說明
Chat 聊天,調用ChatGPT API,並顯示回應 最基本的聊天命令,執行時Obsidian狀態列會顯示 Calling API... 訊息
Create new chat with highlighted text 由選取文字建立新的筆記 筆記建立後必須自行執行Chat命令
Create new chat from template 選擇模板檔以建立新的筆記 筆記建立後必須自行執行Chat命令

3. 操作步驟

ChatGPT 指令大全複製了部份內容當做模板。部份範例如下:

## 1. 報告
### 1.1. 報告開頭

我現在正在修台大的簡報課,其中一項作業是要做一份讓小學生能聽懂的簡報。我的簡報主題是機會成本,請提供三種開頭方式,要簡單到小學生能聽懂,同時要足夠能吸引人,讓他們願意專心聽下去。

### 1.2. 報告總結

你是金融科技專家,請總結以下內容,並針對以下內容提出未來能進一步研究的方向 [附上內容]

## 2. 資料整理
### 2.1. 蒐集資料

給我 5 篇,有關 SEO 的中文文章。

### 2.2. 內容總結

用列點的方式總結出這篇文章的 5 個重點:[附上文章內容/附上文章網址]。

### 2.3. 摘錄某領域重點

用列點的方式總結出 10 個量子力學知識重點。

## 3. 程式設計
### 3.1. 寫程式
你現在是一個 Obsidian 專家,請幫我用 Dataviewjs 寫一個函式,它需要做到 由 #book 找出資料,一行多筆資料,用逗點分隔

### 3.2. 解讀程式碼
你現在是一個 [程式語言] 專家,請告訴我以下的程式碼在做什麼。 [附上程式碼]

### 3.3. RegEx
你現在是一個 Regex 專家,請幫我寫一個 Regex 與輸出模板,它能夠把 第xx章,該行變成Markdown三級標題

## 4. 英文學習
### 4.1. 背單字
用 中文 解釋以下英文單字:apple, guava,papaya。請用表格的方式呈現,並且表格內須包含單字、KK音標、mp3、詞性、解釋與例句。

### 4.2. 翻譯
你是個語言專案,請將下列文字翻譯成 [簡體中文, 英文, 日文、西班牙文、越南文、韓文、馬來文]:

[AHK#58] 擷取豆瓣電影網的超簡單爬蟲腳本程式

## 5. 生活
### 5.1. 旅遊規劃

生成一份 5 天的 日本東京 旅遊計畫與住宿建議,交通工具是 大眾運輸。要遵守以下規則:適合有10歲小孩的家庭
  • 選取文字後→Create new chat with highlighted text,建立新的筆記,YAML區的欄位即為調用API的參數
  • 筆記產生好後→按Ctrl/Cmd+P→【Chat】
  • 新筆記會開始顯示回應,最後出現role::user,可繼續再聊天,提供更明確的下一個指令,再重覆Chat操作

4. 用From Template當模板

From Template可以用對話窗方式填空,我覺得適合用在有不同選項的場合。
範例:

---
aliases: "travel {{title}}"
max_tokens: "3000"
temperature: "0"
top_p: "1"
presence_penalty: "1"
frequency_penalty: "1"
stream: "true"
stop: "null"
n: "1"
model: "gpt-3.5-turbo"
title: "旅遊"
template-output: "042-Chat/Chats"
template-should-replace: "never"
system_commands: "['I am a helpful assistant.']"
---
# 生活:旅遊規劃

生成一份繁體中文的 {{天數:choice:1:2:3:4:5:6:7:8:9:10}}天 的 {{地點:text:日本東京/韓國首爾/西班牙}} 旅遊計畫,交通工具是 {{vehical:choice:Taxi:大眾運輸:租車}}。要遵守以下規則:
- 旅遊季節: {{月份:choice:春季:夏季:秋季:冬季}}
- {{規則:area:規劃限制}}

5. 相關鏈接

6. 教學影片

https://youtu.be/vQqzuwogaAM

##

您可能也會有興趣的類似文章

能使用GPU的OpenAI Whisper語音識別工具(ASR),超快超準確:WhisperDesktop

$
0
0

gh

和ChatGPT師出同門(OpenAI公司)的自動語音識別(ASR)工具-Whisper又有了新的增強:除了用C/C++改寫執行緩慢的Python外,也有高手幫它加上了翅膀-也能使用GPU執行了!

還在使用剪映上傳影片以取得字幕的朋友們,Whisper是離線執行,能充份保障影片隱私,現在又有了GPU的並行處理能力,不換Whiper更待何時?

可惜WihsperDesktop目前只有Windows版本,macOS與Linux的朋友們要再等一等。

1. 安裝與執行

  1. GitHub下載Zip檔後解壓縮即可
  2. 下載Model檔案,建議下載ggml-medium.bin檔案(1.5G),可在安裝資料夾建立 models 子目錄,將.bin檔存入
  3. 執行WhisperDesktop.exe,指定Model檔案,再逐一輸入資料後,按【Transcribe】即可產生需要的輸出格式

gh|700

2. 命令行

  • 須下載cli.zip
  • 命令行main.exe只接受音訊檔,因此先用 ffmpeg.exe 將影片檔轉轉換成.wav。
  • 音訊檔必須是16MHz
ffmpeg.exe -i "%~1" -ar 16000 -acodec pcm_s16le "%~1.wav"
  • 指定語音語言為中文(不指定則為auto自動偵測,可能會輸出成英文),輸出格式為.srt,使用medium模型
    main.exe -l zh -osrt -m models\ggml-medium.bin "%~1.wav"
  • 顯示在螢幕上的中文會是問號,但輸出檔案正常

3. 相關鏈接

4. 教學影片

##

您可能也會有興趣的類似文章

[分享] 爸爸與女兒感人的美好時光,相鉄東急直通營運紀念廣告片

$
0
0

觸動身為老爸的我的內心深處哪... 我可愛的兒子也即將離我越來越遠了...


▼ 拍攝幕後

來源:爸爸與女兒感人的美好時光,相鉄東急直通營運紀念廣告片 – 優格網

##

您可能也會有興趣的類似文章

Obs#117 | Obsidian表格攻略與表格就地編輯外掛:Table Enhancer

$
0
0

關於Obsidian裡的表格,首先我們必須認清的事實是:Markdown目前語法只支援==基本==的表格寫法,太複雜的表格就不要用Markdown了,Excel、Word、Gologle Sheet或Airtable等會是更好的選擇(或試試用Any Block清單的寫法來產生表格)。

然而,除了複雜表格,我們依然有許多時候是需要簡單表格的,因此掌握Markdown表格語法與善用表表格外掛,對於生產效率就是很重要的事了。這次就針對我常用的表格外掛做開端,彙總Obsidian的表格操作技巧。

1. 建議使用的表格外掛

1.1. Advanced Tables

1.2. Table Editor

1.3. Table Enhancer

  • 特點:就地編輯(In-place editing), 表格原地直接編輯

gh|500

1.4. Excel To Markdown Table

2. 剪貼簿貼上

2.1. 由Excel貼上

  • Excel貼入的是以Tab分隔的資料(TSV,Tab Separated Values)
  • TSV:Table Editor能讀取並編輯
  • TSV:Excel to Markdown Table外掛能轉換

額外發現:
Emo Upload外掛會自動將Excel資料轉換成.png圖片,而Google試算表的卻不會轉成圖片

2.2. 由Word貼上

  • Word貼入的是以Tab分隔的資料(TSV,Tab Separated Values)
    • Emo Upload不會轉成圖片
  • TSV:Table Editor能讀取並編輯
  • TSV:Excel to Markdown Table外掛能轉換

2.3. Google試算表

  • 可轉換成Markdown表格

2.4. Google文件

  • Google文件的表格無法轉換成Markdown表格

2.5. 貼上CSV資料

  • CSV(CSV,Comma Separated Values)資料:Excel to Markdown Table外掛無法轉換,Table Editor能讀取並編輯

2.6. 貼上HTML表格剪貼簿資料

  • Table Editor能讀取並編輯

3. 表格編輯小技巧

  • 需要出現 | 符號時:使用\|
  • 換行:使用HTML標籤<br>
  • 快速編輯:直接點擊表格後方的空白處即能進入Markdown模式

4. 輔助網站

5. 相關鏈接

6. 教學影片

##

您可能也會有興趣的類似文章

Obsidian常見問題012:如何在啟動Obsidian時開啟特定的儲存庫與筆記?

$
0
0

1. 問題

如何由命令行啟動Obsidian時,指定要開啟的特定儲存庫?

2. 解決方案

執行下列命令:

rem Windows
start "標題" "obsidian://open?vault=儲存庫名稱&file=筆記檔名"

# Linux
xdg-open "obsidian://open?vault=儲存庫名稱"

# macOS
open "obsidian://open?vault=儲存庫名稱"

gh|500


##

您可能也會有興趣的類似文章


Obs#118 | Obsidian超棒的圖形處理 Awesome Image

$
0
0

Obsidian的Awesome Image Plugin是一個方便的圖片操作外掛,可以讓你快速簡單地瀏覽圖片並有基本的圖片處理功能,包含:

  • 放大
  • 縮小
  • 全螢幕
  • X軸縮放
  • X軸縮放
  • 色彩後轉
  • 複製等

gh|700

Awesome Image外掛也能將所有筆記或編輯中筆記含有圖片網址的圖片,下載保存到儲存庫資料夾裡,並自動更換筆記裡的鏈接,對於使用Web Clipper之類工具擷取而來的網頁,能將圖片做好的保存,不用擔心將來遠端圖片遺失的問題。

基本上,Awesome Image就是Local Images加上Image Toolkit兩個外掛的合體。

1. 命令

  1. 找出未被使用的圖檔:List images that are not linked by your notes
  2. 針對編輯中筆記自動下載圖片網址並存入指定資料夾:Process images for active file
  3. 將所有筆記裡的遠端圖片網址下載存入指定資料夾:Process images for all your notes

2. 相關鏈接

3. 教學影片

https://youtu.be/d0NC2sQkDVE

##

您可能也會有興趣的類似文章

Obs#119 |喜新厭舊沒什麼不好-總是開啟在新分頁:Open in New Tab

$
0
0

點擊檔案瀏覽器(File Explorer)的檔案時,筆記會開啟在當前的分頁,要開啟在新分頁則必須使用Ctrl/Cmd+左鈕點擊,而Open in new tab這個外掛就提供了一個簡單的功能:將點擊的筆記開啟在新分頁。

除此之外,筆記裡的內部鏈接也變更成開啟在新分頁。

這個總是開啟在新分頁的功能對於在逐一檢視筆記裡內部鏈接的內容,提供了更方便的操作。

如果你習慣瀏覽器的Drag and go這樣操作的朋友,應該會很快適應這個外掛。

[!TIP] Q&A💡
Q: 這樣會不會開啟太多分頁了?
A: 幸好有快速關閉分頁的方法:Ctrl/Cmd+W和滑鼠手勢

1. 相關鏈接

2. 教學影片

##

您可能也會有興趣的類似文章

Obs#120 | Chronology:筆記年表📆一覽無遺

$
0
0

我在[[Obs#27 Timelines plugin|# [Obs#27] Timelines:時間軸外掛]]介紹過以時間軸的方法呈現筆記的修改歷程,但Timelines外掛必須指定CSS類別且必須插入特定的HTML標籤,使用上不是很方便,因此後來並未再使用。今天介紹的Chronology也是與筆記的修改歷史有關:以月曆的方法彙總並顯示筆記的新增、修改日期。

[!WARNING] 注意❗
Chronology應該是即時掃描筆記的檔案建檔與修改時間,第一次使用時會造成CPU使用率升高狀況。

1. 設定

  • 時間格式(24 hours display):可設定12小時制或24小時制
  • 每日平均筆記數(Average Daily Notes):預設3,月曆裡每日依此數字顯示高度。可使用下列CSS類別變更背景色:
    /* Chronology plugin days tiles */
    .theme-dark .chronology-calendar-heat-background {
    background-color: grey;
    }
  • 簡單清單格式(Display Simple List):簡單格式只顯示檔名,預設是依小時顯示時間與檔名
    • 完整格式裡新增檔名會以高亮度顯示圓圈圖示
    • 一個筆記會出現兩次,較早的是新增,較後的是修改
    • 同時段檔案數較多時會以【n Elements ...】呈現,點擊可展開

2. 操作方式

2.1. 查詢某日

點擊側邊欄月曆某日日期,月曆下方立即顯示當日的筆記歷史時間表。

2.2. 日期區間

  1. 先點擊某個日期
  2. 到另一個日期按Shift+左鈕點擊即可指定起迄區間

2.3. 查詢整週

點擊最左側的週數,當週每日皆會被選。

2.3.1. 查詢整月

點擊月曆最上方的月份文字,會顯示該月所有筆記(簡單格式)。

3. 相關鏈接

4. 教學影片

https://youtu.be/bWJYNc6h8rM

##

您可能也會有興趣的類似文章

Obs121 | Obsidian v1.2全新升級!書籤核心外掛與搜尋增強,讓你更容易管理常用筆記!

$
0
0

[!warning] 提示
影片錄製時的版本是V1.2.0,4月1日時又更新了V1.2.1。書籤操作時的一些問題已經解決了。

1. 書籤核心外掛

書籤外掛要取代原有的最愛收藏(Star)外掛。書籤功能簡述如下:

  • 將筆記、標題、搜尋結果、資料夾存入書籤(更新說明裡提到區塊,但無法操作),由書籤開頭圖示可區分類型
  • 建立書籤群組(Bookmark Group)以容納不同的書籤

gh|400

加入書籤的筆記右上角會出現書籤圖示。點擊後可編輯書籤資料或由書籤裡移除。標題書籤的筆記並不會出現此圖示。

gh|400

1.1. 將筆記存成書籤

有兩個操作方法:

  1. 用右上角的 【⋮】更多選項選單→點選【Bookmark...】
  2. 執行命令:按 Ctrl/Cmd+P→執行【Bookmark...】命令

1.2. 將筆記標題存成書籤

在標題列按右鍵→【Bookmark this heading...】即可將標題存成書籤。

1.3. 將搜尋結果存成書籤

gh|500

1.4. 將多個分頁存成書籤

  • Title欄位即為書籤群組名稱。
  • 筆記檔名變更後,書籤名稱不會立即連動改名,但仍能正確開啟(需要重啟)。

gh|500

2. 搜尋增加功能

gh|500

3. 熱鍵功能增強

gh|750

4. 在背景開啟新分頁

設定→編輯器→Always focus new tabs:

  • 勾選:開啟在前景,即開啟後分頁取得焦點
  • 不勾選:開啟在背景,即開啟後分頁不取得焦點

5. 已知問題

  1. Obsidian Query Control外掛失效。

6. 相關鏈接

7. 教學影片

##

您可能也會有興趣的類似文章

Filmora 12實務04 | YouTuber必看!綜藝字製作技巧,讓你的影片更加精彩獨特!

$
0
0

歡迎觀賞我的Filmora教學系列影片。Filmora是一個容易操作、功能豐富的影片編輯程式,它讓只具備影片編輯基本觀念的人,能輕鬆的製作出既專業又吸睛的影片或縮圖。

這個Filmora教學系列會聚焦在教學影片的製作範圍內的各種編輯重點與技巧,如果你有製作教學影片的需求,那麼希望我的教學影片系列能幫助到你,讓你能更快速的入門與熟練。

本期影片的目標是讓觀眾能快速了解並掌握Filmora 12與文字相關的基本觀念,從而能更加熟練的掌握文字的各式變化。

1. 文字與形狀之組成

1.1. 文字框示意圖

gh|700

1.2. 文字屬性心智圖

  • ? 表示 零或一個
  • * 表示 零或多個
  • +表示 一或多個

[[Filmora 文字高級編輯]]

▼ 文字
gh

▼ 形狀
gh

  • 輪廓(外框)
    • 第二個外框的邊緣厚度的值必須比第一個外框大,才會顯示出來

2. 方框背景文字

  • 使用文字背景
  • 使用Shape
  • 上層用文字,下層用素材庫→Filmstock→Color

3. 相關鏈接

4. 教學影片

https://youtu.be/W9dXifPPIaU

##

您可能也會有興趣的類似文章

Viewing all 904 articles
Browse latest View live