Skip to content

Commit bba0c65

Browse files
committed
Revert "replace dev docs links yaml with json"
This reverts commit 026911e.
1 parent 85c4f1c commit bba0c65

File tree

8 files changed

+262
-471
lines changed

8 files changed

+262
-471
lines changed

overrides.d.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
// declare module "./src/data/developerDocsLinks.json" {
2-
// import { DeveloperDocsLink } from "./src/types"
3-
// const content: Array<DeveloperDocsLink>
4-
// export default content
5-
// }
1+
declare module "*developer-docs-links.yaml" {
2+
import { DeveloperDocsLink } from "./src/types"
3+
const content: Array<DeveloperDocsLink>
4+
export default content
5+
}
66

77
declare module "*.mp4" {
88
const src: string

src/components/DeveloperDocsLinks.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,15 @@ import React from "react"
22
import { ListItem, UnorderedList } from "@chakra-ui/react"
33
import Translation from "./Translation"
44
import Link from "./Link"
5-
import { DeveloperDocsLink } from "../types"
6-
7-
import docLinks from "../data/developerDocsLinks.json"
5+
import docLinks from "../data/developer-docs-links.yaml"
86

97
export interface IProps {
108
headerId: string
119
}
1210

1311
const DeveloperDocsLinks: React.FC<IProps> = ({ headerId }) => (
1412
<React.Fragment>
15-
{(docLinks as Array<DeveloperDocsLink>)
13+
{docLinks
1614
.filter(({ id }) => id.includes(headerId))
1715
.map(({ items, id }) => (
1816
<UnorderedList ml={6} spacing={3} key={id}>
@@ -28,7 +26,7 @@ const DeveloperDocsLinks: React.FC<IProps> = ({ headerId }) => (
2826
)}
2927
<i>
3028
{" – "}
31-
<Translation id={description!} />
29+
<Translation id={description} />
3230
</i>
3331
<UnorderedList
3432
ml={6}

src/components/DocsNav.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import Link from "./Link"
1313
import Emoji from "./Emoji"
1414
import Translation from "./Translation"
1515

16-
import docLinks from "../data/developerDocsLinks.json"
16+
import docLinks from "../data/developer-docs-links.yaml"
1717
import { DeveloperDocsLink } from "../types"
1818
import { TranslationKey } from "../utils/translations"
1919

@@ -102,13 +102,13 @@ const DocsNav: React.FC<IProps> = ({ relativePath }) => {
102102
getDocs(item.items)
103103
} else {
104104
// If object has no further 'items', add and continue
105-
docsArray.push({ to: item.to!, id: item.id })
105+
docsArray.push({ to: item.to, id: item.id })
106106
}
107107
}
108108
}
109109

110-
// Initiate recursive loop with full docLinks json
111-
getDocs(docLinks as Array<DeveloperDocsLink>)
110+
// Initiate recursive loop with full docLinks yaml
111+
getDocs(docLinks)
112112

113113
// Find index that matches current page
114114
let currentIndex = 0

src/components/SideNav.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import Link from "./Link"
88
import Translation from "./Translation"
99
import { dropdownIconContainerVariant } from "./SharedStyledComponents"
1010

11-
import docLinks from "../data/developerDocsLinks.json"
11+
import docLinks from "../data/developer-docs-links.yaml"
1212
import { translateMessageId } from "../utils/translations"
1313
import { DeveloperDocsLink } from "../types"
1414

@@ -87,7 +87,7 @@ export interface IPropsNavLink {
8787
}
8888

8989
const NavLink: React.FC<IPropsNavLink> = ({ item, path }) => {
90-
const isLinkInPath = path.includes(item.to!) || path.includes(item.path)
90+
const isLinkInPath = path.includes(item.to) || path.includes(item.path)
9191
const [isOpen, setIsOpen] = useState<boolean>(isLinkInPath)
9292

9393
useEffect(() => {
@@ -158,7 +158,7 @@ const SideNav: React.FC<IProps> = ({ path }) => {
158158

159159
return (
160160
<Nav aria-label={translateMessageId("nav-developers-docs", intl)}>
161-
{(docLinks as Array<DeveloperDocsLink>).map((item, idx) => (
161+
{docLinks.map((item, idx) => (
162162
<NavLink item={item} path={path} key={idx} />
163163
))}
164164
</Nav>

src/components/SideNavMobile.tsx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { isLang } from "../utils/languages"
99
import { dropdownIconContainerVariant } from "./SharedStyledComponents"
1010
import { IPropsNavLink as INavLinkProps } from "./SideNav"
1111

12-
import docLinks from "../data/developerDocsLinks.json"
12+
import docLinks from "../data/developer-docs-links.yaml"
1313
import { DeveloperDocsLink } from "../types"
1414
import { TranslationKey } from "../utils/translations"
1515

@@ -182,10 +182,7 @@ const SideNavMobile: React.FC<IProps> = ({ path }) => {
182182
if (isLang(pagePath.split("/")[1])) {
183183
pagePath = pagePath.substring(3)
184184
}
185-
let pageTitleId = getPageTitleId(
186-
pagePath,
187-
docLinks as Array<DeveloperDocsLink>
188-
)
185+
let pageTitleId = getPageTitleId(pagePath, docLinks)
189186
if (!pageTitleId) {
190187
console.warn(`No id found for "pagePath": `, pagePath)
191188
pageTitleId = `Change page` as TranslationKey
@@ -222,7 +219,7 @@ const SideNavMobile: React.FC<IProps> = ({ path }) => {
222219
},
223220
}}
224221
>
225-
{(docLinks as Array<DeveloperDocsLink>).map((item, idx) => (
222+
{docLinks.map((item, idx) => (
226223
<NavLink
227224
item={item}
228225
path={path}

src/data/developer-docs-links.yaml

Lines changed: 242 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,242 @@
1+
# This is the source file for developer documentation nav links
2+
# Each `id` value should map to an equivalent key in src/intl/${lang}.json file
3+
4+
# To display item as a collapsable directory vs. a link
5+
# use the `path` property (of the directory) vs. the `to` property
6+
- id: docs-nav-readme
7+
to: /developers/docs/
8+
- id: docs-nav-foundational-topics
9+
path: /developers/docs/
10+
items:
11+
- id: docs-nav-intro-to-ethereum
12+
to: /developers/docs/intro-to-ethereum/
13+
description: docs-nav-intro-to-ethereum-description
14+
- id: docs-nav-intro-to-ether
15+
to: /developers/docs/intro-to-ether/
16+
description: docs-nav-intro-to-ether-description
17+
- id: docs-nav-intro-to-dapps
18+
to: /developers/docs/dapps/
19+
description: docs-nav-intro-to-dapps-description
20+
- id: docs-nav-web2-vs-web3
21+
to: /developers/docs/web2-vs-web3/
22+
description: docs-nav-web2-vs-web3-description
23+
- id: docs-nav-accounts
24+
to: /developers/docs/accounts/
25+
description: docs-nav-accounts-description
26+
- id: docs-nav-transactions
27+
to: /developers/docs/transactions/
28+
description: docs-nav-transactions-description
29+
- id: docs-nav-blocks
30+
to: /developers/docs/blocks/
31+
description: docs-nav-blocks-description
32+
- id: docs-nav-evm
33+
to: /developers/docs/evm/
34+
description: docs-nav-evm-description
35+
items:
36+
- id: docs-nav-opcodes
37+
to: /developers/docs/evm/opcodes
38+
- id: docs-nav-gas
39+
to: /developers/docs/gas/
40+
description: docs-nav-gas-description
41+
- id: docs-nav-nodes-and-clients
42+
to: /developers/docs/nodes-and-clients/
43+
description: docs-nav-nodes-and-clients-description
44+
items:
45+
- id: docs-nav-run-a-node
46+
to: /developers/docs/nodes-and-clients/run-a-node/
47+
- id: docs-nav-client-diversity
48+
to: /developers/docs/nodes-and-clients/client-diversity/
49+
- id: docs-nav-nodes-as-a-service
50+
to: /developers/docs/nodes-and-clients/nodes-as-a-service/
51+
- id: docs-nav-node-architecture
52+
to: /developers/docs/nodes-and-clients/node-architecture/
53+
- id: docs-nav-networks
54+
to: /developers/docs/networks/
55+
description: docs-nav-networks-description
56+
- id: docs-nav-consensus-mechanisms
57+
to: /developers/docs/consensus-mechanisms/
58+
description: docs-nav-consensus-mechanisms-description
59+
items:
60+
- id: docs-nav-proof-of-work
61+
to: /developers/docs/consensus-mechanisms/pow/
62+
items:
63+
- id: docs-nav-mining
64+
to: /developers/docs/consensus-mechanisms/pow/mining/
65+
items:
66+
- id: docs-nav-mining-algorithms
67+
to: /developers/docs/consensus-mechanisms/pow/mining-algorithms/
68+
items:
69+
- id: docs-nav-dagger-hashimoto
70+
to: /developers/docs/consensus-mechanisms/pow/mining-algorithms/dagger-hashimoto
71+
- id: docs-nav-ethash
72+
to: /developers/docs/consensus-mechanisms/pow/mining-algorithms/ethash
73+
- id: docs-nav-proof-of-stake
74+
to: /developers/docs/consensus-mechanisms/pos/
75+
items:
76+
- id: docs-nav-gasper
77+
to: /developers/docs/consensus-mechanisms/pos/gasper/
78+
- id: docs-nav-weak-subjectivity
79+
to: /developers/docs/consensus-mechanisms/pos/weak-subjectivity/
80+
- id: docs-nav-attestations
81+
to: /developers/docs/consensus-mechanisms/pos/attestations
82+
- id: docs-nav-rewards-and-penalties
83+
to: /developers/docs/consensus-mechanisms/pos/rewards-and-penalties/
84+
- id: docs-nav-attack-and-defense
85+
to: /developers/docs/consensus-mechanisms/pos/attack-and-defense/
86+
- id: docs-nav-keys
87+
to: /developers/docs/consensus-mechanisms/pos/keys/
88+
- id: docs-nav-pos-vs-pow
89+
to: /developers/docs/consensus-mechanisms/pos/pos-vs-pow
90+
- id: docs-nav-block-proposal
91+
to: /developers/docs/consensus-mechanisms/pos/block-proposal/
92+
- id: docs-nav-pos-faqs
93+
to: /developers/docs/consensus-mechanisms/pos/faqs
94+
- id: docs-nav-ethereum-stack
95+
path: /developers/docs/
96+
items:
97+
- id: docs-nav-intro-to-the-stack
98+
to: /developers/docs/ethereum-stack/
99+
description: docs-nav-intro-to-the-stack-description
100+
- id: docs-nav-smart-contracts
101+
to: /developers/docs/smart-contracts/
102+
description: docs-nav-smart-contracts-description
103+
items:
104+
- id: docs-nav-smart-contract-languages
105+
to: /developers/docs/smart-contracts/languages/
106+
- id: docs-nav-smart-contract-anatomy
107+
to: /developers/docs/smart-contracts/anatomy/
108+
- id: docs-nav-smart-contracts-libraries
109+
to: /developers/docs/smart-contracts/libraries/
110+
- id: docs-nav-testing-smart-contracts
111+
to: /developers/docs/smart-contracts/testing/
112+
- id: docs-nav-compiling-smart-contracts
113+
to: /developers/docs/smart-contracts/compiling/
114+
- id: docs-nav-deploying-smart-contracts
115+
to: /developers/docs/smart-contracts/deploying/
116+
- id: docs-nav-verifying-smart-contracts
117+
to: /developers/docs/smart-contracts/verifying/
118+
- id: docs-nav-upgrading-smart-contracts
119+
to: /developers/docs/smart-contracts/upgrading/
120+
- id: docs-nav-smart-contract-security
121+
to: /developers/docs/smart-contracts/security/
122+
description: docs-nav-smart-contract-security-description
123+
- id: docs-nav-smart-contract-formal-verification
124+
to: /developers/docs/smart-contracts/formal-verification/
125+
description: docs-nav-smart-contract-formal-verification-description
126+
- id: docs-nav-composability
127+
to: /developers/docs/smart-contracts/composability/
128+
- id: docs-nav-development-networks
129+
to: /developers/docs/development-networks/
130+
description: docs-nav-development-networks-description
131+
- id: docs-nav-development-frameworks
132+
to: /developers/docs/frameworks/
133+
description: docs-nav-development-frameworks-description
134+
- id: docs-nav-ethereum-client-apis
135+
description: docs-nav-ethereum-client-apis-description
136+
items:
137+
- id: docs-nav-java-script-apis
138+
to: /developers/docs/apis/javascript/
139+
- id: docs-nav-backend-apis
140+
to: /developers/docs/apis/backend/
141+
- id: docs-nav-json-rpc
142+
to: /developers/docs/apis/json-rpc/
143+
- id: docs-nav-data-and-analytics
144+
to: /developers/docs/data-and-analytics/
145+
description: docs-nav-data-and-analytics-description
146+
items:
147+
- id: docs-nav-block-explorers
148+
to: /developers/docs/data-and-analytics/block-explorers/
149+
- id: docs-nav-storage
150+
to: /developers/docs/storage/
151+
description: docs-nav-storage-description
152+
- id: docs-nav-integrated-development-environments-ides
153+
to: /developers/docs/ides/
154+
description: docs-nav-integrated-development-environments-ides-description
155+
- id: docs-nav-programming-languages
156+
to: /developers/docs/programming-languages/
157+
description: docs-nav-programming-languages-description
158+
items:
159+
- id: docs-nav-dart
160+
to: /developers/docs/programming-languages/dart/
161+
- id: docs-nav-delphi
162+
to: /developers/docs/programming-languages/delphi/
163+
- id: docs-nav-dot-net
164+
to: /developers/docs/programming-languages/dot-net/
165+
- id: docs-nav-golang
166+
to: /developers/docs/programming-languages/golang/
167+
- id: docs-nav-java
168+
to: /developers/docs/programming-languages/java/
169+
- id: docs-nav-javascript
170+
to: /developers/docs/programming-languages/javascript/
171+
- id: docs-nav-python
172+
to: /developers/docs/programming-languages/python/
173+
- id: docs-nav-ruby
174+
to: /developers/docs/programming-languages/ruby/
175+
- id: docs-nav-rust
176+
to: /developers/docs/programming-languages/rust/
177+
- id: docs-nav-advanced
178+
path: /developers/docs/
179+
items:
180+
- id: docs-nav-bridges
181+
to: /developers/docs/bridges/
182+
description: docs-nav-bridges-description
183+
- id: docs-nav-standards
184+
to: /developers/docs/standards/
185+
description: docs-nav-standards-description
186+
items:
187+
- id: docs-nav-token-standards
188+
to: /developers/docs/standards/tokens/
189+
items:
190+
- id: docs-nav-erc-20
191+
to: /developers/docs/standards/tokens/erc-20/
192+
- id: docs-nav-erc-721
193+
to: /developers/docs/standards/tokens/erc-721/
194+
- id: docs-nav-erc-777
195+
to: /developers/docs/standards/tokens/erc-777/
196+
- id: docs-nav-erc-1155
197+
to: /developers/docs/standards/tokens/erc-1155/
198+
- id: docs-nav-erc-4626
199+
to: /developers/docs/standards/tokens/erc-4626/
200+
- id: docs-nav-mev
201+
to: /developers/docs/mev/
202+
description: docs-nav-mev-description
203+
- id: docs-nav-oracles
204+
to: /developers/docs/oracles/
205+
description: docs-nav-oracles-description
206+
- id: docs-nav-scaling
207+
to: /developers/docs/scaling/
208+
description: docs-nav-scaling-description
209+
items:
210+
- id: docs-nav-scaling-optimistic-rollups
211+
to: /developers/docs/scaling/optimistic-rollups/
212+
- id: docs-nav-scaling-zk-rollups
213+
to: /developers/docs/scaling/zk-rollups
214+
- id: docs-nav-scaling-channels
215+
to: /developers/docs/scaling/state-channels/
216+
- id: docs-nav-scaling-sidechains
217+
to: /developers/docs/scaling/sidechains/
218+
- id: docs-nav-scaling-plasma
219+
to: /developers/docs/scaling/plasma/
220+
- id: docs-nav-scaling-validium
221+
to: /developers/docs/scaling/validium/
222+
- id: docs-nav-data-availability
223+
to: /developers/docs/data-availability/
224+
description: docs-nav-data-availability-description
225+
- id: docs-nav-networking-layer
226+
to: /developers/docs/networking-layer/
227+
description: docs-nav-networking-layer-description
228+
items:
229+
- id: docs-nav-networking-layer-network-addresses
230+
to: /developers/docs/networking-layer/network-addresses/
231+
- id: docs-nav-data-structures-and-encoding
232+
to: /developers/docs/data-structures-and-encoding/
233+
description: docs-nav-data-structures-and-encoding-description
234+
items:
235+
- id: docs-nav-data-structures-and-encoding-patricia-merkle-trie
236+
to: /developers/docs/data-structures-and-encoding/patricia-merkle-trie/
237+
- id: docs-nav-data-structures-and-encoding-rlp
238+
to: /developers/docs/data-structures-and-encoding/rlp/
239+
- id: docs-nav-data-structures-and-encoding-ssz
240+
to: /developers/docs/data-structures-and-encoding/ssz/
241+
- id: docs-nav-data-structures-and-encoding-web3-secret-storage
242+
to: /developers/docs/data-structures-and-encoding/web3-secret-storage/

0 commit comments

Comments
 (0)