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 | 7 | "2024-01-12", |
| 4 | 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 | |