docs: full switch from mkdocs to zensical
This commit is contained in:
+12
-14
@@ -1,25 +1,23 @@
|
|||||||
# Read the Docs configuration file
|
# See https://docs.readthedocs.com/platform/stable/intro/zensical.html for details
|
||||||
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
|
# Example: https://github.com/readthedocs/test-builds/tree/zensical
|
||||||
|
|
||||||
# Required
|
|
||||||
version: 2
|
version: 2
|
||||||
|
|
||||||
# Set the OS, Python version, and other tools you might need
|
|
||||||
build:
|
build:
|
||||||
os: ubuntu-24.04
|
os: ubuntu-24.04
|
||||||
apt_packages:
|
apt_packages:
|
||||||
- pngquant
|
- pngquant
|
||||||
tools:
|
tools:
|
||||||
python: "3.13"
|
python: "3.13"
|
||||||
|
jobs:
|
||||||
# Build documentation with Mkdocs
|
|
||||||
mkdocs:
|
|
||||||
configuration: mkdocs.yml
|
|
||||||
|
|
||||||
# Optionally, but recommended,
|
|
||||||
# declare the Python requirements required to build your documentation
|
|
||||||
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
|
|
||||||
python:
|
|
||||||
install:
|
install:
|
||||||
- requirements: docs/requirements.txt
|
- pip install -r docs/requirements.txt
|
||||||
|
build:
|
||||||
|
html:
|
||||||
|
- zensical build
|
||||||
|
post_build:
|
||||||
|
- mkdir -p $READTHEDOCS_OUTPUT/html/
|
||||||
|
- cp --recursive site/* $READTHEDOCS_OUTPUT/html/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
-180
@@ -1,180 +0,0 @@
|
|||||||
site_name: Scrapling
|
|
||||||
site_description: Scrapling - Easy, effortless Web Scraping as it should be!
|
|
||||||
site_author: Karim Shoair
|
|
||||||
repo_url: https://github.com/D4Vinci/Scrapling
|
|
||||||
site_url: https://scrapling.readthedocs.io/en/latest/
|
|
||||||
repo_name: D4Vinci/Scrapling
|
|
||||||
copyright: Copyright © 2025 Karim Shoair - <a href="#__consent">Change cookie settings</a>
|
|
||||||
|
|
||||||
theme:
|
|
||||||
name: material
|
|
||||||
language: en
|
|
||||||
logo: assets/logo.png
|
|
||||||
favicon: assets/favicon.ico
|
|
||||||
palette:
|
|
||||||
scheme: slate
|
|
||||||
primary: black
|
|
||||||
accent: deep purple
|
|
||||||
font:
|
|
||||||
text: Open Sans
|
|
||||||
code: JetBrains Mono
|
|
||||||
icon:
|
|
||||||
repo: fontawesome/brands/github-alt
|
|
||||||
features:
|
|
||||||
- announce.dismiss
|
|
||||||
- navigation.top
|
|
||||||
- navigation.footer
|
|
||||||
- navigation.instant
|
|
||||||
- navigation.indexes
|
|
||||||
- navigation.sections
|
|
||||||
- navigation.tracking
|
|
||||||
- navigation.instant
|
|
||||||
- navigation.instant.prefetch
|
|
||||||
- navigation.instant.progress
|
|
||||||
# - navigation.tabs
|
|
||||||
# - navigation.expand
|
|
||||||
# - toc.integrate
|
|
||||||
- search.share
|
|
||||||
- search.suggest
|
|
||||||
- search.highlight
|
|
||||||
- content.tabs.link
|
|
||||||
- content.width.full
|
|
||||||
- content.action.view
|
|
||||||
- content.action.edit
|
|
||||||
- content.code.copy
|
|
||||||
- content.code.select
|
|
||||||
- content.code.annotate
|
|
||||||
- content.code.annotation
|
|
||||||
|
|
||||||
nav:
|
|
||||||
- Introduction: index.md
|
|
||||||
- Overview: overview.md
|
|
||||||
- What's New in v0.3: 'https://github.com/D4Vinci/Scrapling/releases/tag/v0.3'
|
|
||||||
- Performance Benchmarks: benchmarks.md
|
|
||||||
- User Guide:
|
|
||||||
- Parsing:
|
|
||||||
- Querying elements: parsing/selection.md
|
|
||||||
- Main classes: parsing/main_classes.md
|
|
||||||
- Adaptive scraping: parsing/adaptive.md
|
|
||||||
- Fetching:
|
|
||||||
- Fetchers basics: fetching/choosing.md
|
|
||||||
- HTTP requests: fetching/static.md
|
|
||||||
- Dynamic websites: fetching/dynamic.md
|
|
||||||
- Dynamic websites with hard protections: fetching/stealthy.md
|
|
||||||
- Command Line Interface:
|
|
||||||
- Overview: cli/overview.md
|
|
||||||
- Interactive shell: cli/interactive-shell.md
|
|
||||||
- Extract commands: cli/extract-commands.md
|
|
||||||
- Integrations:
|
|
||||||
- AI MCP server: ai/mcp-server.md
|
|
||||||
- Tutorials:
|
|
||||||
- A Free Alternative to AI for Robust Web Scraping: tutorials/replacing_ai.md
|
|
||||||
- Migrating from BeautifulSoup: tutorials/migrating_from_beautifulsoup.md
|
|
||||||
- Using Scrapeless browser: tutorials/external.md
|
|
||||||
# - Migrating from AutoScraper: tutorials/migrating_from_autoscraper.md
|
|
||||||
- Development:
|
|
||||||
- API Reference:
|
|
||||||
- Selector: api-reference/selector.md
|
|
||||||
- Fetchers: api-reference/fetchers.md
|
|
||||||
- MCP Server: api-reference/mcp-server.md
|
|
||||||
- Custom Types: api-reference/custom-types.md
|
|
||||||
- Writing your retrieval system: development/adaptive_storage_system.md
|
|
||||||
- Using Scrapling's custom types: development/scrapling_custom_types.md
|
|
||||||
- Support and Advertisement: donate.md
|
|
||||||
- Contributing: 'https://github.com/D4Vinci/Scrapling/blob/main/CONTRIBUTING.md'
|
|
||||||
- Changelog: 'https://github.com/D4Vinci/Scrapling/releases'
|
|
||||||
|
|
||||||
markdown_extensions:
|
|
||||||
- admonition
|
|
||||||
- abbr
|
|
||||||
# - mkautodoc
|
|
||||||
- pymdownx.emoji
|
|
||||||
- pymdownx.details
|
|
||||||
- pymdownx.superfences
|
|
||||||
- pymdownx.highlight:
|
|
||||||
anchor_linenums: true
|
|
||||||
- pymdownx.inlinehilite
|
|
||||||
- pymdownx.snippets
|
|
||||||
- pymdownx.tabbed:
|
|
||||||
alternate_style: true
|
|
||||||
- tables
|
|
||||||
- codehilite:
|
|
||||||
css_class: highlight
|
|
||||||
- toc:
|
|
||||||
permalink: true
|
|
||||||
|
|
||||||
plugins:
|
|
||||||
- search
|
|
||||||
- privacy:
|
|
||||||
links: false
|
|
||||||
- optimize
|
|
||||||
- social:
|
|
||||||
cards_layout_options:
|
|
||||||
background_color: "#1f1f1f"
|
|
||||||
font_family: Roboto
|
|
||||||
- mkdocstrings:
|
|
||||||
handlers:
|
|
||||||
python:
|
|
||||||
paths: [scrapling]
|
|
||||||
options:
|
|
||||||
docstring_style: sphinx
|
|
||||||
show_source: true
|
|
||||||
show_root_heading: true
|
|
||||||
show_if_no_docstring: true
|
|
||||||
inherited_members: true
|
|
||||||
members_order: source
|
|
||||||
separate_signature: true
|
|
||||||
unwrap_annotated: true
|
|
||||||
filters:
|
|
||||||
- '!^_'
|
|
||||||
- "^__"
|
|
||||||
merge_init_into_class: true
|
|
||||||
docstring_section_style: spacy
|
|
||||||
signature_crossrefs: true
|
|
||||||
show_symbol_type_heading: true
|
|
||||||
show_symbol_type_toc: true
|
|
||||||
show_inheritance_diagram: true
|
|
||||||
modernize_annotations: true
|
|
||||||
extensions:
|
|
||||||
- griffe_runtime_objects
|
|
||||||
- griffe_sphinx
|
|
||||||
- griffe_inherited_docstrings:
|
|
||||||
merge: true
|
|
||||||
|
|
||||||
extra:
|
|
||||||
homepage: https://scrapling.readthedocs.io/en/latest/
|
|
||||||
social:
|
|
||||||
- icon: fontawesome/brands/github
|
|
||||||
link: https://github.com/D4Vinci/Scrapling
|
|
||||||
- icon: fontawesome/brands/python
|
|
||||||
link: https://pypi.org/project/scrapling/
|
|
||||||
- icon: fontawesome/brands/x-twitter
|
|
||||||
link: https://x.com/Scrapling_dev
|
|
||||||
- icon: fontawesome/brands/discord
|
|
||||||
link: https://discord.gg/EMgGbDceNQ
|
|
||||||
analytics:
|
|
||||||
provider: google
|
|
||||||
property: G-CS3DKLY73Z
|
|
||||||
feedback:
|
|
||||||
title: Was this page helpful?
|
|
||||||
ratings:
|
|
||||||
- icon: material/emoticon-happy-outline
|
|
||||||
name: This page was helpful
|
|
||||||
data: 1
|
|
||||||
note: >-
|
|
||||||
Thanks for your feedback!
|
|
||||||
- icon: material/emoticon-sad-outline
|
|
||||||
name: This page could be improved
|
|
||||||
data: 0
|
|
||||||
note: >-
|
|
||||||
Thanks for your feedback!
|
|
||||||
consent:
|
|
||||||
title: Cookie consent
|
|
||||||
description: >-
|
|
||||||
We use cookies to recognize your repeated visits and preferences, as well
|
|
||||||
as to measure the effectiveness of our documentation and whether users
|
|
||||||
find what they're searching for. With your consent, you're helping us to
|
|
||||||
make our documentation better.
|
|
||||||
|
|
||||||
extra_css:
|
|
||||||
- stylesheets/extra.css
|
|
||||||
+214
@@ -0,0 +1,214 @@
|
|||||||
|
[project]
|
||||||
|
site_name = "Scrapling"
|
||||||
|
site_description = "Scrapling - Easy, effortless Web Scraping as it should be!"
|
||||||
|
site_author = "Karim Shoair"
|
||||||
|
repo_url = "https://github.com/D4Vinci/Scrapling"
|
||||||
|
site_url = "https://scrapling.readthedocs.io/en/latest/"
|
||||||
|
repo_name = "D4Vinci/Scrapling"
|
||||||
|
copyright = "Copyright © 2025 Karim Shoair - <a href=\"#__consent\">Change cookie settings</a>"
|
||||||
|
docs_dir = "docs"
|
||||||
|
use_directory_urls = false
|
||||||
|
exclude_docs = """
|
||||||
|
README*.md
|
||||||
|
"""
|
||||||
|
extra_css = ["stylesheets/extra.css"]
|
||||||
|
|
||||||
|
nav = [
|
||||||
|
{Introduction = "index.md"},
|
||||||
|
{Overview = "overview.md"},
|
||||||
|
{"What's New in v0.3" = "https://github.com/D4Vinci/Scrapling/releases/tag/v0.3"},
|
||||||
|
{"Performance Benchmarks" = "benchmarks.md"},
|
||||||
|
{"User Guide" = [
|
||||||
|
{Parsing = [
|
||||||
|
{"Querying elements" = "parsing/selection.md"},
|
||||||
|
{"Main classes" = "parsing/main_classes.md"},
|
||||||
|
{"Adaptive scraping" = "parsing/adaptive.md"}
|
||||||
|
]},
|
||||||
|
{Fetching = [
|
||||||
|
{"Fetchers basics" = "fetching/choosing.md"},
|
||||||
|
{"HTTP requests" = "fetching/static.md"},
|
||||||
|
{"Dynamic websites" = "fetching/dynamic.md"},
|
||||||
|
{"Dynamic websites with hard protections" = "fetching/stealthy.md"}
|
||||||
|
]},
|
||||||
|
{"Command Line Interface" = [
|
||||||
|
{Overview = "cli/overview.md"},
|
||||||
|
{"Interactive shell" = "cli/interactive-shell.md"},
|
||||||
|
{"Extract commands" = "cli/extract-commands.md"}
|
||||||
|
]},
|
||||||
|
{Integrations = [
|
||||||
|
{"AI MCP server" = "ai/mcp-server.md"}
|
||||||
|
]}
|
||||||
|
]},
|
||||||
|
{Tutorials = [
|
||||||
|
{"A Free Alternative to AI for Robust Web Scraping" = "tutorials/replacing_ai.md"},
|
||||||
|
{"Migrating from BeautifulSoup" = "tutorials/migrating_from_beautifulsoup.md"},
|
||||||
|
{"Using Scrapeless browser" = "tutorials/external.md"}
|
||||||
|
]},
|
||||||
|
{Development = [
|
||||||
|
{"API Reference" = [
|
||||||
|
{Selector = "api-reference/selector.md"},
|
||||||
|
{Fetchers = "api-reference/fetchers.md"},
|
||||||
|
{"MCP Server" = "api-reference/mcp-server.md"},
|
||||||
|
{"Custom Types" = "api-reference/custom-types.md"}
|
||||||
|
]},
|
||||||
|
{"Writing your retrieval system" = "development/adaptive_storage_system.md"},
|
||||||
|
{"Using Scrapling's custom types" = "development/scrapling_custom_types.md"}
|
||||||
|
]},
|
||||||
|
{"Support and Advertisement" = "donate.md"},
|
||||||
|
{Contributing = "https://github.com/D4Vinci/Scrapling/blob/main/CONTRIBUTING.md"},
|
||||||
|
{Changelog = "https://github.com/D4Vinci/Scrapling/releases"}
|
||||||
|
]
|
||||||
|
|
||||||
|
[project.theme]
|
||||||
|
language = "en"
|
||||||
|
logo = "assets/logo.png"
|
||||||
|
favicon = "assets/favicon.ico"
|
||||||
|
features = [
|
||||||
|
"navigation.path",
|
||||||
|
"announce.dismiss",
|
||||||
|
"navigation.top",
|
||||||
|
"navigation.footer",
|
||||||
|
"navigation.indexes",
|
||||||
|
"navigation.sections",
|
||||||
|
"navigation.tracking",
|
||||||
|
"navigation.instant",
|
||||||
|
"navigation.instant.prefetch",
|
||||||
|
"navigation.instant.progress",
|
||||||
|
# "navigation.tabs",
|
||||||
|
# "navigation.expand",
|
||||||
|
# "toc.integrate",
|
||||||
|
"search.share",
|
||||||
|
"search.suggest",
|
||||||
|
"search.highlight",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[project.theme.palette]]
|
||||||
|
media = "(prefers-color-scheme: light)"
|
||||||
|
scheme = "default"
|
||||||
|
accent = "green"
|
||||||
|
primary = "deep purple"
|
||||||
|
toggle.icon = "lucide/sun"
|
||||||
|
toggle.name = "Switch to dark mode"
|
||||||
|
|
||||||
|
[[project.theme.palette]]
|
||||||
|
media = "(prefers-color-scheme: dark)"
|
||||||
|
scheme = "slate"
|
||||||
|
accent = "light green"
|
||||||
|
primary = "deep purple"
|
||||||
|
toggle.icon = "lucide/moon"
|
||||||
|
toggle.name = "Switch to light mode"
|
||||||
|
|
||||||
|
# Uncomment if needed:
|
||||||
|
# [project.theme.font]
|
||||||
|
# text = "Open Sans"
|
||||||
|
# code = "JetBrains Mono"
|
||||||
|
|
||||||
|
[project.markdown_extensions.pymdownx.caret]
|
||||||
|
[project.markdown_extensions.pymdownx.mark]
|
||||||
|
[project.markdown_extensions.pymdownx.tilde]
|
||||||
|
[project.markdown_extensions.admonition]
|
||||||
|
[project.markdown_extensions.abbr]
|
||||||
|
#[project.markdown_extensions.mkautodoc]
|
||||||
|
[project.markdown_extensions.pymdownx.details]
|
||||||
|
[project.markdown_extensions.pymdownx.superfences]
|
||||||
|
[project.markdown_extensions.pymdownx.inlinehilite]
|
||||||
|
[project.markdown_extensions.pymdownx.snippets]
|
||||||
|
[project.markdown_extensions.tables]
|
||||||
|
|
||||||
|
[project.markdown_extensions.pymdownx.emoji]
|
||||||
|
emoji_index = "zensical.extensions.emoji.twemoji"
|
||||||
|
emoji_generator = "zensical.extensions.emoji.to_svg"
|
||||||
|
|
||||||
|
[project.markdown_extensions.pymdownx.highlight]
|
||||||
|
pygments_lang_class = true
|
||||||
|
anchor_linenums = true
|
||||||
|
line_spans = "__span"
|
||||||
|
|
||||||
|
[project.markdown_extensions.pymdownx.tabbed]
|
||||||
|
alternate_style = true
|
||||||
|
|
||||||
|
[project.markdown_extensions.codehilite]
|
||||||
|
css_class = "highlight"
|
||||||
|
|
||||||
|
[project.markdown_extensions.toc]
|
||||||
|
title = "On this page"
|
||||||
|
permalink = true
|
||||||
|
toc_depth = 3
|
||||||
|
|
||||||
|
[project.plugins.mkdocstrings.handlers.python]
|
||||||
|
inventories = ["https://docs.python.org/3/objects.inv"]
|
||||||
|
paths = ["scrapling"]
|
||||||
|
|
||||||
|
[project.plugins.mkdocstrings.handlers.python.options]
|
||||||
|
docstring_style = "sphinx"
|
||||||
|
show_source = true
|
||||||
|
show_root_heading = true
|
||||||
|
show_if_no_docstring = true
|
||||||
|
inherited_members = true
|
||||||
|
members_order = "source"
|
||||||
|
separate_signature = true
|
||||||
|
unwrap_annotated = true
|
||||||
|
filters = "public"
|
||||||
|
merge_init_into_class = true
|
||||||
|
docstring_section_style = "spacy"
|
||||||
|
signature_crossrefs = true
|
||||||
|
show_symbol_type_heading = true
|
||||||
|
show_symbol_type_toc = true
|
||||||
|
show_inheritance_diagram = true
|
||||||
|
modernize_annotations = true
|
||||||
|
extensions = [
|
||||||
|
"griffe_runtime_objects",
|
||||||
|
"griffe_sphinx",
|
||||||
|
{griffe_inherited_docstrings = {merge = true}}
|
||||||
|
]
|
||||||
|
|
||||||
|
[[project.extra.social]]
|
||||||
|
icon = "fontawesome/brands/github"
|
||||||
|
link = "https://github.com/D4Vinci/Scrapling"
|
||||||
|
|
||||||
|
[[project.extra.social]]
|
||||||
|
icon = "fontawesome/brands/x-twitter"
|
||||||
|
link = "https://x.com/Scrapling_dev"
|
||||||
|
|
||||||
|
[[project.extra.social]]
|
||||||
|
icon = "fontawesome/brands/discord"
|
||||||
|
link = "https://discord.gg/EMgGbDceNQ"
|
||||||
|
|
||||||
|
[[project.extra.social]]
|
||||||
|
icon = "fontawesome/brands/python"
|
||||||
|
link = "https://pypi.org/project/scrapling/"
|
||||||
|
|
||||||
|
[[project.extra.social]]
|
||||||
|
icon = "fontawesome/brands/docker"
|
||||||
|
link = "https://hub.docker.com/r/pyd4vinci/scrapling"
|
||||||
|
|
||||||
|
[project.extra.analytics]
|
||||||
|
provider = "google"
|
||||||
|
property = "G-CS3DKLY73Z"
|
||||||
|
|
||||||
|
[project.extra.analytics.feedback]
|
||||||
|
title = "Was this page helpful?"
|
||||||
|
|
||||||
|
[[project.extra.analytics.feedback.ratings]]
|
||||||
|
icon = "material/heart"
|
||||||
|
name = "This page was helpful"
|
||||||
|
data = 1
|
||||||
|
note = "Thanks for your feedback!"
|
||||||
|
|
||||||
|
[[project.extra.analytics.feedback.ratings]]
|
||||||
|
icon = "material/heart-broken"
|
||||||
|
name = "This page could be improved"
|
||||||
|
data = 0
|
||||||
|
note = """
|
||||||
|
Thanks for your feedback! Help us improve this page by
|
||||||
|
using our <a href="..." target="_blank" rel="noopener">feedback form</a>.
|
||||||
|
""" # TODO: add a new issue template for the docs
|
||||||
|
|
||||||
|
[project.extra.consent]
|
||||||
|
title = "Cookie consent"
|
||||||
|
description = """
|
||||||
|
We use cookies to recognize your repeated visits and preferences, as well
|
||||||
|
as to measure the effectiveness of our documentation and whether users
|
||||||
|
find what they're searching for. With your consent, you're helping us to
|
||||||
|
make our documentation better.
|
||||||
|
"""
|
||||||
Reference in New Issue
Block a user