2007 年 2 月 14 日你在做什麼?遇見女友的那天,您正在處理哪些任務?上次與您的牙醫預約是什麼時候?上個月與客戶會面時誰打電話給您?
大多數人無法回答這樣的問題。有了 Memacs,你就可以!
Memacs 從電腦上許多不同的現有資料來源(檔案名稱、電子郵件、推文、書籤等)中提取元資料(主題、時間戳記、聯絡資訊等),並產生可由GNU Emacs 在Org 模式下讀取的文件。
例子:
電子郵件 -> memacs-maildir.py 火狐歷史 -> memacs-firefox.py | 簡訊 -> memacs-sms.py | RSS 來源 -> memacs_rss.py | 銀行對帳單 -> memacs-easybank.py |> Memacs 貼文 -> memacs-slrn.org | git 儲存庫日誌 -> memacs_git.py | svn 儲存庫日誌 -> memacs_svn.py / |_________________| |_________________| |______| 您的個人資料 Memacs 模組 Org 模式
Memacs - 作為系統的核心元件 - 是所有從各個資料來源添加資料的連接器的中心。這些連接器稱為Memacs 模組或短模組。
您的議程會自動填入類似白皮書螢幕截圖中所示範例的項目:
您可以使用 SMS、filenamedatestamps、Twitter、RSS、imap、phonecalls 和 git 模組來查看一些示範資料。
安裝 Memacs 最簡單的方法是使用 `pip`:
pip 安裝 memacs[全部]
這將為您提供整套模組以及系統上的所有依賴項。
如果您想要更細緻地定義依賴項,您可以使用一項或多項附加功能: gps
、 rss
、 ical
、 lastfm
、 battery
或twitter
,如下例所示:
pip 安裝 memacs[gps,rss]
如果您喜歡「以舊方式」設定環境,您可以手動進行:
PYTHONPATH
PYTHONPATH=/路徑/到/memacs
pip install -r 要求.txt
使用 Memacs 模組的基本概念如下:
docs
資料夾中的模組描述檔。--help
從 Memacs 的bin
資料夾中手動啟動您選擇的模組,例如bin/memacs_csv.py --help
在命令列中,以獲得該模組參數的概述。Cc mp
到您的配置 ( defun mp-update-memacs-photos ()
" An extra (i.e., not cron-scheduled) run of Memacs' photo module. "
( interactive )
( shell-command
( format " ~/org/update-memacs-photos.sh " )
)
)
( global-set-key ( kbd " C-c m p " ) 'mp-update-memacs-photos )
呼叫的腳本需要提供可執行位。該技術的其他背景由 Mickey Petersen 在 Mastering Key Bindings in Emacs 中編譯。
請確保您也閱讀了常見問題和最佳實踐,因為其中包含許多有關如何滿足您的要求以及如何選擇合理設定的提示和技巧。
以下是一些工作流程,旨在讓您初步了解 Memacs 如何為您帶來更多數位樂趣。
當設定一個或多個 Memacs 模組並且資料開始流入您的 Memacs Org 模式檔案時,您可以透過多種方式使用 Memacs 進行個人工作流程。
Memacs 帶來的最基本的變化是,您可能希望在議程中看到 Memacs 處理的資料:
您要麼產生(1) 個位於議程文件中的組織模式文件,要麼產生(2) 個存檔文件,其或多或少為空的組織模式文件存根位於您的議程文件中(如常見問題解答中所述)。
這樣,產生的時間戳資訊就會進入您的正常議程 (1) 或在存檔模式中擴展(透過在議程中按v A
),該模式也顯示存檔檔案的內容 (2)。
我個人一直使用的 Memacs 功能提供了一個稍微複雜的工作流程,其基本資料由檔案名稱時間戳模組提供。此模組會將檔案名稱中包含 ISO 日期戳記或 ISO 時間戳記的所有檔案進行索引,就像 updateb 對「定位」所做的那樣。
當設定此模組並產生文件索引(每晚)時,樂趣就開始了。透過模組文件中提到的 elisp 片段,我只需指定文件名即可連結到任何這些文件。該連結永遠不會被破壞,因為文件位於哪個資料夾中不再重要。
請參閱我的 Emacs 配置並查找所有出現的tsfile
(時間戳文件),這是我為這些文件定制的連結。
我甚至擴展了這個工作流程,以便我的部落格系統能夠連結到tsfile:
圖像,無論其位置如何。很棒的東西。
此模組是開發人員的範例:docs/memacs_csv.org
這些模組尚未被新的統一框架採用:
以下模組僅作為一個粗略的想法存在,可能有一天會實現(由您實現?):
想像一下您已經在使用 Memacs。
記得那天,當您參加一個關於「Getting Things Done」(GTD)的有趣演講時,您使用主 Org 模式檔案啟動了 GNU Emacs。您可以轉到議程視圖並選擇幾個月前的這個特定日期。
就這樣,從下午 2 點到 3 點,您在日曆中安排了這次演講。然後您意識到在這個時間範圍內,出現了一些包含 ISO 8601 時間戳 [1] 的 JPEG 文件,並由一個模組索引。 (檔案名稱時間戳模組)
此圖像包含您發現有趣並使用時尚智慧型手機拍攝的幻燈片。誰會記得演講時拍過一張照片?
演講十分鐘後,您在 Twitter 上寫了一條短信,其中提到了對您的追蹤者有用的 URL。這次這些 URL 對您來說也很方便! (Twitter 模組)
那天晚上,您會看到演講作者發送的一封電子郵件條目。現在你記得在演講結束時進行了一次很酷的談話,他向你承諾了一些關於他計算機上那個漂亮的小 GTD 工具的附加信息。很高興您也收到了該電子郵件的連結。如果沒有 Memacs,您可能永遠不會再記得那封電子郵件。 (Maildir 模組)
然後您今天保存了一些書籤,幾乎全部與您從 GTD 演講中獲得的好想法有關。 (美味模組)
這個小故事僅展示了幾個用例,其中不同的模組組合給定的資料來源及其資訊以提供與事件相關的整體視圖。由於 Org 模式有鏈接,因此不需要複製實際資料(Memacs 提取的元資料除外)。電子郵件、文件、書籤等是連結而不是複製。
[1] 用句點而不是冒號 - 只是因為基於 Microsoft 的檔案系統的古老限制;像是“2011-02-14T14.35.42 ideas.jpg”
1945 年,Vannevar Bush 寫了一篇著名的文章《正如我們所想》,其中他提出了一個名為Memex 的「記憶擴展器」的想法。迷因記憶體可以儲存與一個人有關的所有信件、書籍和其他資訊。
除了預見超文本等多種技術之外,他還定義了一種設備,可以保存所有元數據和數據,並提供存取資訊的關聯路徑。
在上世紀最後十年,微軟研究院開展了一項研究計劃,最終誕生了 MyLifeBits。該軟體試圖儲存使用者的每一項訊息,如辦公室文件、螢幕截圖、桌上型電腦上活動視窗的名稱,甚至自動拍照(SenseCam)。這個詞並沒有產生任何(開放的)軟體產品。貝爾和格梅爾寫了一本名為《全面回憶》的書。
Memacs 專案試圖透過開源和開放標準來實現 Vannevar Bush 的願景。因此,它的名稱“Memacs”顯然是“GNU Emacs”和“Memex”的組合。
Memacs 使用 GNU Emacs Org 模式來視覺化和存取 Memacs 模組提取的資訊:使用標籤、時間戳記、全文搜尋等 GNU Emacs 能夠匯出不同的視圖。最重要的視圖可能是議程視圖,您可以根據所選的時間範圍查看特定日/週/月內發生的任何事情。但你也可以得出其他觀點。例如,您可以選擇使用標籤的布林組合產生壓縮搜尋結果。
與Memacs相關,專案創辦人開發了一款名為tagstore的研究軟體。該系統允許使用者使用標籤儲存(本機)文件,而無需資料夾層次結構。作為自然擴展,標籤庫的目標是(本地)檔案的關聯存取。您可能還想查看 tagstore。 Memacs 和 tagstore 是一個非常有用的組合。
如果您確實想知道如何以簡單且獨立於作業系統的方式有效地組織數位文件,請閱讀 Karl 的這篇部落格文章。它也可能為您的工作流程提供一些想法。
Karl 還撰寫了一份關於 Memacs 的白皮書,從科學家的角度描述了 Memacs。
如果您想為這個很酷的專案做出貢獻,請分叉並貢獻或編寫一個附加模組!
請參閱 docs/FAQs_and_Best_Practices.org 以了解更多開發資訊。
我們確信其他模組有很多很酷的想法!這只是開始!
Memacs 的設計考慮到新模組的最小工作量。
我們正在使用 Python PEP8 和測試驅動開發 (TDD)。
Memacs 根據 GPLv3 許可證獲得許可。