[docs] Docs sidebar/navbar restructure (#27005)

* fix: minor title changes

* fix: updated structure of 2 pages

* fix: proposals page and submitting one

added proposals page and made it clear how to submit one

* fix: minor update to docs home page

* fix: footer links

added more footer links and minor restructure

* fix: sidebar restructure

* fix: removed duplicate geyser link

* fix: sidebars and navbar

final separation of sidebars and updated navbar

* fix: formatting for the navbar icons

* fix: changes some sidebar links to refs

* style: changed order of footer's SPL link

* style: removed comment and fixed whitespace check
This commit is contained in:
Nick Frostbutter 2022-08-15 22:23:39 -04:00 committed by GitHub
parent a0d1f4ef88
commit 5f195ba242
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 510 additions and 274 deletions

View File

@ -250,20 +250,12 @@ confused with 3-letter acronyms.
## Design Proposals
Solana's architecture is described by docs generated from markdown files in
the `docs/src/` directory, maintained by an *editor* (currently @garious). To
add a design proposal, you'll need to include it in the
[Accepted Design Proposals](https://docs.solana.com/proposals/accepted-design-proposals)
section of the Solana docs. Here's the full process:
Solana's architecture is described by docs generated from markdown files in the `docs/src/`
directory and viewable on the official [Solana Documentation](https://docs.solana.com) website.
1. Propose a design by creating a PR that adds a markdown document to the
`docs/src/proposals` directory and references it from the [table of
contents](docs/src/SUMMARY.md). Add any relevant *maintainers* to the PR
review.
2. The PR being merged indicates your proposed change was accepted and that the
maintainers support your plan of attack.
3. Submit PRs that implement the proposal. When the implementation reveals the
need for tweaks to the proposal, be sure to update the proposal and have that
change reviewed by the same people as in step 1.
4. Once the implementation is complete, submit a PR that moves the link from
the Accepted Proposals to the Implemented Proposals section.
Current design proposals may be viewed on the docs site:
1. [Accepted Proposals](https://docs.solana.com/proposals/accepted-design-proposals.md).
2. [Implemented Proposals](https://docs.solana.com/implemented-proposals/implemented-proposals.md)
New design proposals should follow this guide on [how to submit a design proposal](./docs/src/proposals.md#submit-a-design-proposal).

View File

@ -53,42 +53,62 @@ module.exports = {
},
items: [
{
href: "https://spl.solana.com",
label: "Program Library »",
position: "left",
},
{
to: "developing/programming-model/overview",
label: "Develop",
position: "left",
},
{
to: "running-validator",
label: "Validate",
position: "left",
},
{
to: "integrations/exchange",
label: "Integrate",
to: "introduction",
label: "Learn",
position: "left",
},
{
to: "cluster/overview",
label: "Learn",
label: "Architecture",
position: "left",
},
{
to: "cli",
label: "CLI",
position: "left",
},
{
to: "developing/programming-model/overview",
label: "Developers",
position: "left",
},
{
to: "running-validator",
label: "Validators",
position: "left",
},
{
label: "More",
position: "left",
items: [
{ label: "Terminology", to: "terminology" },
{ label: "Staking", to: "staking" },
{ label: "Integrations", to: "integrations/exchange" },
{ label: "Economics", to: "economics_overview" },
{ label: "Proposals", to: "proposals" },
{
href: "https://spl.solana.com",
label: "Solana Program Library »",
position: "left",
},
],
},
{
type: "localeDropdown",
position: "right",
},
{
href: "https://discordapp.com/invite/pquxPsq",
label: "Chat",
// label: "Discord",
className: "header-link-icon header-discord-link",
"aria-label": "Solana Discord",
position: "right",
},
{
href: "https://github.com/solana-labs/solana",
label: "GitHub",
// label: "GitHub",
className: "header-link-icon header-github-link",
"aria-label": "GitHub repository",
position: "right",
},
],
@ -103,37 +123,69 @@ module.exports = {
style: "dark",
links: [
{
title: "Docs",
title: "Documentation",
items: [
{
label: "Introduction",
label: "Learn",
to: "introduction",
},
{
label: "Developers",
to: "developing/programming-model/overview",
},
{
label: "Validators",
to: "running-validator",
},
{
label: "Command Line",
to: "cli",
},
{
label: "Architecture",
to: "cluster/overview",
},
],
},
{
title: "Community",
items: [
{
label: "Discord",
label: "Stack Exchange »",
href: "https://solana.stackexchange.com/",
},
{
label: "GitHub »",
href: "https://github.com/solana-labs/solana",
},
{
label: "Discord »",
href: "https://discordapp.com/invite/pquxPsq",
},
{
label: "Twitter",
label: "Twitter »",
href: "https://twitter.com/solana",
},
{
label: "Forums",
label: "Forums »",
href: "https://forums.solana.com",
},
],
},
{
title: "More",
title: "Resources",
items: [
{
label: "GitHub",
href: "https://github.com/solana-labs/solana",
label: "Proposals",
to: "proposals",
},
{
label: "Integrations",
to: "integrations/exchange",
},
{
href: "https://spl.solana.com",
label: "Solana Program Library »",
},
],
},

View File

@ -1,203 +1,307 @@
module.exports = {
docs: {
About: ["introduction", "terminology", "history"],
Wallets: [
"wallet-guide",
{
type: "category",
label: "Command-line Wallets",
items: [
"wallet-guide/cli",
"wallet-guide/paper-wallet",
{
type: "category",
label: "Hardware Wallets",
items: [
"wallet-guide/hardware-wallets",
"wallet-guide/hardware-wallets/ledger",
],
},
"wallet-guide/file-system-wallet",
],
},
"wallet-guide/support",
],
Staking: ["staking", "staking/stake-accounts"],
"Command Line": [
"cli",
"cli/install-solana-cli-tools",
"cli/conventions",
"cli/choose-a-cluster",
"cli/transfer-tokens",
"cli/delegate-stake",
"cli/deploy-a-program",
"offline-signing",
"offline-signing/durable-nonce",
"cli/usage",
],
Developing: [
{
type: "category",
label: "Programming Model",
items: [
"developing/programming-model/overview",
"developing/programming-model/transactions",
"developing/programming-model/accounts",
"developing/programming-model/runtime",
"developing/programming-model/calling-between-programs",
],
},
{
type: "category",
label: "Clients",
items: [
"developing/clients/jsonrpc-api",
"developing/clients/javascript-api",
"developing/clients/javascript-reference",
"developing/clients/rust-api",
],
},
{
type: "category",
label: "Runtime Facilities",
items: [
"developing/runtime-facilities/programs",
"developing/runtime-facilities/sysvars",
],
},
{
type: "category",
label: "On-chain Programs",
items: [
"developing/on-chain-programs/overview",
"developing/on-chain-programs/developing-rust",
"developing/on-chain-programs/developing-c",
"developing/on-chain-programs/deploying",
"developing/on-chain-programs/debugging",
"developing/on-chain-programs/examples",
"developing/on-chain-programs/faq",
],
},
"developing/test-validator",
"developing/backwards-compatibility",
"developing/plugins/geyser-plugins",
],
Integrating: [
"integrations/exchange",
"integrations/retrying-transactions",
],
Validating: [
"running-validator",
"running-validator/validator-reqs",
"running-validator/validator-start",
"running-validator/vote-accounts",
"running-validator/validator-stake",
"running-validator/validator-monitor",
"running-validator/validator-info",
"running-validator/validator-failover",
"running-validator/validator-troubleshoot",
],
Clusters: [
"clusters",
"cluster/rpc-endpoints",
"cluster/bench-tps",
"cluster/performance-metrics",
],
Architecture: [
{
type: "category",
label: "Cluster",
items: [
"cluster/overview",
"cluster/synchronization",
"cluster/leader-rotation",
"cluster/fork-generation",
"cluster/managing-forks",
"cluster/turbine-block-propagation",
"cluster/vote-signing",
"cluster/stake-delegation-and-rewards",
],
},
{
type: "category",
label: "Validator",
items: [
"validator/anatomy",
"validator/tpu",
"validator/tvu",
"validator/blockstore",
"validator/gossip",
"validator/runtime",
],
},
],
Economics: [
"economics_overview",
{
type: "category",
label: "Inflation Design",
items: [
"inflation/terminology",
"inflation/inflation_schedule",
"inflation/adjusted_staking_yield",
],
},
"transaction_fees",
"storage_rent_economics",
],
"Design Proposals": [
{
type: "category",
label: "Implemented",
items: [
"implemented-proposals/implemented-proposals",
"implemented-proposals/abi-management",
"implemented-proposals/bank-timestamp-correction",
"implemented-proposals/commitment",
"implemented-proposals/durable-tx-nonces",
"implemented-proposals/installer",
"implemented-proposals/instruction_introspection",
"implemented-proposals/leader-leader-transition",
"implemented-proposals/leader-validator-transition",
"implemented-proposals/persistent-account-storage",
"implemented-proposals/readonly-accounts",
"implemented-proposals/reliable-vote-transmission",
"implemented-proposals/rent",
"implemented-proposals/repair-service",
"implemented-proposals/rpc-transaction-history",
"implemented-proposals/snapshot-verification",
"implemented-proposals/staking-rewards",
"implemented-proposals/testing-programs",
"implemented-proposals/tower-bft",
"implemented-proposals/transaction-fees",
"implemented-proposals/validator-timestamp-oracle",
],
},
{
type: "category",
label: "Accepted",
items: [
"proposals/accepted-design-proposals",
"proposals/bankless-leader",
"proposals/block-confirmation",
"proposals/cluster-test-framework",
"proposals/embedding-move",
"proposals/handle-duplicate-block",
"proposals/interchain-transaction-verification",
"proposals/ledger-replication-to-implement",
"proposals/optimistic-confirmation-and-slashing",
"proposals/optimistic_confirmation",
"proposals/rip-curl",
"proposals/rust-clients",
"proposals/simple-payment-and-state-verification",
"proposals/slashing",
"proposals/snapshot-verification",
"proposals/tick-verification",
"proposals/transactions-v2",
"proposals/validator-proposal",
"proposals/vote-signing-to-implement",
],
},
],
},
introdutionSidebar: [
{
type: "category",
collapsed: false,
label: "Introduction to Solana",
items: [
{
type: "doc",
id: "introduction",
label: "What is Solana?",
},
// This will be the future home for the economics overview page
// {
// type: "doc",
// id: "economics_overview",
// label: "How do the economics work?",
// },
{
type: "doc",
id: "history",
label: "History of Solana",
},
],
},
{
type: "category",
collapsed: false,
label: "Getting started with Solana",
items: [
{
type: "doc",
id: "wallet-guide",
label: "Wallets",
},
// This will be the future home of the `staking` page, with the introductory info on what staking on Solana looks like
// {
// type: "doc",
// id: "staking",
// label: "Staking",
// },
],
},
{
type: "category",
collapsed: false,
label: "Dive into Solana",
items: [
"terminology",
{
type: "ref",
label: "Developers",
id: "developing/programming-model/overview",
},
{
type: "ref",
label: "Validators",
id: "running-validator",
},
{
type: "ref",
label: "Command Line",
id: "cli",
},
{
type: "ref",
label: "Economics",
id: "economics_overview",
},
{
type: "ref",
label: "Proposals",
id: "proposals",
},
],
},
],
developingSidebar: [
{
type: "doc",
id: "developing/programming-model/overview",
label: "Overview",
},
{
type: "category",
label: "Core Concepts",
// collapsed: false,
items: [
"developing/programming-model/transactions",
"developing/programming-model/accounts",
"developing/programming-model/calling-between-programs",
"developing/programming-model/runtime",
],
},
{
type: "category",
label: "Clients",
items: [
"developing/clients/jsonrpc-api",
"developing/clients/javascript-api",
"developing/clients/javascript-reference",
"developing/clients/rust-api",
],
},
{
type: "category",
label: "Writing Programs",
items: [
"developing/on-chain-programs/overview",
"developing/on-chain-programs/developing-rust",
"developing/on-chain-programs/developing-c",
{
type: "doc",
label: "Deploying",
id: "developing/on-chain-programs/deploying",
},
{
type: "doc",
label: "Debugging",
id: "developing/on-chain-programs/debugging",
},
"developing/on-chain-programs/examples",
"developing/on-chain-programs/faq",
],
},
{
type: "category",
label: "Native Programs",
items: [
{
type: "doc",
label: "Overview",
id: "developing/runtime-facilities/programs",
},
"developing/runtime-facilities/sysvars",
],
},
{
type: "category",
label: "Local Development",
collapsed: false,
items: ["developing/test-validator"],
},
"developing/backwards-compatibility",
],
validatorsSidebar: [
"running-validator",
{
type: "category",
label: "Getting Started",
collapsed: false,
items: ["running-validator/validator-reqs"],
},
{
type: "category",
label: "Voting Setup",
collapsed: false,
items: [
"running-validator/validator-start",
"running-validator/vote-accounts",
"running-validator/validator-stake",
"running-validator/validator-monitor",
"running-validator/validator-info",
"running-validator/validator-failover",
"running-validator/validator-troubleshoot",
],
},
{
type: "category",
label: "Geyser",
collapsed: false,
items: ["developing/plugins/geyser-plugins"],
},
],
cliSidebar: [
"cli",
"cli/install-solana-cli-tools",
"cli/install-solana-cli-tools",
{
type: "category",
label: "Command-line Wallets",
items: [
"wallet-guide/cli",
"wallet-guide/paper-wallet",
{
type: "category",
label: "Hardware Wallets",
items: [
"wallet-guide/hardware-wallets",
"wallet-guide/hardware-wallets/ledger",
],
},
"wallet-guide/file-system-wallet",
"wallet-guide/support",
],
},
"cli/conventions",
"cli/choose-a-cluster",
"cli/transfer-tokens",
"cli/delegate-stake",
"cli/deploy-a-program",
"offline-signing",
"offline-signing/durable-nonce",
"cli/usage",
],
architectureSidebar: [
{
type: "doc",
label: "What is a Solana Cluster?",
id: "cluster/overview",
},
{
type: "category",
label: "Clusters",
collapsed: false,
items: [
"clusters",
{
type: "doc",
label: "RPC Endpoints",
id: "cluster/rpc-endpoints",
},
"cluster/bench-tps",
"cluster/performance-metrics",
],
},
{
type: "category",
label: "Consensus",
collapsed: false,
items: [
"cluster/synchronization",
"cluster/leader-rotation",
"cluster/fork-generation",
"cluster/managing-forks",
"cluster/turbine-block-propagation",
"cluster/vote-signing",
"cluster/stake-delegation-and-rewards",
],
},
{
type: "category",
label: "Validators",
collapsed: false,
items: [
{
type: "doc",
label: "Overview",
id: "validator/anatomy",
},
"validator/tpu",
"validator/tvu",
"validator/blockstore",
"validator/gossip",
"validator/runtime",
],
},
],
"Design Proposals": [
"proposals",
{
type: "category",
label: "Accepted Proposals",
collapsed: true,
items: [
{
type: "autogenerated",
dirName: "proposals",
},
],
},
{
type: "category",
label: "Implemented Proposals",
collapsed: true,
items: [
{
type: "autogenerated",
dirName: "implemented-proposals",
},
],
},
],
stakingSidebar: ["staking", "staking/stake-accounts"],
integratingSidebar: [
"integrations/exchange",
"integrations/retrying-transactions",
],
economicsSidebar: [
{
type: "doc",
id: "economics_overview",
// label: "How do the economics work?",
},
{
type: "category",
label: "Inflation Design",
items: [
"inflation/terminology",
"inflation/inflation_schedule",
"inflation/adjusted_staking_yield",
],
},
"transaction_fees",
"storage_rent_economics",
],
};

View File

@ -7,7 +7,7 @@
/* You can override the default Infima variables here. */
@import url('https://fonts.googleapis.com/css2?family=Roboto');
@import url("https://fonts.googleapis.com/css2?family=Roboto");
:root {
--ifm-color-primary: #25c2a0;
@ -19,15 +19,18 @@
--ifm-color-primary-lightest: #abd5c6;
--ifm-code-font-size: 95%;
--ifm-spacing-horizontal: 1em;
--ifm-font-family-base: "Roboto", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
--ifm-font-family-base: "Roboto", system-ui, -apple-system, Segoe UI, Roboto,
Ubuntu, Cantarell, Noto Sans, sans-serif, BlinkMacSystemFont, "Segoe UI",
Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
"Segoe UI Symbol";
--ifm-footer-background-color: #232323;
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(1.5rem); }
0% {
opacity: 0;
transform: translateY(1.5rem);
}
}
main {
@ -48,10 +51,9 @@ main {
animation-delay: 150ms;
transition-property: all;
transition-duration: 200ms;
box-shadow: 0 8px 28px 4px rgba(86,91,115,0.15);
box-shadow: 0 8px 28px 4px rgba(86, 91, 115, 0.15);
}
.card a {
text-decoration: none;
}
@ -69,5 +71,32 @@ footer .text--center {
}
.card__header h3 {
color: #1DD79B;
}
color: #1dd79b;
}
.header-link-icon:before {
content: "";
display: flex;
height: 24px;
width: 24px;
background-position: center center;
}
.header-link-icon {
padding: 0.4em !important;
}
[data-theme="dark"] .header-github-link:before {
background: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23fff' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")
no-repeat;
}
.header-github-link:before {
background: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")
no-repeat;
}
[data-theme="dark"] .header-discord-link:before {
background: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 640 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23fff' d='M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z'/%3E%3C/svg%3E")
no-repeat center;
}
.header-discord-link:before {
background: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 640 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z'/%3E%3C/svg%3E")
no-repeat center;
}

View File

@ -1,5 +1,5 @@
---
title: "Debugging"
title: "Debugging Programs"
---
Solana programs run on-chain, so debugging them in the wild can be challenging.

View File

@ -1,5 +1,5 @@
---
title: "Deploying"
title: "Deploying Programs"
---
![SDK tools](/img/sdk-tools.svg)
@ -11,7 +11,7 @@ clients via a _program ID_. The program ID is an _address_ specified when
deploying and is used to reference the program in subsequent transactions.
Upon a successful deployment the account that holds the program is marked
executable. If the program is marked "final", its account data become permanently
executable. If the program is marked "final", its account data become permanently
immutable. If any changes are required to the finalized program (features, patches,
etc...) the new program must be deployed to a new program ID.

View File

@ -1,5 +1,5 @@
---
title: "Examples"
title: "Program Examples"
---
## Helloworld

View File

@ -1,9 +1,15 @@
---
title: Implemented Design Proposals
sidebar_position: 1
sidebar_label: Overview
---
The following architectural proposals have been accepted and implemented
by the Solana team. Any designs that may be subject to future change are noted
in the specific proposal page.
Design proposals that have been accepted but not yet implemented are found in
[Accepted Proposals](../proposals/accepted-design-proposals.md).
These architectural proposals have been accepted and implemented by the Solana maintainers. Any designs that may be subject to future change are noted in the specific proposal page.
## Not Yet Implemented
Design proposals that have been accepted but not yet implemented are found in [Accepted Proposals](../proposals/accepted-design-proposals.md).
## Submit a New Proposal
To submit a new design proposal, consult this guide on [how to submit a design proposal](../proposals.md#submit-a-design-proposal).

View File

@ -26,7 +26,7 @@ function Home() {
<div className="card__header">
<h3>
<Translate description="start-building">
Start Building
Start Developing
</Translate>
</h3>
</div>
@ -34,7 +34,7 @@ function Home() {
<p>
<Translate description="get-started-building">
Get started building your decentralized app or
marketplace.
marketplace with Solana.
</Translate>
</p>
</div>
@ -129,7 +129,7 @@ function Home() {
</Link>
</div>
<div className={clsx("col col--4", styles.feature)}>
<Link className="navbar__link" to="cluster/overview">
<Link className="navbar__link" to="introduction">
<div className="card">
<div className="card__header">
<h3>

49
docs/src/proposals.md Normal file
View File

@ -0,0 +1,49 @@
---
title: System Design Proposals
---
Changes to the Solana architecture are performed through a public proposal process (via pull requests) on the [Solana GitHub repository](https://github.com/solana-labs/solana). New proposals should be submitted with the "[Submit a Design Proposal](#submit-a-design-proposal)" guide below.
There are currently two different states of these design proposals:
1. [Accepted Proposals](./proposals/accepted-design-proposals.md)
2. [Implemented Proposals](./implemented-proposals/implemented-proposals.md)
## Accepted Proposals
These architectural proposals have been accepted by the Solana team, but are not yet fully implemented.
Each proposal may be implemented as described, implemented differently as issues in the designs become evident, or not implemented at all. If implemented, the proposal will be moved to [Implemented Proposals](./implemented-proposals/implemented-proposals.md) and the details will be added to relevant sections of the docs.
## Implemented Proposals
These architectural proposals have been accepted and implemented by the Solana team.
Any designs that may be subject to future change are noted in their specific proposal page.
## Submit a Design Proposal
To submit a new design proposal for Solana:
1. Propose a design by creating a PR that adds a markdown document to the `docs/src/proposals` directory.
2. Add any relevant Solana maintainers to the PR review.
3. Publish the PR for community review and feedback.
> **NOTE:** All people submitting PRs to the Solana repo should consult the [CONTRIBUTING](https://github.com/solana-labs/solana/blob/master/CONTRIBUTING.md) doc in the repo.
### After Accepted
Once a design proposal has been accepted, the PR will be merged into the `master` branch of the Solana repo. This also signifies the maintainers support your plan of attack.
> **NOTE:** The merging of the PR will **automatically** create a link in the "Accepted Proposals" table of contents sidebar.
> Once approved, continue to submit PRs that implement the proposal. When the implementation reveals the need for tweaks to the proposal, be sure to update the "accepted proposal" document and have these change reviewed by the same approving maintainers.
### After Implemented
After a proposal has been fully implemented into the Solana architecture, a PR should be created to perform the following:
1. Move the newly implemented proposal file from `docs/src/proposals` to `docs/src/implemented-proposals`
2. Create a new redirect in the `publish-docs.sh` to redirect the old `accepted` proposal page to the new `implemented-proposal` page
3. Publish the PR
> **NOTE:** Moving the proposal document into the `implemented-proposals` directory will **automatically** move the link in the "Accepted Proposals" table of contents sidebar to the "Implemented Proposals" sidebar.

View File

@ -1,11 +1,15 @@
---
title: Accepted Design Proposals
sidebar_position: 1
sidebar_label: Overview
---
The following architectural proposals have been accepted by the Solana team,
but are not yet fully implemented.
The proposals may be implemented as described, implemented differently as
issues in the designs become evident, or not implemented at all.
If implemented, the proposal will be moved to
[Implemented Proposals](../implemented-proposals/implemented-proposals.md)
and the details will be added to relevant sections of the docs.
These architectural proposals have been accepted by the Solana maintainers, but are not yet fully implemented. These proposals may be implemented as described, implemented differently as issues in the designs become evident, or not implemented at all.
## After Implemented
Once a proposal has been implemented, it will be moved to [Implemented Proposals](../implemented-proposals/implemented-proposals.md) and the details will be added to relevant sections of the docs.
## Submit a New Proposal
To submit a new design proposal, consult this guide on [how to submit a design proposal](../proposals.md#submit-a-design-proposal).