Merge branch 'main' into update-zig-to-0.12

pull/2256/head
Simon Legner 7 months ago
commit 08fc2200b3

@ -13,7 +13,7 @@ jobs:
steps:
- uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0
- name: Set up Ruby
uses: ruby/setup-ruby@d5fb7a202fc07872cb44f00ba8e6197b70cb0c55 # v1.179.0
uses: ruby/setup-ruby@ff740bc00a01b3a50fffc55a1071b1060eeae9dc # v1.180.0
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- name: Run tests

@ -11,7 +11,7 @@ jobs:
steps:
- uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0
- name: Set up Ruby
uses: ruby/setup-ruby@d5fb7a202fc07872cb44f00ba8e6197b70cb0c55 # v1.179.0
uses: ruby/setup-ruby@ff740bc00a01b3a50fffc55a1071b1060eeae9dc # v1.180.0
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- name: Generate report

@ -11,7 +11,7 @@ jobs:
steps:
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Set up Ruby
uses: ruby/setup-ruby@d5fb7a202fc07872cb44f00ba8e6197b70cb0c55 # v1.179.0
uses: ruby/setup-ruby@ff740bc00a01b3a50fffc55a1071b1060eeae9dc # v1.180.0
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- name: Run tests

@ -1,7 +1,7 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (7.1.3.3)
activesupport (7.1.3.4)
base64
bigdecimal
concurrent-ruby (~> 1.0, >= 1.0.2)
@ -125,7 +125,7 @@ GEM
strings-ansi (0.2.0)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
terser (1.2.2)
terser (1.2.3)
execjs (>= 0.3.0, < 3)
thin (1.8.2)
daemons (~> 1.0, >= 1.0.9)

