Unified · Split
| @@ -1,4 +1,8 @@ | |||
| 1 | [ | 1 | [ |
| 2 | [ | ||
| 3 | "2024-01-24", | ||
| 4 | "New documentation: <a href=\"/nextjs/\">Nextjs</a>" | ||
| 5 | ], | ||
| 2 | [ | 6 | [ |
| 3 | "2024-01-12", | 7 | "2024-01-12", |
| 4 | "New documentation: <a href=\"/hammerspoon/\">Hammerspoon</a>" | 8 | "New documentation: <a href=\"/hammerspoon/\">Hammerspoon</a>" |
| @@ -0,0 +1,14 @@ | |||
| 1 | module Docs | ||
| 2 | class Nextjs | ||
| 3 | class CleanHtmlFilter < Filter | ||
| 4 | def call | ||
| 5 | css('.zola-anchor').remove | ||
| 6 | doc.prepend_child("<h1>htmx</h1>") if root_page? | ||
| 7 | css('div:contains("NEWS:")').remove | ||
| 8 | css('h2:contains("sponsors"), #sponsor-table').remove | ||
| 9 | end | ||
| 10 | doc | ||
| 11 | |||
| 12 | end | ||
| 13 | end | ||
| 14 | end | ||
| @@ -0,0 +1,13 @@ | |||
| 1 | module Docs | ||
| 2 | class Nextjs | ||
| 3 | class EntriesFilter < Docs::EntriesFilter | ||
| 4 | def get_name | ||
| 5 | at_css('h1').content | ||
| 6 | end | ||
| 7 | |||
| 8 | def get_type | ||
| 9 | get_name | ||
| 10 | end | ||
| 11 | end | ||
| 12 | end | ||
| 13 | end | ||
| @@ -0,0 +1,10 @@ | |||
| 1 | module Docs | ||
| 2 | class Nextjs < UrlScraper | ||
| 3 | self.name = 'nextjs`' | ||
| 4 | self.type = 'simple' | ||
| 5 | self.release = 'v14.1.0' | ||
| 6 | self.base_url = 'https://nextjs.org/docs' | ||
| 7 | self.initial_paths = %w(reference/) | ||
| 8 | html_filters.push 'nextjs/entries', 'nextjs/clean_html' | ||
| 9 | end | ||
| 10 | end | ||
Binary file not shown.
Binary file not shown.
| @@ -0,0 +1,2 @@ | |||
| 1 | https://assets.vercel.com/image/upload/v1662130559/nextjs/Icon_dark_background.png | ||
| 2 | https://github.com/vercel/next.js/blob/canary/examples/cms-enterspeed/public/favicon/favicon.ico | ||