Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[docs] docs migration #34096

Merged
merged 103 commits into from
Dec 11, 2023
Merged

[docs] docs migration #34096

merged 103 commits into from
Dec 11, 2023

Conversation

nickfrosty
Copy link
Contributor

@nickfrosty nickfrosty commented Nov 15, 2023

Problem

The current monorepo documentation are very heavily tied to a single validator client implementation, not the multi-client world that is rapidly approaching.

Summary of Changes

This monorepo's documentation is being split into two documentation websites:

  1. the "common docs" of all the application developer details and other information that is for Solana as a protocol, including details that would be true and consistent across multiple validator client implementations
  2. the "validator client docs" for the specific validator client implementation within this monorepo

Since this migration requires separation of content into two repositories, this repo and the solana-foundation/developer-content repo and will affect the commit history and change traceability, I setup the developer-content repo to maximize the visibility of the docs content changes that will reside in that repo.

Below is a detailed account of all changes. Including which documentation resources will reside in which repo and screenshots of the navigation structure for each documentation site.

Generally speaking, there were only select list of changes made:

  • relocation of documents to the new "common docs" url (i.e. solana.com/docs which is yet to be launched)
  • reorganization of documents that remained within this monorepo (i.e. changed file names or folders for the files)
  • updating all applicable page routes and links to reflect
  • updated the navigation to reflect new page routes
  • updated on page SEO metadata for documents (i.e. the YAML front matter)
  • corrections of typos or formatting changes via the prettier config
  • a few minor clarification changes that are specifically noted below

Merging of PRs

To not having conflicting results on search engines or breakdown the developer experience of using this documentation, both of these PRs should be merged in their respective repos together and require some minor further coordination.

Common docs

