Skip to content

Restructure developer docs by language#42

Merged
christophdb merged 18 commits intomainfrom
harmonize-dev-user-docs
Mar 19, 2026
Merged

Restructure developer docs by language#42
christophdb merged 18 commits intomainfrom
harmonize-dev-user-docs

Conversation

@christophdb
Copy link
Member

Summary

  • Navigation restructured by language (Python, JavaScript, PHP, Ruby, SQL, Plugins) instead of the old "Scripting vs. Client APIs" split
  • JavaScript APIs unified: Scripting API and Client API merged into one reference. They are essentially the same API with different execution contexts. Scripting-only features (context, output, utilities) on a dedicated page.
  • PHP split into Getting Started, Examples, and API Reference
  • SQL moved to its own top-level section (language-agnostic) and split into 7 focused pages
  • Python: documented 7 missing methods (filter, filter_rows, batch_add_links, batch_remove_links, send_email, get_related_users, get_setting_by_key), fixed broken links, merged thin pages (users into accounts, big_data into rows), then restored users as own page
  • All intro pages use section index pattern (clickable section names)
  • Landing page rewritten with language table, clean structure
  • CI: added muffet link checker before deploy (matching admin-docs setup)
  • Script examples and FAQ moved to seatable.com/help (separate PR in webservice-seatable-com)

What moved where

Content From To
13 script examples + FAQ developer docs seatable.com/help/scripts/
Coding for beginners developer docs seatable.com/help/scripts/
Python/JS/PHP reference scripts/ + clients/ python/ + javascript/ + php/
SQL reference python/sql/ sql/

Open items (not in this PR)

  • Redirects from old URLs (mkdocs-redirects plugin prepared but not activated)
  • Translations for the new help pages (es, fr, pt, ru)
  • Formatting standardization pass (Example style, parameter docs)

Test plan

  • Run mkdocs build --strict locally
  • Check navigation structure in browser
  • Verify all internal links work
  • Verify external links to seatable.com/help/ resolve

Reorganize the entire documentation from the old structure
(Scripting / Client APIs as top-level sections) to a language-first
structure (Python / JavaScript / PHP / Ruby).

- Python: unified section with new Getting Started covering both
  script and client authentication contexts
- JavaScript: single section with Scripting API and Client API subsections
- PHP and Ruby: moved from clients/ to own top-level sections
- New landing page focused on developers, with language selection table
- Examples and common questions removed (moved to user help at
  seatable.com/help/scripts/)
- Coding for beginners removed (moved to user help)
- All internal links updated to new paths
JavaScript: Merge Scripting API and Client API into a single reference.
The two APIs are essentially the same - only parameter names differed.
Methods unique to the browser context (context, output, utilities,
filter/queryset) are documented on a dedicated "Scripting Features" page.
Reduces 18 JS files to 11 with zero content duplication.

PHP: Split the single monolithic page into Getting Started,
Examples, and API Reference for better navigation.
The file upload example was a workaround for missing file support
in the seatable-api package. Move it to a dedicated "Files" page
that explains the limitation and documents the REST API workflow.
- Python: remove "Objects & Methods" and "Query with SQL" subgroups,
  list all pages flat like JavaScript. Remove objects/index.md intro
  page (content was redundant with Getting Started).
- PHP: remove index.md intro page, merge its content into
  Getting Started which is now the entry point.
- All sections now follow the same pattern: Getting Started as
  first page, then topic pages listed flat.
Move Getting Started content into index.md for each language so
clicking the section name in the sidebar shows the page directly
(using MkDocs Material navigation.indexes). Remove redundant
"-- Getting Started" from page titles.
Landing page: remove data model embed, deduplicate API reference
link, add Ruby to language table, fix broken Python link, use
example admonition for other languages hint.

Get support: fix email to sales@seatable.com, fix help URL,
clean up language.
Move comparison table above auth details for better overview.
Collapse account auth and expiration handling into detail boxes.
Remove libraries section (now covered by table row).
Remove indentation warning. Fix links.
Add comparison table matching Python structure. Remove generic
common errors section. Keep async and API limits as focused
sections. Remove scripting setup duplication.
Simplify auth flow to the common case (API Token to Base Token).
Collapse account-level auth and self-hosted setup into detail
boxes. Remove v0.2 incompatibility notice.
- Fix 5 broken links to removed common_questions.md (inline the
  advice instead)
- Fix "llink" typo throughout links.md
- Remove duplicate paragraph in rows.md (SQL backticks warning)
- Merge users.md (1 method) into accounts.md
- Merge big_data.md (1 method) into rows.md
Add documentation for methods that exist in seatable-api-python
source code but were missing from the developer docs:

- rows: filter(), filter_rows() for non-SQL row filtering
- links: batch_add_links(), batch_remove_links()
- communication-utils: send_email()
- accounts: get_related_users()
- context: get_setting_by_key()

Verified against github.com/seatable/seatable-api-python source.
Excluded internal methods (load_account_info) and niche features
(send_wechat_msg, workflow tasks) per product decision.
- Separate get_user_info and get_related_users back into users.md
  (they are Base methods, not Account methods)
- Move SQL docs from python/sql/ to sql/ as own top-level section
  (SQL is language-agnostic, used by both Python and JavaScript)
- Update all internal links to new SQL paths
SQL: Split the 299-line introduction.md into 6 focused pages:
introduction (overview), SELECT, INSERT/UPDATE/DELETE, clauses,
data types, and extended syntax. Functions reference unchanged.

Python: Restore users.md as separate page (get_user_info and
get_related_users are Base methods, not Account methods).
Make SQL section clickable by using index.md as section page.
Clarify that SQL is used through Python/JavaScript API, not
standalone. Remove redundant manual section links. Move backticks
hint to clauses page. Update all internal links.
Add muffet link checker that runs before deploy, matching the
setup from seatable-admin-docs. Deploy now depends on successful
link check. Also fix typo in workflow name (setable -> seatable).
Activate mkdocs-redirects plugin with complete mapping from old
scripts/*, clients/*, introduction/* paths to the new structure.
Examples redirect to the language intro page (content moved to
seatable.com/help). Remove unused mermaid test file.
@christophdb christophdb merged commit 8bad416 into main Mar 19, 2026
2 checks passed
@christophdb christophdb deleted the harmonize-dev-user-docs branch March 20, 2026 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant