DEGDOCS kombiniert mehrere Entwicklerdokumentationen in einer sauberen und organisierten Web -Benutzeroberfläche mit sofortiger Suche, Offline -Support, mobiler Version, dunklem Thema, Tastaturverknüpfungen und vielem mehr.
Devdocs wurde von Thibaut Courouble erstellt und wird von Freecodecamp betrieben.
Bitte wenden Sie sich an die Community über Discord, wenn Sie sich dem Team anschließen möchten!
Verfolgen Sie Entwicklungsnachrichten:
Inhaltsverzeichnis: Schnellstart · Vision · App · Schaber · Befehle · beitragen · Dokumentation · Verwandte Projekte · Lizenz · Fragen?
Wenn Sie nicht zum Projekt beitragen möchten, empfehlen wir die Verwendung der gehosteten Version unter devdocs.io. Es ist aktuell und funktioniert offline außerhalb des Boxs.
Der einfachste Weg, DeVdocs lokal auszuführen, ist die Verwendung von Docker:
docker run --name devdocs -d -p 9292:9292 ghcr.io/freecodcamp/devdocs:latestDies startet Devdocs bei Localhost: 9292. Wir bieten sowohl reguläre als auch alpine-basierte Bilder an:
ghcr.io/freecodcamp/devdocs:latest - Standardbildghcr.io/freecodcamp/devdocs:latest-alpine (kleinere Größe)Die Bilder werden automatisch erstellt und monatlich mit der neuesten Dokumentation aktualisiert.
Alternativ können Sie das Bild selbst erstellen:
git clone https://github.com/freeCodeCamp/devdocs.git && cd devdocs
docker build -t devdocs .
docker run --name devdocs -d -p 9292:9292 devdocsDevdocs besteht aus zwei Teilen: einem Rubinschaber, der die Dokumentation und Metadaten erzeugt, und eine JavaScript -App, die von einer kleinen Sinatra -App angetrieben wird.
DEGDOCS benötigt Ruby 3.3.0 (in Gemfile definiert), libcurl und eine von execJs unterstützte JavaScript -Laufzeit (in Os X und Windows; Node.js unter Linux). Wenn Sie diese installiert haben, führen Sie die folgenden Befehle aus:
git clone https://github.com/freeCodeCamp/devdocs.git && cd devdocs
gem install bundler
bundle install
bundle exec thor docs:download --default
bundle exec rackupZeigen Sie schließlich Ihren Browser auf Localhost: 9292 (die erste Anfrage dauert einige Sekunden, um das Vermögen zu erstellen). Sie sind alle eingestellt.
Der Befehl thor docs:download wird verwendet, um vorgenerierte Dokumentationen von den Servern von DEGDOCS herunterzuladen (z. B. thor docs:download html css ). Sie können die Liste der verfügbaren Dokumentationen und Versionen sehen, indem Sie thor docs:list ausführen. Um alle heruntergeladenen Dokumentationen zu aktualisieren, führen Sie thor docs:download --installed . Um die gesamte Dokumentation herunterzuladen und zu installieren, die dieses Projekt verfügbar hat, führen Sie thor docs:download --all aus.
Hinweis: Derzeit gibt es keinen anderen Aktualisierungsmechanismus als git pull origin main um den Code zu aktualisieren, und thor docs:download --installed um die neueste Version der Dokumente herunterzuladen. Um über neue Veröffentlichungen auf dem Laufenden zu bleiben, sehen Sie sich dieses Repository an.
DEGDOCS zielt darauf ab, das Lesen und Suchreferenzdokumentation schnell, einfach und angenehm zu gestalten.
Die Hauptziele der App sind:
HINWEIS: DEGDOCS ist weder ein Programmierhandbuch noch eine Suchmaschine. Alle unsere Inhalte stammen aus Quellen von Drittanbietern und das Projekt beabsichtigt nicht, mit Volltext-Suchmaschinen zu konkurrieren. Das Rückgrat ist Metadaten; Jedes Inhaltsstück wird durch eine eindeutige, "offensichtliche" und kurze Zeichenfolge identifiziert. Tutorials, Leitfäden und andere Inhalte, die diese Anforderung nicht erfüllen, liegen außerhalb des Rahmens des Projekts.
Die Web-App ist alles clientseitige JavaScript, das von einer kleinen Sinatra/-Rockets-Anwendung betrieben wird. Es basiert auf Dateien, die vom Schaber generiert wurden.
Viele der Konstruktionsentscheidungen des Code wurden dadurch angetrieben, dass die App mit XHR Inhalte direkt in den Hauptrahmen lädt. Dies beinhaltet das Entfernen der ursprünglichen Dokumente der meisten ihrer HTML -Markup (z.
Ein weiterer Fahrfaktor ist die Leistung und die Tatsache, dass im Browser alles passiert. Ein Dienstangestellter (der mit eigenen Einschränkungen ausgestattet ist) und localStorage werden verwendet, um die Startzeit zu beschleunigen, während der Speicherverbrauch in Schach gehalten wird, indem der Benutzer seine eigenen Dokumentationen auswählen kann. Der Suchalgorithmus wird einfach gehalten, da er schnell durch 100.000 Saiten suchen muss.
Devdocs ist ein Entwickler -Tool, die Browseranforderungen sind hoch:
Auf diese Weise kann der Code die neuesten DOM- und HTML5 -APIs nutzen und die Entwicklung von Devdocs viel mehr Spaß machen!
Der Schaber ist dafür verantwortlich, die von der App verwendeten Dokumentations- und Indexdateien (Metadaten) zu generieren. Es ist in Ruby unter dem Docs -Modul geschrieben.
Derzeit gibt es zwei Arten von Scrapern: UrlScraper , die Dateien über http und FileScraper herunterladen, die sie aus dem lokalen Dateisystem liest. Beide erstellen Kopien von HTML -Dokumenten und folgen rekursiv Links, die eine Reihe von Regeln entsprechen und alle möglichen Modifikationen auf dem Weg anwenden sowie einen Index der Dateien und deren Metadaten erstellen. Dokumente werden mit Nokogiri analysiert.
Änderungen an jedem Dokument enthalten::
<html> , <head> usw.), Kommentare, leere Knoten usw.Diese Änderungen werden über eine Reihe von Filtern unter Verwendung der HTML :: Pipeline -Bibliothek angewendet. Jeder Schaber enthält Filter, die für sich selbst spezifisch sind, von denen eines die Metadaten der Seiten herausfinden soll.
Das Endergebnis ist ein Satz normalisierter HTML -Partials und zwei JSON -Dateien (Index + Offline -Daten). Da die Indexdateien nach den Einstellungen des Benutzers von der App separat geladen werden, erstellt der Schaber auch eine JSON -Manifestdatei mit Informationen zu den derzeit im System verfügbaren Dokumentationen (z. B. Name, Version, Aktualisierungsdatum usw.).
Weitere Informationen zu Scrapern und Filtern finden Sie im Ordner docs .
Die Befehlszeilenschnittstelle verwendet Thor. Um alle Befehle und Optionen anzuzeigen, führen Sie thor list aus der Root des Projekts aus.
# Server
rackup # Start the server (ctrl+c to stop)
rackup --help # List server options
# Docs
thor docs:list # List available documentations
thor docs:download # Download one or more documentations
thor docs:manifest # Create the manifest file used by the app
thor docs:generate # Generate/scrape a documentation
thor docs:page # Generate/scrape a documentation page
thor docs:package # Package a documentation for use with docs:download
thor docs:clean # Delete documentation packages
# Console
thor console # Start a REPL
thor console:docs # Start a REPL in the "Docs" module
# Tests can be run quickly from within the console using the "test" command.
# Run "help test" for usage instructions.
thor test:all # Run all tests
thor test:docs # Run "Docs" tests
thor test:app # Run "App" tests
# Assets
thor assets:compile # Compile assets (not required in development mode)
thor assets:clean # Clean old assets Wenn in Ihrem System mehrere Versionen von Ruby installiert sind, müssen Befehle über bundle exec ausgeführt werden.
Beiträge sind willkommen. Bitte lesen Sie die beitragenden Richtlinien.
Etwas Cooles gemacht? Fühlen Sie sich frei, eine PR zu öffnen, um dieser Tabelle eine neue Zeile hinzuzufügen! Vielleicht möchten Sie neue Projekte über https://github.com/topics/devdocs entdecken.
| Projekt | Beschreibung | Letzter Commit | Sterne |
|---|---|---|---|
| yannickglt/alfred-devdocs | Alfred Workflow | ||
| Merith-tk/devdocs_webapp_kotlin | Android -Anwendung | ||
| Gruehle/dev-docs-viewer | Klammerweiterung | ||
| Egoist/Devdocs-Desktop | Elektronenanwendung | ||
| Skeeto/Devdocs-Lookup | EMACS -Funktion | ||
| ASTOFF/DEVDOCS.EL | EMACS -Betrachter | ||
| Naquad/DevdocS-Shell | GTK -Schale mit VIM -Integration | ||
| Hardpixel/Devdocs-Desktop | GTK -Anwendung | ||
| QWFY/Doc-Browser | Linux -Anwendung | ||
| DTEOH/DEGDOCS-MACOS | MacOS -Anwendung | ||
| Sublime Text Plugin | Sublime Text Plugin | ||
| Mohamed3nan/Devdocs-Tab | Vs Codeerweiterung (Ansicht als Registerkarte) | ||
| deibit/vscode-devdocs | VS -Code -Erweiterung (öffnen Sie den Browser) | ||
| Mdh34/Quickdocs | Vala/Python -Basis -Betrachter | ||
| girishji/devdocs.vim | VIM -Plugin & Tui (Durchsuchen Sie in Vim) | ||
| Romainl/Vim-Devdocs | VIM -Plugin | ||
| Warten auf Dev/vim-www | VIM -Plugin | ||
| luckasranarison/nvim-devdocs | Neovim Plugin | ||
| Toiletbril/Dedoc | Terminalbasierter Betrachter | ||
| Raycast Devdocs | Raycast -Erweiterung | Nicht verfügbar | Nicht verfügbar |
| Chrisgrieser/Alfred-docs-Suche | Alfred Workflow |
Copyright 2013–2024 Thibaut Courouble und andere Mitwirkende
Diese Software ist gemäß den Bestimmungen der Mozilla Public Lizenz v2.0 lizenziert. Siehe das Urheberrecht und die Lizenzdateien.
Bitte verwenden Sie den Namen DEGDOCS nicht, um Produkte zu unterstützen oder zu fördern, die aus dieser Software abgeleitet wurden, ohne die Erlaubnis der Wartung, außer wie erforderlich, um die Anforderungen an die Mitteilung/Zuschreibung zu erfüllen.
Wir wünschen uns auch, dass jede mit dieser Software generierte Dokumentationsdatei Devdocs zugeschrieben wird. Seien wir fair gegenüber allen Mitwirkenden, indem wir Krediten dort geben, wo Kredit fällig ist. Danke!
Wenn Sie Fragen haben, können Sie sie gerne im Chatroom für Zwietracht im Chatroom von Mitarbeitern fragen.