The common docs PR (solana-foundation/developer-content#31) contains all the documents that will be re-homed at the yet to-be-launched on solana.com/docs url

  • minor adjustments to code blocks to support displaying proper syntax highlighting when displayed on the front end website
  • converted the Docusaurus specific callout syntax (i.e. ::: annotation) to use regular markdown block quotes
  • multiple documents were relocated to the Developer Guides section of solana.com. they are now deleted from within the docs to prevent duplication of content
  • the /clusters/rpc-endpoints.md and /clusters.md docs were combined into one
    • clarified portions of text around "Solana Labs" operating the listed public endpoints, vice
      "Solana-operated"
    • added disclaimer about the specific rate limits not being guaranteed to be up-to-date
    • did not include the details about benchmarking clusters or running validators via the cli
    • added additional explorer links
  • /wallet-guide - minor update to the text about supporting wallets and where to find some options
    • also renamed mentions of private key to secret key
  • the JSON RPC docs:
    • the commitment level details, "RpcResponse Structure", "Parsed Responses", and "Filter
      criteria" sections were all moved to the /doc/rpc root page since this commitment details are
      common across all HTTP and websocket RPC methods
    • re ordered some of the remaining content on the /docs/http/index page to make the flow of
      reading it more clear
    • removed several redundant links on the jsonParsed encoding where the encoding field was
      already linked just above
    • moved the complex json data structures used throughout the rpc docs to a single file called
      json-structures
      • these originally existed in the getBlock document

The following is a detailed list of the relocation of each document that was taken out of this repo and re-homed to the "common docs" repo:

Note: All final routes listed in this table assume the prefix of solana.com/docs

initial route (from monorepo) final route route change?
/index /index yes
/terminology /terminology yes
/introduction /intro/index yes
/wallet-guide /intro/wallets yes
/history /intro/history yes
/economics_overview /intro/economics yes
/storage_rent_economics /intro/economics yes
/transaction_fees /intro/transaction_fees yes
/developing/intro/programs /core/programs yes
/developing/intro/rent /core/rent yes
/developing/programming-model/accounts /core/accounts yes
/developing/programming-model/calling-between-programs /core/cpi yes
/developing/programming-model/overview DELETED redirect to /intro/dev
/developing/programming-model/runtime /core/runtime yes
/developing/programming-model/transactions /core/transactions yes
/developing/intro/transaction_fees /core/transactions/fees yes
/developing/transaction_confirmation /core/transactions/confirmation yes
/developing/versioned-transactions /core/transactions/versions yes
/integrations/retrying-transactions /core/transactions/retry yes
/developing/guides/compressed-nfts DELETED redirect to dev guide
/wallet-guide/support DELETED redirect to /intro/wallets
/developing/lookup-tables /advanced/lookup-tables yes
/learn/state-compression /advanced/state-compression yes
/developing/on-chain-programs/overview /programs/index yes
/developing/on-chain-programs/debugging /programs/debugging yes
/developing/on-chain-programs/deploying /programs/deploying yes
/developing/on-chain-programs/examples /programs/examples yes
/developing/on-chain-programs/faq /programs/faq yes
/developing/on-chain-programs/limitations /programs/limitations yes
/developing/on-chain-programs/developing-rust /programs/lang-rust yes
/developing/on-chain-programs/developing-c /programs/lang-c yes
/developing/clients/javascript-reference /clients/javascript-reference yes
/developing/clients/javascript-api /clients/javascript yes
/developing/clients/rust-api /clients/rust yes
/getstarted/overview /intro/dev yes
/getstarted/hello-world DELETED redirect to dev guides
/getstarted/local DELETED redirect to dev guides
/getstarted/rust DELETED redirect to dev guides
/clusters/rpc-endpoints /core/clusters yes (see note)
/staking /economics/staking yes
/staking/* /economics/staking/* yes
/inflation/* /economics/inflation/* yes
/integrations/exchange /more/exchange yes
/api/* /rpc/* yes
[page added] /rpc/json-structures n/a (see note)

Validator client docs

This PR (#34096) contains all the documents that will be remaining within this monorepo and continue to be coupled with the releases of the validator client in this monorepo.

  • The updated sidebar is now largely a unified auto generated at build time (aside from the proposals that have a separate auto generated sidebar)
  • numerous _category_.json files were created that facilitate the auto generated sidebars. these are effectively just metadata.
  • there are a few pages that GH displayed as newly created documents in the diff, even though they were file renames (e.g. docs/src/operations/validator-or-rpc-node.md)

The following is a detailed list of the relocation of each document within this repo:

initial route (from monorepo) final route route change?
/cli/install-solana-cli-tools /cli/install yes
/cli/conventions /cli/intro.md yes
/cli/choose-a-cluster.md /cli/examples/choose-a-cluster.md yes
/cli/delegate-stake.md /cli/examples/delegate-stake.md yes
/cli/sign-offchain-message.md /cli/examples/sign-offchain-message.md yes
/cli/deploy-a-program.md /cli/examples/deploy-a-program.md yes
/cli/transfer-tokens.md /cli/examples/transfer-tokens.md yes
/offline-signing.md /cli/examples/offline-signing.md yes
/offline-signing/durable-nonce.md /cli/examples/durable-nonce.md yes
/developing/test-validator.md /cli/examples/test-validator.md yes
/wallet-guide/cli /cli/wallets/index.md yes
/wallet-guide/paper-wallet /cli/wallets/paper.md yes
/wallet-guide/file-system-wallet /cli/wallets/file-system.md yes
/wallet-guide/hardware-wallet /cli/wallets/hardware-wallet/index.md yes
/wallet-guide/hardware-wallet/ledger /cli/wallets/hardware-wallet/ledger.md yes
/implemented-proposals/implemented-proposals.md /implemented-proposals/index.md yes
[page added] /architecture.md n/a
/cluster/overview.md /clusters/index.md yes
/clusters.md /clusters/available.md yes
/cluster/bench-tps.md /clusters/benchmark.md yes
/cluster/performance-metrics.md /clusters/metrics.md yes
/running-validator.md /operations/index.md yes
/validator/get-started/setup-a-validator.md /operations/setup-a-validator.md yes
/validator/get-started/setup-an-rpc-node.md /operations/setup-an-rpc-node.md yes
/validator/best-practices/operations.md /operations/best-practices/general.md yes
/validator/best-practices/monitoring.md /operations/best-practices/monitoring.md yes
/validator/best-practices/security.md /operations/best-practices/security.md yes
/validator/overview/running-validator-or-rpc-node.md /operations/validator-or-rpc-node.md yes
/validator/overview/validator-prerequisites.md /operations/prerequisites.md yes
/validator/overview/validator-initiatives.md /operations/validator-initiatives.md yes
/running-validator/validator-reqs.md /operations/requirements.md yes
/running-validator/validator-troubleshoot.md /operations/guides/validator-troubleshoot.md yes
/running-validator/validator-start.md /operations/guides/validator-start.md yes
/running-validator/vote-accounts.md /operations/guides/vote-accounts.md yes
/running-validator/validator-stake.md /operations/guides/validator-stake.md yes
/running-validator/validator-monitor.md /operations/guides/validator-monitor.md yes
/running-validator/validator-info.md /operations/guides/validator-info.md yes
/running-validator/validator-failover.md /operations/guides/validator-failover.md yes
/running-validator/restart-cluster.md /operations/guides/restart-cluster.md yes
/cluster/synchronization.md /consensus/synchronization.md yes
/cluster/leader-rotation.md /consensus/leader-rotation.md yes
/cluster/fork-generation.md /consensus/fork-generation.md yes
/cluster/managing-forks.md /consensus/managing-forks.md yes
/cluster/turbine-block-propagation.md /consensus/turbine-block-propagation.md yes
/cluster/commitments.md /consensus/commitments.md yes
/cluster/vote-signing.md /consensus/vote-signing.md yes
/cluster/stake-delegation-and-rewards.md /consensus/stake-delegation-and-rewards.md yes
/developing/backwards-compatibility.md /backwards-compatibility.md yes
/validator/faq.md /faq.md yes
/developing/plugins/geyser-plugins.md /validator/geyser.md yes
/validator/overview/what-is-an-rpc-node.md /what-is-an-rpc-node.md yes
/validator/overview/what-is-a-validator.md /what-is-a-validator.md yes
/developing/runtime-facilities/programs.md /runtime/programs.md yes
/developing/runtime-facilities/sysvars.md /runtime/sysvars.md yes
/developing/runtime-facilities/zk-token-proof.md /runtime/zk-token-proof.md yes
Screenshots

@nickfrosty nickfrosty changed the title [wip] docs migration [docs] docs migration Dec 1, 2023
@nickfrosty nickfrosty marked this pull request as ready for review December 1, 2023 18:17
nickfrosty and others added 3 commits December 7, 2023 09:56
* docs: (cli) minor updates to deploy-a-program.md

* address review comments

* remove unnecessary impl details from the docs about deploy command upgrade flow

* clarify program redeploy section

---------

Co-authored-by: norwnd <norwnd>
willhickey
willhickey previously approved these changes Dec 8, 2023
Copy link
Contributor

@willhickey willhickey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved.

willhickey
willhickey previously approved these changes Dec 11, 2023
@willhickey willhickey merged commit 676e80c into solana-labs:master Dec 11, 2023
7 of 9 checks passed
@nickfrosty nickfrosty deleted the docs-migration branch December 11, 2023 20:21
ilya-bobyr added a commit that referenced this pull request Dec 16, 2023
Our sanity CI check is unhappy about it.

These were added in

    commit https://github.com/ilya-bobyr/solana/commit/676e80c80a914c6f41a4f5d12f419d35a8047dd8
    Author: Nick Frostbutter <[email protected]>
    Date:   Mon Dec 11 15:17:13 2023 -0500

        [docs] docs migration (#34096)

Seems like CI marked the original change as having an issue, but it was
still submitted.
@marceljay
Copy link
Contributor

marceljay commented Dec 30, 2023

@nickfrosty main docs website https://docs.solana.com/ link to this repo here: https://github.com/solana-labs/solana
I assume the url should be changed?

@nickfrosty
Copy link
Contributor Author

This PR shifts the general Solana docs to a new location. All detailed in the PR description...

@marceljay
Copy link
Contributor

marceljay commented Jan 9, 2024

This PR shifts the general Solana docs to a new location. All detailed in the PR description...

I'm aware of that, however, the hyperlink in the top menu bar was not changed, and gives the impression that "docs.solona.com" are deployed from https://github.com/solana-labs/solana, but that is not correct anymore.

image

crossdev24 pushed a commit to crossdev24/solana that referenced this pull request Jun 24, 2024
Our sanity CI check is unhappy about it.

These were added in

    commit https://github.com/ilya-bobyr/solana/commit/676e80c80a914c6f41a4f5d12f419d35a8047dd8
    Author: Nick Frostbutter <[email protected]>
    Date:   Mon Dec 11 15:17:13 2023 -0500

        [docs] docs migration (solana-labs/solana#34096)

Seems like CI marked the original change as having an issue, but it was
still submitted.
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.