Ein Kollege, der sieht, wie ich etwas in einem Browser betrachte: „Ich freue mich, dass Sie nicht beschäftigt sind. Sie müssen dies, dies, dies tun …“
Kollege, der sieht, wie ich aufmerksam auf eine Eingabeaufforderung starre: Weicht langsam zurück ...
-Quelle
Schauen Sie sich die haxor-news
Diskussion in diesem Hacker-News-Beitrag an.
haxor-news
bringt Hacker-News auf das Terminal, sodass Sie Folgendes anzeigen / filtern können, ohne Ihre Befehlszeile zu verlassen:
haxor-news
hilft Ihnen, die große Anzahl an Kommentaren zu filtern, die beliebte Beiträge generieren .
-cu/--comments_unseen
-cr/--comments_recent
-cq/--comments_query [query]
Auf Jobsuche oder einfach nur neugierig, was es da draußen gibt? Filtern Sie den monatlichen Beitrag „Who's Hirings“ und „Freelancer“ :
$ hn hiring "(?i)(Node|JavaScript).*(remote)" > remote_web_jobs.txt
Kombinieren Sie haxor-news
mit Pipes, Weiterleitungen und anderen Befehlszeilendienstprogrammen. Ausgabe an Pager, Schreiben in Dateien, Automatisierung mit Cron usw.
haxor-news
verfügt über einen praktischen optionalen Autovervollständiger mit interaktiver Hilfe :
Verwendung:
$ hn <command> [params] [options]
Optional können Sie Vervollständigungen im Fischstil und ein Menü zur automatischen Vervollständigung mit interaktiver Hilfe aktivieren:
$ haxor-news
Sofern verfügbar, zeigt der Autovervollständiger Kommentare auch automatisch über einen Pager an.
Innerhalb des Autovervollständigers gilt die gleiche Syntax:
haxor> hn <command> [params] [options]
Sie können die zum Hervorheben verwendeten Ansi-Farben steuern, indem Sie Ihre ~/.haxornewsconfig
Datei aktualisieren.
Zu den Farboptionen gehören:
'black', 'red', 'green', 'yellow',
'blue', 'magenta', 'cyan', 'white'
Wenn keine Farbe vorhanden ist, legen Sie den/die Wert(e) auf None
fest.
Sehen Sie sich die Top-, Best-, Show-, Ask-, Jobs-, New- und Onion-Beiträge an.
Verwendung:
$ hn [command] [limit] # post limit default: 10
Beispiele:
$ hn top
$ hn show 20
Nachdem Sie eine Liste von Beiträgen angezeigt haben, können Sie den verknüpften Webinhalt eines Beitrags anzeigen, indem Sie auf die #
verweisen.
Der HTML-Inhalt des Post-Links ist für eine einfache Anzeige auf Ihrem Terminal formatiert . Sofern verfügbar, wird die formatierte Ausgabe an einen Pager gesendet.
Sehen Sie sich stattdessen den Abschnitt „In einem Browser anzeigen“ an, um den Inhalt in einem Browser anzuzeigen.
Verwendung:
$ hn view [#]
Beispiel:
$ hn view 1
$ hn view 8
Nachdem Sie eine Liste mit Beiträgen angezeigt haben, können Sie die Kommentare zu einem Beitrag anzeigen, indem Sie auf die #
verweisen.
Beispiele:
$ hn view 8 -c
$ hn view 8 --comments > comments.txt
Bei der Ausführung mit der automatischen Vervollständigung werden Kommentare automatisch paginiert. Um die gleiche Paginierung ohne die automatische Vervollständigung zu erhalten, hängen Sie | less -r
an | less -r
:
$ hn view 8 -c | less -r
Filtern Sie Kommentare, um nur diejenigen zu erweitern, die Sie noch nicht gesehen haben. Ungesehene Kommentare werden mit einem [!]
gekennzeichnet und vollständig erweitert.
Gesehene Kommentare werden mit [...] gekürzt und angezeigt, um den Kontext für nicht gesehene Kommentare bereitzustellen.
Beispiele:
$ hn view 8 -cu
$ hn view 8 --comments_unseen | less -r
Filtern Sie Kommentare, um nur diejenigen anzuzeigen, die in den letzten 60 Minuten gepostet wurden .
Ältere Kommentare werden mit [...] abgeschnitten und angezeigt, um Kontext zu aktuellen Kommentaren bereitzustellen.
Beispiele:
$ hn view 8 -cr | less -r
$ hn view 8 --comments_recent
Filtern Sie Kommentare basierend auf einer bestimmten regulären Ausdrucksabfrage.
Beispiele:
$ hn view 2 -cq "(?i)programmer" | less -r
$ hn view 2 --comments_regex_query "(?i)programmer" > programmer.txt
Regex ohne Berücksichtigung der Groß- und Kleinschreibung: (?i)
Beim Filtern von Kommentaren nach „unsichtbar“, „aktuell“ oder mit Regex werden nicht übereinstimmende Kommentare ausgeblendet, um Kontext bereitzustellen. Um stattdessen nicht übereinstimmende Kommentare auszublenden, übergeben Sie das Flag -ch--comments_hide
. Ausgeblendete Kommentare werden als angezeigt .
.
Beispiel:
$ hn view 8 -cu -ch | less -r
Hacker News veranstaltet monatlich eine Stellenanzeige, in der Arbeitgeber die neuesten Stellenangebote veröffentlichen.
Verwendung:
$ hn hiring [regex filter]
Beispiele:
$ hn hiring ""
$ hn hiring "(?i)JavaScript|Node"
$ hn hiring "(?i)(Node|JavaScript).*(remote)" > remote_jobs.txt
Regex ohne Berücksichtigung der Groß- und Kleinschreibung: (?i)
Um nach einer anderen monatlichen Stellenausschreibung als der neuesten zu suchen, verwenden Sie die Stellenausschreibungs-ID.
Verwendung:
$ hn hiring [regex filter] [post id]
Hacker News veranstaltet monatlich einen Beitrag für Freiberufler, in dem Arbeitgeber und Freiberufler Verfügbarkeiten veröffentlichen.
Verwendung:
$ hn freelance [regex filter]
Beispiele:
$ hn freelance ""
$ hn freelance "(?i)JavaScript|Node"
$ hn freelance "(?i)(Node|JavaScript).*(remote)" > remote_jobs.txt
Regex ohne Berücksichtigung der Groß- und Kleinschreibung: (?i)
Um nach einer anderen monatlichen Stellenausschreibung als der neuesten zu suchen, verwenden Sie die Stellenausschreibungs-ID.
Verwendung:
$ hn freelance [regex filter] [post id]
Ausgabe an Pager, Schreiben in Dateien, Automatisierung mit Cron usw.
Beispiele:
$ hn view 1 -c | less
$ hn freelance "(?i)(Node|JavaScript).*(remote)" > remote_jobs.txt
Verwendung:
$ hn user [user id]
Verwendung:
$ hn onion [limit] # post limit default: all
Sehen Sie sich die verlinkten Webinhalte oder Kommentare in Ihrem Standardbrowser statt auf Ihrem Terminal an.
Verwendung:
$ hn <command> [params] [options] -b
$ hn <command> [params] [options] --browser
haxor-news
wurde unter Windows 10 getestet.
Die Pager-Unterstützung unter Windows ist eingeschränkter, wie im folgenden Ticket erläutert. Benutzer können die Ausgabe mit dem | more
an einen Pager leiten | more
Befehl:
$ hn view 1 -c | more
Unter Windows befindet sich die .haxornewsconfig
Datei in %userprofile%
. Zum Beispiel:
C:Usersdmartin.haxornewsconfig
cmder
und conemu
Obwohl Sie die Standard-Windows-Eingabeaufforderung verwenden können, werden Sie wahrscheinlich mit cmder oder conemu ein besseres Erlebnis haben.
haxor-news
wird auf PyPI gehostet. Der folgende Befehl installiert haxor-news
:
$ pip install haxor-news
Sie können auch die neuesten haxor-news
von der GitHub-Quelle installieren, die Änderungen enthalten können, die noch nicht an PyPI übertragen wurden:
$ pip install git+https://github.com/donnemartin/haxor-news.git
Wenn Sie nicht in einer virtuellen Umgebung installieren, führen Sie es mit sudo
aus:
$ sudo pip install haxor-news
Führen Sie nach der Installation den optionalen Autovervollständiger haxor-news
mit interaktiver Hilfe aus:
$ haxor-news
Befehle ausführen:
$ hn <command> [params] [options]
Es wird empfohlen, Python-Pakete in einer virtuellen Umgebung zu installieren, um potenzielle Probleme mit Abhängigkeiten oder Berechtigungen zu vermeiden.
Klicken Sie hier, um die Installationsanweisungen haxor-news
virtualenv
anzuzeigen.
Es gibt ein bekanntes Problem mit Apple und seinen enthaltenen Python-Paketabhängigkeiten (weitere Informationen unter pypa/pip#3165). Wir suchen nach Möglichkeiten, dieses Problem zu beheben, aber in der Zwischenzeit können Sie zur Installation von haxor-news Folgendes ausführen:
$ sudo pip install haxor-news --upgrade --ignore-installed six
Wenn Sie daran interessiert sind, zu haxor-news
beizutragen, führen Sie die folgenden Befehle aus:
$ git clone https://github.com/donnemartin/haxor-news.git
$ pip install -e .
$ pip install -r requirements-dev.txt
$ haxor-news
$ hn <command> [params] [options]
Einzelheiten zur kontinuierlichen Integration finden Sie auf Travis CI.
Führen Sie Unit-Tests in Ihrer aktiven Python-Umgebung aus:
$ python tests/run_tests.py
Führen Sie Unit-Tests mit tox in mehreren Python-Umgebungen aus:
$ tox
Die Dokumentation des Quellcodes wird in Kürze auf Readthedocs.org verfügbar sein. Sehen Sie sich die Quelldokumentzeichenfolgen an.
Führen Sie Folgendes aus, um die Dokumente zu erstellen:
$ scripts/update_docs.sh
Beiträge sind willkommen!
Sehen Sie sich die Beitragsrichtlinien an, um Einzelheiten dazu zu erfahren:
Sie können mich gerne kontaktieren, um Probleme, Fragen oder Kommentare zu besprechen.
Meine Kontaktinformationen finden Sie auf meiner GitHub-Seite.
Ich stelle Ihnen Code und Ressourcen in diesem Repository unter einer Open-Source-Lizenz zur Verfügung. Da es sich um mein persönliches Repository handelt, stammt die Lizenz, die Sie für meinen Code und meine Ressourcen erhalten, von mir und nicht von meinem Arbeitgeber (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.