DevDOCS объединяет несколько документаций по разработчикам в чистом и организованном веб -интерфейсе с мгновенным поиском, автономной поддержкой, мобильной версией, темной темой, сочетаниями клавиш и многим другим.
Devdocs был создан Thibaut Courouble и управляется Freecodecamp.
Пожалуйста, обратитесь к сообществу на Discord, если вы хотите присоединиться к команде!
Следите за новостями о разработке:
Содержимое: быстрое запуск · Видение · Приложение · Скребок · Команды · Внесение · Документация · Связанные проекты · Лицензия · Вопросы?
Если вы не хотите внести свой вклад в проект, мы рекомендуем использовать размещенную версию на devdocs.io. Это в курсе и работает в автономном режиме.
Самый простой способ запуска DevDOCS локально использует Docker:
docker run --name devdocs -d -p 9292:9292 ghcr.io/freecodcamp/devdocs:latestЭто начнет DevDOCS на LocalHost: 9292. Мы предоставляем как обычные, так и альпийские изображения:
ghcr.io/freecodcamp/devdocs:latest - Стандартное изображениеghcr.io/freecodcamp/devdocs:latest-alpine основе альпийского (меньший размер)Изображения автоматически создаются и обновляются ежемесячно с последней документацией.
В качестве альтернативы, вы можете построить изображение самостоятельно:
git clone https://github.com/freeCodeCamp/devdocs.git && cd devdocs
docker build -t devdocs .
docker run --name devdocs -d -p 9292:9292 devdocsDevdocs изготовлен из двух частей: рубиновый скребок, который генерирует документацию и метаданные, а также приложение JavaScript, основанное на небольшом приложении Sinatra.
Devdocs требует Ruby 3.3.0 (определено в Gemfile ), Libcurl и среде выполнения JavaScript, поддерживаемое ExecJS (включено в OS X и Windows; Node.js на Linux). После того, как вы их установили, запустите следующие команды:
git clone https://github.com/freeCodeCamp/devdocs.git && cd devdocs
gem install bundler
bundle install
bundle exec thor docs:download --default
bundle exec rackupНаконец, укажите свой браузер на Localhost: 9292 (первая просьба займет несколько секунд, чтобы составить активы). Вы все готовы.
Команда thor docs:download используется для загрузки предварительных документов с серверов DevDocs (например, thor docs:download html css ). Вы можете увидеть список доступных документаций и версий, запустив thor docs:list . Чтобы обновить все загруженные документации, запустите thor docs:download --installed . Чтобы загрузить и установить всю документацию thor docs:download --all
Примечание. В настоящее время нет механизма обновления, кроме git pull origin main чтобы обновить код и thor docs:download --installed для загрузки последней версии документов. Чтобы оставаться в курсе новых релизов, обязательно следите за этим репозиторием.
DevDOCS стремится сделать чтение и поиск справочной документации быстрым, простым и приятным.
Основные цели приложения -:
Примечание: DevDOCS не является ни руководством по программированию, ни поисковой системой. Весь наш контент извлекается из сторонних источников, и проект не собирается конкурировать с полнотекстовыми поисковыми системами. Его костяк - метаданные; Каждый кусок контента идентифицируется уникальной, «очевидной» и короткой строкой. Учебные пособия, руководства и другой контент, которые не соответствуют этим требованиям, выходят за рамки проекта.
Веб-приложение-это JavaScript на стороне клиента, основанный на небольшом приложении Sinatra/Sprockets. Он полагается на файлы, сгенерированные скребком.
Многие из проектных решений кода были обусловлены тем фактом, что приложение использует XHR для загрузки контента непосредственно в основную кадр. Это включает в себя снятие оригинальных документов большей части их HTML -разметки (например, сценариев и таблиц стилей), чтобы избежать загрязнения основной кадры, и префикс всех имен классов CSS подчеркивает, чтобы предотвратить контакты.
Другим движущим фактором является производительность и тот факт, что все происходит в браузере. Сервисный работник (который поставляется с собственным набором ограничений) и localStorage используются для ускорения времени загрузки, в то время как потребление памяти контролируется под контролем, позволяя пользователю выбирать свой собственный набор документаций. Алгоритм поиска сохраняется простым, потому что он должен быть быстрым, даже поиск через 100 000 струн.
DevDOCS является инструментом разработчика, требования браузера высоки:
Это позволяет коду воспользоваться последними API DOM и HTML5 и сделать разработку DevDOCS намного веселее!
Скребок отвечает за создание документации и индексных файлов (метаданных), используемых приложением. Это написано в Ruby под модулем Docs .
В настоящее время существует два вида скребков: UrlScraper , который загружает файлы через HTTP и FileScraper , который считывает их из локальной файловой системы. Они оба делают копии HTML -документов, рекурсивно следуя ссылкам, которые соответствуют набору правил и применяют всевозможные модификации на этом пути, в дополнение к созданию индекса файлов и их метаданных. Документы анализируются с использованием Nokogiri.
Модификации, внесенные в каждый документ, включают:
<html> , <head> и т. Д.), Комментарии, пустые узлы и т. Д.Эти модификации применяются через набор фильтров с использованием библиотеки конвейера HTML ::. Каждый скребок включает в себя фильтры, специфичные для себя, одному из которых поручено выяснить метаданные страниц.
Конечным результатом является набор нормализованных партий HTML и двух файлов JSON (Index + Offline Data). Поскольку индексные файлы загружаются отдельно приложением после предпочтений пользователя, скребок также создает файл манифеста JSON, содержащий информацию о документациях, доступных в настоящее время в системе (например, их имя, версия, дата обновления и т. Д.).
Более подробная информация о скребках и фильтрах доступна в папке docs .
Интерфейс командной строки использует Thor. Чтобы увидеть все команды и параметры, запустите thor list из корня проекта.
# 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 Если в вашей системе установлено несколько версий Ruby, команды должны выполняться через bundle exec .
Взносы приветствуются. Пожалуйста, прочитайте рекомендации по внесению.
Сделал что -нибудь крутое? Не стесняйтесь открывать пиар, чтобы добавить новую строку к этой таблице! Возможно, вы захотите открыть новые проекты через https://github.com/topics/devdocs.
| Проект | Описание | Последний коммит | Звезда |
|---|---|---|---|
| Yannickglt/Alfred-Devdocs | Альфред Рабочий процесс | ||
| Merith-tk/devdocs_webapp_kotlin | Приложение для Android | ||
| GrueHle/Dev-Docs-Viewer | Расширение скобков | ||
| эгоист/devdocs-desktop | Электронное применение | ||
| Skeeto/devdocs-lookup | Функция EMACS | ||
| astoff/devdocs.el | Emacs Viewer | ||
| Naquad/Devdocs-Shell | GTK Shell с интеграцией VIM | ||
| Hardpixel/devdocs-desktop | Приложение GTK | ||
| QWFY/DOC-Browser | Приложение Linux | ||
| dteoh/devdocs-macos | приложение MacOS | ||
| Подличный текстовый плагин | Подличный текстовый плагин | ||
| Mohamed3nan/devdocs-tab | VS Extension (View As As As Tab) | ||
| deibit/vscode-devdocs | VS расширение кода (откройте браузер) | ||
| MDH34/QuickDocs | Vala/Python Baseer Viewer | ||
| Girishji/Devdocs.vim | Vim plugin & tui (просмотр внутри Vim) | ||
| romainl/vim-devdocs | Плагин VIM | ||
| Ожидание для девт/Vim-WWW | Плагин VIM | ||
| Luckasranarison/nvim-devdocs | Плагин Neovim | ||
| Туалет/Дедок | Зритель на основе терминала | ||
| Raycast Devdocs | Расширение Raycast | Недоступен | Недоступен |
| Chrisgrieser/Alfred-Docs-Searches | Альфред Рабочий процесс |
Copyright 2013–2024 Thibaut Courouble и другие участники
Это программное обеспечение лицензировано в соответствии с условиями общественной лицензии Mozilla V2.0. Смотрите файлы авторских прав и лицензии.
Пожалуйста, не используйте название DevDOCS для одобрения или продвижения продуктов, полученных из этого программного обеспечения, без разрешения сопровождающих, за исключением случаев, когда это может потребоваться для соблюдения требований к уведомлению/атрибуции.
Мы также хотим, чтобы любой файл документации, сгенерированный с использованием этого программного обеспечения, был отнесен к DevDOCS. Давайте будем справедливо по отношению к всем участникам, предоставив кредит, в котором он должен был. Спасибо!
Если у вас есть какие -либо вопросы, пожалуйста, не стесняйтесь спросить их в чате участника в Discord.