3 Punkte von GN⁺ 2024-01-14 | 1 Kommentare | Auf WhatsApp teilen
  • Fasst häufig gesuchte API-Dokumentationen für Entwickler an einem Ort zusammen und macht sie schnell durchsuchbar, wodurch der Wechselaufwand zwischen Dokumentationen verschiedener Sprachen und Frameworks sinkt
  • Standardmäßig werden CSS, HTML, HTTP, JavaScript und Web APIs angezeigt; unter Preferences lassen sich weitere benötigte Dokumentationen aktivieren und die Oberfläche anpassen
  • Mit Fuzzy Matching wie bgcp für background-clip und der Eingrenzung des Suchbereichs pro Dokumentation findet man gewünschte Einträge schneller
  • Unterstützt Tastaturkürzel für die Nutzung ohne Maus, Suche über die Browser-Adressleiste, mobile Nutzung und Installation als Web-App
  • Dokumentationen sind auch offline verfügbar; als kostenloses Open-Source-Projekt lässt es sich unkompliziert passend zur Entwicklungsumgebung nutzen

Viele API-Dokumentationen an einem Ort durchsuchen

  • DevDocs kombiniert mehrere API-Dokumentationen in einer schnellen, übersichtlichen Suchoberfläche
  • Auf der Startseite werden die Dokumentationen zu CSS, HTML, HTTP, JavaScript und Web APIs angezeigt
  • Unter Preferences lassen sich weitere Dokumentationen aktivieren und die UI anpassen

Suche und Navigation

  • Die Suche unterstützt Fuzzy Matching
    • Gibt man zum Beispiel bgcp ein, lässt sich background-clip finden
  • Wenn man nur innerhalb einer bestimmten Dokumentation suchen möchte, gibt man den Dokumentationsnamen oder die Abkürzung ein und grenzt den Suchbereich mit Tab ein
  • Auch die Suche über die Browser-Adressleiste ist möglich; die Einrichtung wird im Guide erklärt

Tastaturzentrierte Nutzung

  • Navigation und Suche sind auch ohne Maus möglich
  • Man kann die Liste der Tastaturkürzel ansehen oder ? drücken, um die verfügbaren Shortcuts zu prüfen

Offline- und Installationsunterstützung

  • DevDocs funktioniert auch offline
  • Es kann mobil genutzt und als Web-App installiert werden

Kostenloses Open-Source-Projekt

