同事看到我在瀏覽器中看東西:“很高興你不忙;我需要你做這個、這個、這個…”
同事看到我專注地盯著命令提示:後退,慢慢地......
-來源
請參閱這篇黑客新聞帖子中有關haxor-news
討論。
haxor-news
將駭客新聞帶到終端,讓您在不離開命令列的情況下查看/過濾以下內容:
haxor-news
可協助您過濾熱門貼文產生的大量評論。
-cu/--comments_unseen
-cr/--comments_recent
-cq/--comments_query [query]
正在找工作或只是好奇外面有什麼?過濾每月正在招募的人和自由工作者的貼文:
$ hn hiring "(?i)(Node|JavaScript).*(remote)" > remote_web_jobs.txt
將haxor-news
與管道、重定向和其他命令列實用程式結合。輸出到尋呼機、寫入檔案、使用 cron 實現自動化等。
haxor-news
附帶一個方便的可選自動完成器和互動式幫助:
用法:
$ hn <command> [params] [options]
或者,您可以啟用魚式補全和帶有互動式幫助的自動補全選單:
$ haxor-news
如果可用,自動完成器也會透過尋呼機自動顯示註解。
在自動完成器中,套用相同的語法:
haxor> hn <command> [params] [options]
您可以透過更新~/.haxornewsconfig
檔來控制用於反白的 ansi 顏色。
顏色選項包括:
'black', 'red', 'green', 'yellow',
'blue', 'magenta', 'cyan', 'white'
如果沒有顏色,請將值設為None
。
查看熱門、最佳、顯示、詢問、職位、新帖子和洋蔥帖子。
用法:
$ hn [command] [limit] # post limit default: 10
範例:
$ hn top
$ hn show 20
查看貼文清單後,您可以透過引用貼文#
檢視貼文的連結網頁內容。
貼文連結的 HTML 內容經過格式化,以便在您的終端中輕鬆查看。如果可用,格式化的輸出將會傳送到尋呼機。
請參閱「在瀏覽器中查看」部分以在瀏覽器中查看內容。
用法:
$ hn view [#]
例子:
$ hn view 1
$ hn view 8
查看帖子列表後,您可以透過引用帖子#
查看帖子的評論。
範例:
$ hn view 8 -c
$ hn view 8 --comments > comments.txt
如果使用自動完成程式執行,註解會自動分頁。要在沒有自動完成器的情況下獲得相同的分頁,請附加| less -r
:
$ hn view 8 -c | less -r
過濾評論以僅展開您尚未看到的評論。未見的註釋以[!]
表示並完全展開。
已看到的評論將被 [...] 截斷,並將顯示以幫助為未見的評論提供上下文。
範例:
$ hn view 8 -cu
$ hn view 8 --comments_unseen | less -r
過濾評論以僅展開過去 60 分鐘內發布的評論。
較早的評論將被 [...] 截斷,並將顯示以幫助為最近的評論提供上下文。
範例:
$ hn view 8 -cr | less -r
$ hn view 8 --comments_recent
根據給定的正規表示式查詢過濾評論。
範例:
$ hn view 2 -cq "(?i)programmer" | less -r
$ hn view 2 --comments_regex_query "(?i)programmer" > programmer.txt
不區分大小寫的正規表示式:( (?i)
當過濾未見過的、最近的或使用正規表示式的評論時,不匹配的評論將被折疊以提供上下文。若要隱藏不符的註釋,請傳遞-ch--comments_hide
標誌。隱藏的評論將顯示為.
。
例子:
$ hn view 8 -cu -ch | less -r
駭客新聞每月都會發布招聘帖子,雇主會在其中發布最新的職缺。
用法:
$ hn hiring [regex filter]
範例:
$ hn hiring ""
$ hn hiring "(?i)JavaScript|Node"
$ hn hiring "(?i)(Node|JavaScript).*(remote)" > remote_jobs.txt
不區分大小寫的正規表示式:( (?i)
要搜尋除最新招聘帖子以外的其他每月招聘帖子,請使用招聘帖子 ID。
用法:
$ hn hiring [regex filter] [post id]
《黑客新聞》每月都會發布一篇自由職業者帖子,雇主和自由職業者會在其中發布職位空缺信息。
用法:
$ hn freelance [regex filter]
範例:
$ hn freelance ""
$ hn freelance "(?i)JavaScript|Node"
$ hn freelance "(?i)(Node|JavaScript).*(remote)" > remote_jobs.txt
不區分大小寫的正規表示式:( (?i)
要搜尋除最新招聘帖子以外的其他每月招聘帖子,請使用招聘帖子 ID。
用法:
$ hn freelance [regex filter] [post id]
輸出到尋呼機、寫入檔案、使用 cron 實現自動化等。
範例:
$ hn view 1 -c | less
$ hn freelance "(?i)(Node|JavaScript).*(remote)" > remote_jobs.txt
用法:
$ hn user [user id]
用法:
$ hn onion [limit] # post limit default: all
在預設瀏覽器而不是終端機中查看連結的網頁內容或評論。
用法:
$ hn <command> [params] [options] -b
$ hn <command> [params] [options] --browser
haxor-news
已在 Windows 10 上進行了測試。
Windows 上的尋呼機支援更加有限,如下面的票證中所述。使用者可以使用| more
將輸出直接輸出到尋呼機。 | more
指令:
$ hn view 1 -c | more
在 Windows 上, .haxornewsconfig
檔可以在%userprofile%
中找到。例如:
C:Usersdmartin.haxornewsconfig
cmder
和conemu
儘管您可以使用標準 Windows 命令提示符,但使用 cmder 或 conemu 可能會獲得更好的體驗。
haxor-news
託管在 PyPI 上。以下命令將安裝haxor-news
:
$ pip install haxor-news
您也可以從 GitHub 來源安裝最新的haxor-news
其中可能包含尚未推送到 PyPI 的變更:
$ pip install git+https://github.com/donnemartin/haxor-news.git
如果您沒有在 virtualenv 中安裝,請使用sudo
執行:
$ sudo pip install haxor-news
安裝後,執行可選的haxor-news
自動完成程式並提供互動式幫助:
$ haxor-news
運行命令:
$ hn <command> [params] [options]
建議您在 virtualenv 中安裝 Python 套件,以避免潛在的依賴項或權限問題。
要查看haxor-news
virtualenv
安裝說明,請按此處。
Apple 及其包含的 python 套件相依性有已知問題(更多資訊請參閱 pypa/pip#3165)。我們正在研究解決此問題的方法,但與此同時,要安裝 haxor-news,您可以運行:
$ sudo pip install haxor-news --upgrade --ignore-installed six
如果您有興趣為haxor-news
做出貢獻,請執行以下命令:
$ git clone https://github.com/donnemartin/haxor-news.git
$ pip install -e .
$ pip install -r requirements-dev.txt
$ haxor-news
$ hn <command> [params] [options]
Travis CI 上提供了持續整合詳細資訊。
在活動的 Python 環境中執行單元測試:
$ python tests/run_tests.py
在多個 Python 環境中使用 tox 執行單元測試:
$ tox
原始碼文件很快就會在 Readthedocs.org 上提供。查看來源文件字串。
執行以下命令來建置文件:
$ scripts/update_docs.sh
歡迎貢獻!
請查看貢獻指南,以了解有關如何執行以下操作的詳細資訊:
請隨時與我聯繫討論任何問題、疑問或意見。
我的聯絡資訊可以在我的 GitHub 頁面上找到。
我根據開源許可證向您提供此儲存庫中的程式碼和資源。因為這是我的個人儲存庫,所以您收到的我的程式碼和資源的許可證來自我,而不是我的雇主 (Facebook)。
Copyright 2015 Donne Martin
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.