@ -172,6 +172,7 @@ Made something cool? Feel free to open a PR to add a new row to this table! You
| [mohamed3nan/DevDocs-Tab](https://github.com/mohamed3nan/DevDocs-Tab) | VS Code extension (view as tab) | ![Latest GitHub commit](https://img.shields.io/github/last-commit/mohamed3nan/DevDocs-Tab?logo=github&label) | ![GitHub stars](https://img.shields.io/github/stars/mohamed3nan/DevDocs-Tab?logo=github&label) |
| [deibit/vscode-devdocs](https://marketplace.visualstudio.com/items?itemName=deibit.devdocs) | VS Code extension (open the browser) | ![Latest GitHub commit](https://img.shields.io/github/last-commit/deibit/vscode-devdocs?logo=github&label) | ![GitHub stars](https://img.shields.io/github/stars/deibit/vscode-devdocs?logo=github&label) |
| [mdh34/quickDocs](https://github.com/mdh34/quickDocs) | Vala/Python based viewer | ![Latest GitHub commit](https://img.shields.io/github/last-commit/mdh34/quickDocs?logo=github&label) | ![GitHub stars](https://img.shields.io/github/stars/mdh34/quickDocs?logo=github&label) |
| [girishji/devdocs.vim](https://github.com/girishji/devdocs.vim) | Vim plugin & TUI (browse inside Vim) | ![Latest GitHub commit](https://img.shields.io/github/last-commit/girishji/devdocs.vim?logo=github&label) | ![GitHub stars](https://img.shields.io/github/stars/girishji/devdocs.vim?logo=github&label) |
| [romainl/vim-devdocs](https://github.com/romainl/vim-devdocs) | Vim plugin | ![Latest GitHub commit](https://img.shields.io/github/last-commit/romainl/vim-devdocs?logo=github&label) | ![GitHub stars](https://img.shields.io/github/stars/romainl/vim-devdocs?logo=github&label) |
| [waiting-for-dev/vim-www](https://github.com/waiting-for-dev/vim-www) | Vim plugin | ![Latest GitHub commit](https://img.shields.io/github/last-commit/waiting-for-dev/vim-www?logo=github&label) | ![GitHub stars](https://img.shields.io/github/stars/waiting-for-dev/vim-www?logo=github&label) |
| [luckasRanarison/nvim-devdocs](https://github.com/luckasRanarison/nvim-devdocs) | Neovim plugin | ![Latest GitHub commit](https://img.shields.io/github/last-commit/luckasRanarison/nvim-devdocs?logo=github&label) | ![GitHub stars](https://img.shields.io/github/stars/luckasRanarison/nvim-devdocs?logo=github&label) |

@ -1,4 +1,8 @@
[
[
"2024-02-20",
"New documentations: <a href=\"/nextjs/\">Next.js</a>, <a href=\"/click/\">click</a>"
],
[
"2024-01-24",
"New documentation: <a href=\"/playwright/\">Playwright</a>"

@ -0,0 +1,58 @@
module Docs
class Click
class EntriesFilter < Docs::EntriesFilter
TYPE_BY_SLUG = {}
def call
if root_page?
css('section').each do |node|
next if ['documentation', 'api-reference'].include?(node['id'])
type = node.at_css('h2').content.strip
node.css('li > a').each do |toclink|
slug = toclink['href'].split('/')[-2]
TYPE_BY_SLUG[slug] = type
end
end
end
super
end
def get_name
return at_css('h1').content.strip
end
def get_type
TYPE_BY_SLUG[slug.split('/').first] || at_css('h1').content.strip
end
def include_default_entry?
TYPE_BY_SLUG.include?(slug.split('/').first)
end
def additional_entries
return [] if root_page? || TYPE_BY_SLUG.include?(slug.split('/').first)
if slug == 'api/'
entries = []
doc.css('> section').each do |section|
title = section.at_css('h2').content.strip
section.css('dl.py > dt[id]').each do |dt|
name = dt['id'].split('.')[1..].join('.')
name << '()' if dt.parent.classes.intersect?(['function', 'method', 'classmethod', 'staticmethod'])
entries << [name, dt['id'], title]
end
end
return entries
end
(doc.css('> section') || []).map do |section|
title = section.at_css('h2').content.strip
[title, section['id']]
end
end
private
end
end
end

@ -0,0 +1,11 @@
module Docs
class Click
class PreCleanHtmlFilter < Filter
def call
# Remove ¶ character from headers
css('.headerlink').remove
doc
end
end
end
end

@ -2,7 +2,7 @@ module Docs
class Elisp
class EntriesFilter < Docs::EntriesFilter
def get_name
# remove numbers at the beginnig
# remove numbers at the beginning
name = at_css('.chapter', '.section', '.subsection', '.subsubsection', '.appendix').content.slice(/[[:alpha:]]...*/)
# remove 'Appendix' word

@ -4,7 +4,7 @@ module Docs
# The GTK documentation paths are "flat" and while the contents of each
# page provides a way to determine the direct parent relationship, we
# really need a full hierarchy of pages *a priori* to be able to fully
# categorize all pages and entries. So we're going to recursivly generate
# categorize all pages and entries. So we're going to recursively generate
# a full map of page -> parent relationships from the table of contents...
PARENT_BY_PATH = {}

@ -15,7 +15,7 @@ module Docs
group = 'kubectl'
commands = css('h1').to_a()
commands.map do |node|
# handle titles differnetly by converting them into sidebar groups (types)
# handle titles differently by converting them into sidebar groups (types)
new_group = at_css("##{node['id']} > strong")
if new_group
group = new_group.content.titleize

@ -0,0 +1,30 @@
module Docs
class Nextjs
class CleanHtmlFilter < Filter
def call
@doc = at_css('.prose')
css('.zola-anchor').remove
doc.prepend_child("<h1>NextJS2</h1>") if root_page?
css('div:contains("NEWS:")').remove
css('h2:contains("sponsors"), #sponsor-table').remove
css('div.sticky').remove #remove the floating menu
css('div.-mt-4').remove #remove the navigation line
css('footer').remove
css('div.feedback_inlineTriggerWrapper__o7yUx').remove
css('header').remove #remove links from the top of the page
css('nav').remove
css('h1, h2, h3, h4').each { |node| node.content = node.content }
css('pre > code').each do |node|
node.parent['data-language'] = 'typescript'
node.parent.content = node.parent.content
end
css('div[class^="code-block_header"]').remove
doc
end
end
end
end

@ -0,0 +1,43 @@
module Docs
class Nextjs
class EntriesFilter < Docs::EntriesFilter
def get_name
name = at_css('h1').content
name.strip!
#name
subpath_items = subpath.split('/', -1)
if subpath_items.length >= 5
subpath_items[3].capitalize + ': ' + name # e.g. Routing: Defining Routes
else
name
end
end
def get_type
if slug.start_with?('architecture')
'Architecture'
elsif slug.start_with?('community')
'Community'
elsif slug.start_with?('getting-started')
'Getting Started'
elsif slug.start_with?('messages')
'Messages'
elsif slug.start_with?('app/building-your-application')
'Using App Router: Building your application'
elsif slug.start_with?('app/api-reference')
'Using App Router: api-reference'
elsif slug.start_with?('app')
'Using App Router'
elsif slug.start_with?('pages/building-your-application')
'Using Pages Router: Building your application'
elsif slug.start_with?('pages/api-reference')
'Using Pages Router: api-reference'
elsif slug.start_with?('pages')
'Using Pages Router'
else
get_name
end
end
end
end
end

@ -0,0 +1,30 @@
module Docs
class Click < UrlScraper
self.name = 'click'
self.type = 'sphinx'
self.root_path = 'index.html'
self.links = {
home: 'https://click.palletsprojects.com/',
code: 'https://github.com/pallets/click'
}
html_filters.push 'click/pre_clean_html', 'click/entries', 'sphinx/clean_html'
options[:container] = '.body > section'
options[:skip] = ['changes/', 'genindex/', 'py-modindex/']
options[:title] = false
options[:attribution] = <<-HTML
&copy; Copyright 2014 Pallets.<br>
Licensed under the BSD 3-Clause License.<br>
We are not supported nor endorsed by Pallets.
HTML
self.release = '8.1.x'
self.base_url = "https://click.palletsprojects.com/en/#{self.release}/"
def get_latest_version(opts)
get_latest_github_release('pallets', 'click', opts)
end
end
end

@ -36,7 +36,7 @@ module Docs
def get_latest_version(opts)
doc = fetch_doc('https://crystal-lang.org/', opts)
doc.at_css('.latest-release').content.scan(/([0-9.]+)/)[0][0]
doc.at_css('.latest-release-info > a > strong').content.scan(/([0-9.]+)/)[0][0]
end
end
end

@ -96,7 +96,7 @@ module Docs
def get_latest_version(opts)
doc = fetch_doc('https://docs.docker.com/engine/release-notes/', opts)
latest_version = doc.at_css('.content > section > h2').content.strip
latest_version = doc.at_css('.DocSearch-content > h2 > a').content.strip
latest_version.rpartition(' ')[-1]
end
end

@ -0,0 +1,26 @@
module Docs
class Nextjs < UrlScraper
self.name = 'Next.js'
self.slug = 'nextjs'
self.type = 'simple'
self.release = '14.2.4'
self.base_url = 'https://nextjs.org/docs'
self.initial_paths = %w(reference/)
self.links = {
home: 'https://www.nextjs.org/',
code: 'https://github.com/vercel/next.js'
}
html_filters.push 'nextjs/entries', 'nextjs/clean_html'
options[:download_images] = false
options[:attribution] = <<-HTML
&copy; 2024 Vercel, Inc.<br>
Licensed under the MIT License.
HTML
def get_latest_version(opts)
get_npm_version('next', opts)
end
end
end

@ -74,8 +74,8 @@ module Docs
end
def get_latest_version(opts)
doc = fetch_doc('https://nodejs.org/en/', opts)
doc.at_css('#home-intro > .home-downloadblock:last-of-type > a')['data-version'][1..-1]
tags = get_github_tags('nodejs', 'node', opts)
tags[0]['name'][1..-1]
end
end
end

@ -51,7 +51,7 @@ module Docs
def get_latest_version(opts)
doc = fetch_doc('https://octave.org/doc/interpreter/', opts)
doc.at_css('h1').content.scan(/([0-9.]+)/)[0][0]
doc.at_css('#SEC_Top + p').content.scan(/([0-9.]+)/)[1][0][0..-2]
end
end

@ -31,8 +31,8 @@ module Docs
end
def get_latest_version(opts)
doc = fetch_doc('https://docs.phalconphp.com/', opts)
doc.at_css('.header__lang.expand > div > ul > li > a').content
tags = get_github_tags('phalcon', 'cphalcon', opts)
tags[0]['name'][1..-1]
end
end
end

@ -23,7 +23,7 @@ module Docs
HTML
def get_latest_version(opts)
get-npm-version("sanctuary-type-classes", opts)
get_npm_version("sanctuary-type-classes", opts)
end
end
end

@ -22,7 +22,7 @@ module Docs
html_filters.push 'vite/entries', 'vite/clean_html'
version do
self.release = '5.0.11'
self.release = '5.2.13'
self.base_url = 'https://vitejs.dev/'
end

@ -19,7 +19,7 @@ module Docs
HTML
version '3' do
self.release = '3.4.5'
self.release = '3.4.27'
self.base_url = 'https://vuejs.org/'
self.initial_paths = %w(guide/introduction.html)
html_filters.push 'vue/entries_v3', 'vue/clean_html'

6
package-lock.json generated

@ -0,0 +1,6 @@
{
"name": "devdocs",
"lockfileVersion": 3,
"requires": true,
"packages": {}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 641 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 797 B

@ -0,0 +1 @@
https://github.com/pallets/click/blob/main/docs/_static/click-icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 537 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -0,0 +1,2 @@
https://assets.vercel.com/image/upload/v1662130559/nextjs/Icon_dark_background.png
https://github.com/vercel/next.js/blob/canary/examples/cms-enterspeed/public/favicon/favicon.ico
Loading…
Cancel
Save