1 Kommentare

 
GN⁺ 2024-01-14
Meinungen auf Hacker News
  • Ich bin einer der wenigen DevDocs-Maintainer
    Solange sich nicht das komplette Dokumentationssystem oder Design ändert, ist es einfach, die Dokumentation für neue Releases zu aktualisieren. Allerdings scheinen manche Projekte solche Umbauten recht häufig zu machen, etwa das Redesign von react.dev
    Einige Dokumentationsgeneratoren erzeugen zufällige Klassennamen wie .gtWOdv, .ezMiXD, .gOhcvK, die Gatsby auf docs.npmjs.com erstellt. Das macht es mühsam und fragil, unnötige Inhalte wie die Seitennavigation zu entfernen
    Wir erstellen jeden Monat automatisch eine Liste veralteter Dokumentationen; die aktuelle Liste steht hier: https://github.com/freeCodeCamp/devdocs/issues/2105
    Hilfe ist immer willkommen

    • simon04, die Arbeit, die die Maintainer vor sehr langer Zeit geleistet haben, hat für meine Karriere und später sogar für mein Leben einen großen Unterschied gemacht
      Dass ich während der Pendelzeit Offline-Dokumentation lesen konnte, während ich eilig an einem Softwareprojekt arbeitete, war wirklich entscheidend
      Vielleicht habt ihr mit eurer Hilfe für devdocs keinen Cent verdient, aber ihr solltet unbedingt wissen, dass ihr echten Menschen helft
    • Diese App ist für mich persönlich ziemlich frustrierend. Sie ist eine der besten Quellen für Dokumentation, aber weil sie die von mir ausgewählte Dokumentationsliste nicht beibehält, ist sie für mich fast unbenutzbar geworden
      Fast jedes Mal, wenn ich sie besuche, muss ich meinen Stack von Grund auf neu auswählen. Sie ist großartig, aber nicht so großartig, dass ich das ständig wiederholen möchte
      Anderswo habe ich keine Probleme damit, dass Cookies oder Local Storage verschwinden, und ich nutze ein aktuelles Linux Chrome. Irgendeine Idee, woran das liegen könnte?
    • Könntest du Dokumentationsgeneratoren danach bewerten, wie einfach sie zu konsumieren sind?
      Mich würde interessieren, wie Sphinx, Docsy, MkDocs, Docbook usw. im Hinblick darauf abschneiden, wie leicht sie semantisch zu extrahieren sind
    • In einem technischen Interview wurde ich einmal gefragt, wie ich XYZ mit einem bestimmten Framework machen würde
      Ich wusste es nicht genau, antwortete aber, dass ich auf devdocs.io die API-Schnittstelle nachschlagen und es besser verstehen würde
      Der Interviewer wusste nicht, was ich meinte, öffnete es direkt auf seinem Laptop und war ziemlich beeindruckt
      Den Job habe ich natürlich nicht bekommen, aber es war ziemlich cool, Wissen auf die andere Seite des Interviewtischs zu tragen
    • Dass diese Seite weiterlebt, ist solchen Beiträgen zu verdanken, und dadurch bekam ich Lust, einen Vortrag über meine Lieblingsupdates seit Python 3.8 zu halten
      Ich hätte die Daten auch selbst zusammensuchen können, aber es macht den Vergleich nach Versionen sehr bequem
  • Ich habe mir noch einmal den Blogbeitrag „SWEs want offline docs“ angesehen, den ich vor ein paar Monaten geschrieben habe: https://technicalwriting.tools/posts/offline-docs/
    Gibt es eine RSS-ähnliche Technik, mit der man signalisieren kann, dass Dokumentation für den Offline-Konsum geeignet ist? Ich meine nicht so etwas wie Service Worker, sondern ein standardisiertes Format, das es Nutzern ermöglicht, Dokumentation offline zu lesen
    Bisher habe ich nur PDFs und als ZIP gepackte eigenständige HTML-Sites gesehen. Gibt es noch etwas anderes? Das ist ein unausgereifter Gedanke, aber ich frage mich, ob es das schon gibt und ich es nur nicht kenne

    • Ich bin mir nicht sicher, ob es etwas Besseres als ZIP gibt. Auf unserer Website[0] gibt es Dokumentation zur Game Engine, Zig-Paketdokumentation und mehr; im Footer haben wir einen Link „offline version of this site“, der eine ZIP-Datei von etwa 80 MB bereitstellt
      Die Schwierigkeit bei ZIP ist, dass man schwer abbilden kann, ob Nutzer alle Bilder möchten, die Dokumentation aller Versionen oder nur eine bestimmte Version. Trotzdem scheint ZIP weiterhin die beste Lösung zu sein
      [0] https://machengine.org/
    • Keine vollständige Antwort, aber der Standard für Offline-Dokumentation und Texte für lokalen/Offline-Konsum ist Markdown oder sollte es meiner Meinung nach sein. Ich schreibe ohnehin fast immer nur in Markdown, meistens mit http://obsidian.md
      Das Nächstliegende, das ich als RSS-ähnlichen Dienst zum Herunterladen von Dokumentation kenne, ist Dash for macOS - API Documentation Browser, Snippet Manager - Kapeli
    • CHM[0] ist genau so etwas, allerdings Windows-zentriert. Ein Beispiel, wie es im nativen Viewer aussieht, gibt es hier[1]
      Schade, dass Microsoft es aufgegeben hat; einige Projekte wie AutoHotKey nutzen es noch immer
      [0] https://en.wikipedia.org/wiki/Microsoft_Compiled_HTML_Help
      [1] https://www.helpsmith.com/images/ss/chm-help1.png
    • Ich nutze Zeal. Es hat noch nicht alles, aber es beruhigt einen ziemlich
    • Vielleicht geht es nur mir so, aber Emacs-Info-Dokumentation ist für diesen Zweck wirklich gut und stört auch nicht
  • Ich gehe gerade eine Checkliste vor einer langen Reise durch. Für den Fall, dass ich im Flugzeug entwickeln möchte, lade ich Sprach- und API-Dokumentation herunter, und ich wollte dieses großartige Tool teilen
    Es ermöglicht einfachen Offline-Zugriff auf viele Sprach- und API-Dokumentationen. Ich werde etwas Zig auffrischen und mit Vulkan etwas Spaßiges ausprobieren. Frohes neues Jahr

  • War beim Programmieren unterwegs nützlich. Besonders gut, wenn das WLAN instabil ist
    Mir gefällt auch, dass die Dokumentation an einem Ort gebündelt ist. Wenn man man, MDN und DevDocs in einer standardisierten Oberfläche zusammenführen könnte, würde das die Produktivität deutlich steigern

  • Programmierer entwickeln beruflich systematische Lösungen für nervige Probleme, daher überrascht es mich etwas, dass unsere eigenen grundlegendsten Bedürfnisse offenbar noch immer nicht richtig gelöst sind
    Zum Beispiel fehlen in DevDocs etliche Bibliotheken, die ich häufig nutze, etwa die Selenium-Bindings für Python. Ich habe auch Dash ausprobiert, aber Dokumentation wie die von OpenAI konnte ich nicht einfach importieren, sodass ich am Ende doch auf die Website musste
    Damit verliert man also die großartigen Funktionen von Dash zum schnellen Durchsuchen strukturierter Inhalte, was sich ziemlich ironisch anfühlt

  • Ich habe das kürzlich auf einem 14-Stunden-Flug genutzt. Ein Tag, der sonst vergeudet gewesen wäre, wurde unglaublich produktiv.
    Es gab keine Ablenkungen, und bei gelegentlichen Fragen lieferten die Dokumentationen die Antworten. Auch wirklich gut, wenn man einfach mal offline sein will.

    • Sieht wirklich gut aus. Manchmal gibt einem eine Einschränkung dessen, was man tun kann, sogar Freiheit.
      Was wäre das moderne Linux-Netbook? Ich will eine kleine Maschine, die zu schwach ist, um bequem im Web zu surfen, sodass man sich zwangsläufig konzentriert.
      Chromebooks könnten diese Rolle übernommen haben, aber ich will Google nicht noch mehr in mein Leben lassen.
  • dedoc ist ein Offline-CLI-Tool, mit dem man DevDocs in der CLI herunterladen, durchsuchen und lesen kann. Eine gute Möglichkeit, Kontextwechsel in den Browser zu vermeiden, ebenso wie die Ablenkungen des Browsers selbst.
    https://github.com/toiletbril/dedoc
    Es ist in Rust statisch kompiliert, man kann also einfach das Binary herunterladen und installieren.

  • Sieht aus wie ein Open-Source-Dash (https://kapeli.com/dash). Nett.

    • Es gibt bereits ein Open-Source-Dash (https://zealdocs.or). Wegen einer Vereinbarung zur Nutzung eines Teils der Dash-Listen werden allerdings keine Mac-Builds angeboten.
      Man kann es auf dem Mac aber selbst bauen (https://github.com/zealdocs/zeal/wiki/Build-Instructions-for...).
    • Nachdem ich zu Linux zurückgekehrt war, habe ich Dash sehr vermisst. Auf meiner To-do-Liste steht, einen webbasierten Klon zu bauen, und ich will auch benutzerdefinierte Pakete unterstützen, das Killer-Feature von Dash.
      Außerdem möchte ich eine erstklassige Emacs-Integration einbauen, damit kein Kontextwechsel in den Browser nötig ist.
      Im Moment muss ich erst ein anderes Projekt veröffentlichen, daher muss ich später darauf zurückkommen. Dass ich ständig ein oder zwei Tabs mit hexdocs.pm und MDN offen haben muss, hat meine Produktivität deutlich beeinträchtigt.
    • Es gibt auch von Nutzern beigetragene Docsets, gehostet von Dash: https://zealusercontributions.vercel.app/
    • Dash kann Dokumentation von readthedocs.org wirklich einfach importieren; DevDocs hat diese Funktion nicht.
  • Das ist hervorragend. Ich wünschte, ich hätte früher davon erfahren.
    Wenn man weiß, dass man nur Ergebnisse aus offiziellen Dokumentationen sucht, ist es viel besser als eine Websuchmaschine und außerdem deutlich schneller. Ich überlege, eine Kopie herunterzuladen und lokal auszuführen oder selbst zu hosten.

  • Ich mag dieses Tool sehr. Ich nutze es täglich über ein Emacs-Paket[1] und finde, dass der Workflow viel reibungsloser ist als bei Dash-artigen Lösungen.
    [1]: https://github.com/astoff/devdocs.el