Skip to content

Commit bc75542

Browse files
authored
YNU-756 & YNU-757: Fix broken favicon and edit page links (#109)
## What Back in Sept 2025 (commit 40b54de), a bulk asset update accidentally replaced the real favicon.ico with an SVG placeholder. Browsers couldn't parse it, so the tab icon was broken on all pages. The "Edit this page" link also still pointed to the default Docusaurus template repo. ## Changes - Replaced the placeholder favicon.ico with the actual Yellow Network favicon (pulled from yellow.org) - Fixed the edit link URL to point to github.com/layer-3/docs instead of the Docusaurus template repo - Renamed "Edit this page" to "Suggest a fix" (via i18n translation override) ## Testing Verified locally that: - Favicon loads correctly on all pages, including direct links with anchors - "Suggest a fix" link opens the correct .mdx file in the layer-3/docs repo on GitHub
1 parent 6436cb6 commit bc75542

5 files changed

Lines changed: 418 additions & 3 deletions

File tree

docusaurus.config.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,8 @@ const config: Config = {
6161
docs: {
6262
sidebarPath: './sidebars.ts',
6363
routeBasePath: '/docs',
64-
// Please change this to your repo.
65-
// Remove this to remove the "edit this page" links.
6664
editUrl:
67-
'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/',
65+
'https://github.com/layer-3/docs/tree/master/',
6866
sidebarCollapsed: false,
6967
sidebarCollapsible: false,
7068
breadcrumbs: true,

i18n/en/code.json

Lines changed: 329 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,329 @@
1+
{
2+
"theme.docs.sidebar.closeSidebarButtonAriaLabel": {
3+
"message": "Close navigation bar",
4+
"description": "The ARIA label for close button of mobile sidebar"
5+
},
6+
"theme.ErrorPageContent.title": {
7+
"message": "This page crashed.",
8+
"description": "The title of the fallback page when the page crashed"
9+
},
10+
"theme.BackToTopButton.buttonAriaLabel": {
11+
"message": "Scroll back to top",
12+
"description": "The ARIA label for the back to top button"
13+
},
14+
"theme.blog.paginator.navAriaLabel": {
15+
"message": "Blog list page navigation",
16+
"description": "The ARIA label for the blog pagination"
17+
},
18+
"theme.blog.paginator.newerEntries": {
19+
"message": "Newer entries",
20+
"description": "The label used to navigate to the newer blog posts page (previous page)"
21+
},
22+
"theme.blog.paginator.olderEntries": {
23+
"message": "Older entries",
24+
"description": "The label used to navigate to the older blog posts page (next page)"
25+
},
26+
"theme.blog.archive.title": {
27+
"message": "Archive",
28+
"description": "The page & hero title of the blog archive page"
29+
},
30+
"theme.blog.archive.description": {
31+
"message": "Archive",
32+
"description": "The page & hero description of the blog archive page"
33+
},
34+
"theme.blog.post.paginator.navAriaLabel": {
35+
"message": "Blog post page navigation",
36+
"description": "The ARIA label for the blog posts pagination"
37+
},
38+
"theme.blog.post.paginator.newerPost": {
39+
"message": "Newer post",
40+
"description": "The blog post button label to navigate to the newer/previous post"
41+
},
42+
"theme.blog.post.paginator.olderPost": {
43+
"message": "Older post",
44+
"description": "The blog post button label to navigate to the older/next post"
45+
},
46+
"theme.tags.tagsPageLink": {
47+
"message": "View all tags",
48+
"description": "The label of the link targeting the tag list page"
49+
},
50+
"theme.colorToggle.ariaLabel.mode.system": {
51+
"message": "system mode",
52+
"description": "The name for the system color mode"
53+
},
54+
"theme.colorToggle.ariaLabel.mode.light": {
55+
"message": "light mode",
56+
"description": "The name for the light color mode"
57+
},
58+
"theme.colorToggle.ariaLabel.mode.dark": {
59+
"message": "dark mode",
60+
"description": "The name for the dark color mode"
61+
},
62+
"theme.colorToggle.ariaLabel": {
63+
"message": "Switch between dark and light mode (currently {mode})",
64+
"description": "The ARIA label for the color mode toggle"
65+
},
66+
"theme.docs.breadcrumbs.navAriaLabel": {
67+
"message": "Breadcrumbs",
68+
"description": "The ARIA label for the breadcrumbs"
69+
},
70+
"theme.docs.DocCard.categoryDescription.plurals": {
71+
"message": "1 item|{count} items",
72+
"description": "The default description for a category card in the generated index about how many items this category includes"
73+
},
74+
"theme.docs.paginator.navAriaLabel": {
75+
"message": "Docs pages",
76+
"description": "The ARIA label for the docs pagination"
77+
},
78+
"theme.docs.paginator.previous": {
79+
"message": "Previous",
80+
"description": "The label used to navigate to the previous doc"
81+
},
82+
"theme.docs.paginator.next": {
83+
"message": "Next",
84+
"description": "The label used to navigate to the next doc"
85+
},
86+
"theme.docs.tagDocListPageTitle.nDocsTagged": {
87+
"message": "One doc tagged|{count} docs tagged",
88+
"description": "Pluralized label for \"{count} docs tagged\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
89+
},
90+
"theme.docs.tagDocListPageTitle": {
91+
"message": "{nDocsTagged} with \"{tagName}\"",
92+
"description": "The title of the page for a docs tag"
93+
},
94+
"theme.docs.versionBadge.label": {
95+
"message": "Version: {versionLabel}"
96+
},
97+
"theme.docs.versions.unreleasedVersionLabel": {
98+
"message": "This is unreleased documentation for {siteTitle} {versionLabel} version.",
99+
"description": "The label used to tell the user that he's browsing an unreleased doc version"
100+
},
101+
"theme.docs.versions.unmaintainedVersionLabel": {
102+
"message": "This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.",
103+
"description": "The label used to tell the user that he's browsing an unmaintained doc version"
104+
},
105+
"theme.docs.versions.latestVersionSuggestionLabel": {
106+
"message": "For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).",
107+
"description": "The label used to tell the user to check the latest version"
108+
},
109+
"theme.docs.versions.latestVersionLinkLabel": {
110+
"message": "latest version",
111+
"description": "The label used for the latest version suggestion link label"
112+
},
113+
"theme.common.editThisPage": {
114+
"message": "Suggest a fix",
115+
"description": "The link label to edit the current page"
116+
},
117+
"theme.common.headingLinkTitle": {
118+
"message": "Direct link to {heading}",
119+
"description": "Title for link to heading"
120+
},
121+
"theme.lastUpdated.atDate": {
122+
"message": " on {date}",
123+
"description": "The words used to describe on which date a page has been last updated"
124+
},
125+
"theme.lastUpdated.byUser": {
126+
"message": " by {user}",
127+
"description": "The words used to describe by who the page has been last updated"
128+
},
129+
"theme.lastUpdated.lastUpdatedAtBy": {
130+
"message": "Last updated{atDate}{byUser}",
131+
"description": "The sentence used to display when a page has been last updated, and by who"
132+
},
133+
"theme.NotFound.title": {
134+
"message": "Page Not Found",
135+
"description": "The title of the 404 page"
136+
},
137+
"theme.navbar.mobileVersionsDropdown.label": {
138+
"message": "Versions",
139+
"description": "The label for the navbar versions dropdown on mobile view"
140+
},
141+
"theme.tags.tagsListLabel": {
142+
"message": "Tags:",
143+
"description": "The label alongside a tag list"
144+
},
145+
"theme.AnnouncementBar.closeButtonAriaLabel": {
146+
"message": "Close",
147+
"description": "The ARIA label for close button of announcement bar"
148+
},
149+
"theme.admonition.caution": {
150+
"message": "caution",
151+
"description": "The default label used for the Caution admonition (:::caution)"
152+
},
153+
"theme.admonition.danger": {
154+
"message": "danger",
155+
"description": "The default label used for the Danger admonition (:::danger)"
156+
},
157+
"theme.admonition.info": {
158+
"message": "info",
159+
"description": "The default label used for the Info admonition (:::info)"
160+
},
161+
"theme.admonition.note": {
162+
"message": "note",
163+
"description": "The default label used for the Note admonition (:::note)"
164+
},
165+
"theme.admonition.tip": {
166+
"message": "tip",
167+
"description": "The default label used for the Tip admonition (:::tip)"
168+
},
169+
"theme.admonition.warning": {
170+
"message": "warning",
171+
"description": "The default label used for the Warning admonition (:::warning)"
172+
},
173+
"theme.blog.sidebar.navAriaLabel": {
174+
"message": "Blog recent posts navigation",
175+
"description": "The ARIA label for recent posts in the blog sidebar"
176+
},
177+
"theme.DocSidebarItem.expandCategoryAriaLabel": {
178+
"message": "Expand sidebar category '{label}'",
179+
"description": "The ARIA label to expand the sidebar category"
180+
},
181+
"theme.DocSidebarItem.collapseCategoryAriaLabel": {
182+
"message": "Collapse sidebar category '{label}'",
183+
"description": "The ARIA label to collapse the sidebar category"
184+
},
185+
"theme.IconExternalLink.ariaLabel": {
186+
"message": "(opens in new tab)",
187+
"description": "The ARIA label for the external link icon"
188+
},
189+
"theme.NavBar.navAriaLabel": {
190+
"message": "Main",
191+
"description": "The ARIA label for the main navigation"
192+
},
193+
"theme.NotFound.p1": {
194+
"message": "We could not find what you were looking for.",
195+
"description": "The first paragraph of the 404 page"
196+
},
197+
"theme.NotFound.p2": {
198+
"message": "Please contact the owner of the site that linked you to the original URL and let them know their link is broken.",
199+
"description": "The 2nd paragraph of the 404 page"
200+
},
201+
"theme.navbar.mobileLanguageDropdown.label": {
202+
"message": "Languages",
203+
"description": "The label for the mobile language switcher dropdown"
204+
},
205+
"theme.blog.post.readingTime.plurals": {
206+
"message": "One min read|{readingTime} min read",
207+
"description": "Pluralized label for \"{readingTime} min read\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
208+
},
209+
"theme.TOCCollapsible.toggleButtonLabel": {
210+
"message": "On this page",
211+
"description": "The label used by the button on the collapsible TOC component"
212+
},
213+
"theme.CodeBlock.copy": {
214+
"message": "Copy",
215+
"description": "The copy button label on code blocks"
216+
},
217+
"theme.CodeBlock.copied": {
218+
"message": "Copied",
219+
"description": "The copied button label on code blocks"
220+
},
221+
"theme.CodeBlock.copyButtonAriaLabel": {
222+
"message": "Copy code to clipboard",
223+
"description": "The ARIA label for copy code blocks button"
224+
},
225+
"theme.blog.post.readMore": {
226+
"message": "Read more",
227+
"description": "The label used in blog post item excerpts to link to full blog posts"
228+
},
229+
"theme.blog.post.readMoreLabel": {
230+
"message": "Read more about {title}",
231+
"description": "The ARIA label for the link to full blog posts from excerpts"
232+
},
233+
"theme.CodeBlock.wordWrapToggle": {
234+
"message": "Toggle word wrap",
235+
"description": "The title attribute for toggle word wrapping button of code block lines"
236+
},
237+
"theme.docs.breadcrumbs.home": {
238+
"message": "Home page",
239+
"description": "The ARIA label for the home page in the breadcrumbs"
240+
},
241+
"theme.docs.sidebar.collapseButtonTitle": {
242+
"message": "Collapse sidebar",
243+
"description": "The title attribute for collapse button of doc sidebar"
244+
},
245+
"theme.docs.sidebar.collapseButtonAriaLabel": {
246+
"message": "Collapse sidebar",
247+
"description": "The title attribute for collapse button of doc sidebar"
248+
},
249+
"theme.docs.sidebar.navAriaLabel": {
250+
"message": "Docs sidebar",
251+
"description": "The ARIA label for the sidebar navigation"
252+
},
253+
"theme.navbar.mobileDropdown.collapseButton.expandAriaLabel": {
254+
"message": "Expand the dropdown",
255+
"description": "The ARIA label of the button to expand the mobile dropdown navbar item"
256+
},
257+
"theme.navbar.mobileDropdown.collapseButton.collapseAriaLabel": {
258+
"message": "Collapse the dropdown",
259+
"description": "The ARIA label of the button to collapse the mobile dropdown navbar item"
260+
},
261+
"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel": {
262+
"message": "← Back to main menu",
263+
"description": "The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"
264+
},
265+
"theme.docs.sidebar.expandButtonTitle": {
266+
"message": "Expand sidebar",
267+
"description": "The ARIA label and title attribute for expand button of doc sidebar"
268+
},
269+
"theme.docs.sidebar.expandButtonAriaLabel": {
270+
"message": "Expand sidebar",
271+
"description": "The ARIA label and title attribute for expand button of doc sidebar"
272+
},
273+
"theme.docs.sidebar.toggleSidebarButtonAriaLabel": {
274+
"message": "Toggle navigation bar",
275+
"description": "The ARIA label for hamburger menu button of mobile navigation"
276+
},
277+
"theme.blog.post.plurals": {
278+
"message": "One post|{count} posts",
279+
"description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
280+
},
281+
"theme.blog.tagTitle": {
282+
"message": "{nPosts} tagged with \"{tagName}\"",
283+
"description": "The title of the page for a blog tag"
284+
},
285+
"theme.blog.author.pageTitle": {
286+
"message": "{authorName} - {nPosts}",
287+
"description": "The title of the page for a blog author"
288+
},
289+
"theme.blog.authorsList.pageTitle": {
290+
"message": "Authors",
291+
"description": "The title of the authors page"
292+
},
293+
"theme.blog.authorsList.viewAll": {
294+
"message": "View all authors",
295+
"description": "The label of the link targeting the blog authors page"
296+
},
297+
"theme.blog.author.noPosts": {
298+
"message": "This author has not written any posts yet.",
299+
"description": "The text for authors with 0 blog post"
300+
},
301+
"theme.contentVisibility.unlistedBanner.title": {
302+
"message": "Unlisted page",
303+
"description": "The unlisted content banner title"
304+
},
305+
"theme.contentVisibility.unlistedBanner.message": {
306+
"message": "This page is unlisted. Search engines will not index it, and only users having a direct link can access it.",
307+
"description": "The unlisted content banner message"
308+
},
309+
"theme.contentVisibility.draftBanner.title": {
310+
"message": "Draft page",
311+
"description": "The draft content banner title"
312+
},
313+
"theme.contentVisibility.draftBanner.message": {
314+
"message": "This page is a draft. It will only be visible in dev and be excluded from the production build.",
315+
"description": "The draft content banner message"
316+
},
317+
"theme.ErrorPageContent.tryAgain": {
318+
"message": "Try again",
319+
"description": "The label of the button to try again rendering when the React error boundary captures an error"
320+
},
321+
"theme.common.skipToMainContent": {
322+
"message": "Skip to main content",
323+
"description": "The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation"
324+
},
325+
"theme.tags.tagsPageTitle": {
326+
"message": "Tags",
327+
"description": "The title of the tag list page"
328+
}
329+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
"version.label": {
3+
"message": "0.5.x",
4+
"description": "The label for version current"
5+
},
6+
"sidebar.learnSidebar.category.Introduction": {
7+
"message": "Introduction",
8+
"description": "The label for category 'Introduction' in sidebar 'learnSidebar'"
9+
},
10+
"sidebar.learnSidebar.category.Getting Started": {
11+
"message": "Getting Started",
12+
"description": "The label for category 'Getting Started' in sidebar 'learnSidebar'"
13+
},
14+
"sidebar.learnSidebar.category.Core Concepts": {
15+
"message": "Core Concepts",
16+
"description": "The label for category 'Core Concepts' in sidebar 'learnSidebar'"
17+
},
18+
"sidebar.learnSidebar.category.Advanced": {
19+
"message": "Advanced",
20+
"description": "The label for category 'Advanced' in sidebar 'learnSidebar'"
21+
},
22+
"sidebar.learnSidebar.doc.Learn": {
23+
"message": "Learn",
24+
"description": "The label for the doc item 'Learn' in sidebar 'learnSidebar', linking to the doc learn/index"
25+
},
26+
"sidebar.protocolSidebar.category.On-Chain Protocol": {
27+
"message": "On-Chain Protocol",
28+
"description": "The label for category 'On-Chain Protocol' in sidebar 'protocolSidebar'"
29+
},
30+
"sidebar.protocolSidebar.category.Off-Chain RPC Protocol": {
31+
"message": "Off-Chain RPC Protocol",
32+
"description": "The label for category 'Off-Chain RPC Protocol' in sidebar 'protocolSidebar'"
33+
}
34+
}

0 commit comments

Comments
 (0)