-
Notifications
You must be signed in to change notification settings - Fork 60.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
8 changed files
with
118 additions
and
76 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,37 @@ | ||
<!-- START TRANSLATIONS NOTICES --> | ||
<!-- Site policy translations notice --> | ||
{% if currentLanguage != 'en' and page.relativePath contains '/site-policy/' %} | ||
{% assign translation_notification_type = "true" %} | ||
{% assign translation_notification = site.data.reusables.policies.translation %} | ||
|
||
<!-- Completed translations notice --> | ||
{% elsif currentLanguage != 'en' && !languages[currentLanguage].wip %} | ||
{% assign translation_notification_type = "true" %} | ||
{% assign translation_notification = site.data.ui.header.notices.localization_complete %} | ||
|
||
<!-- In-progress translations notice --> | ||
{% elsif currentLanguage != 'en' && languages[currentLanguage].wip %} | ||
{% assign translation_notification_type = "true" %} | ||
{% assign translation_notification = site.data.ui.header.notices.localization_in_progress %} | ||
{% endif %} | ||
<!-- END TRANSLATIONS NOTICES --> | ||
|
||
<!-- START RELEASE NOTICES --> | ||
<!-- Custom GitHub AE notice --> | ||
{% if currentVersion == "github-ae@latest" %} | ||
<div class="header-notifications text-center f5 bg-blue-1 text-gray-dark py-4 px-6 limited_release {% if header_notification %}border-bottom{% endif %}"> | ||
{% data ui.header.notices.ghae_silent_launch %} | ||
{% assign release_notification_type = "true" %} | ||
{% assign release_notification = site.data.ui.header.notices.ghae_silent_launch %} | ||
{% endif %} | ||
<!-- END RELEASE NOTICES --> | ||
|
||
{% if translation_notification_type %} | ||
<div class="header-notifications text-center f5 bg-blue-1 text-gray-dark py-4 px-6 translation_notice{% if release_notification_type %} border-bottom border-black-fade{% endif %}"> | ||
{{ translation_notification }} | ||
</div> | ||
{% endif %} | ||
|
||
{% if header_notification %} | ||
<div class="header-notifications text-center f5 bg-blue-1 text-gray-dark py-4 px-6 {{ header_notification_type }}"> | ||
{{ header_notification }} | ||
{% if release_notification_type %} | ||
<div class="header-notifications text-center f5 bg-blue-1 text-gray-dark py-4 px-6 release_notice"> | ||
{{ release_notification }} | ||
</div> | ||
{% endif %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
# Content migration scripts | ||
|
||
This directory stores scripts that modify content and/or data files. Because | ||
writers are updating content all the time, scripts in here require more | ||
cross-team coordination and planning before they are run. Make sure to consider | ||
whether a script added here also needs to be run on translation files or if we | ||
can wait for the changes to come in organically via Crowdin. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
#!/usr/bin/env node | ||
|
||
const fs = require('fs') | ||
const path = require('path') | ||
const walk = require('walk-sync') | ||
const frontmatter = require('@github-docs/frontmatter') | ||
const loadPages = require('../../lib/pages') | ||
const patterns = require('../../lib/patterns') | ||
const loadRedirects = require('../../lib/redirects/precompile') | ||
const allVersions = Object.keys(require('../../lib/all-versions')) | ||
|
||
// get all content and data files | ||
const files = ['content', 'data'].map(dir => { | ||
return walk(path.join(process.cwd(), dir), { includeBasePath: true, directories: false }) | ||
.filter(file => file.endsWith('.md') && !file.endsWith('README.md')) | ||
}).flat() | ||
|
||
// match [foo](/v3) and [bar](/v4) Markdown links | ||
const linkRegex = new RegExp('\\(/v[34].*?\\)', 'g') | ||
|
||
main() | ||
|
||
async function main () { | ||
// we need to load the pages so we can get the redirects | ||
const englishPages = (await loadPages()).filter(p => p.languageCode === 'en') | ||
const redirects = await loadRedirects(englishPages) | ||
|
||
for (const file of files) { | ||
const { data, content } = frontmatter(fs.readFileSync(file, 'utf8')) | ||
|
||
const links = content.match(linkRegex) | ||
if (!links) continue | ||
|
||
// remove parentheses: (/v3) -> /v3 | ||
// also remove trailing slash before closing parens if there is one | ||
const devLinks = links | ||
.map(link => link.replace('(', '').replace(/\/?\)/, '')) | ||
|
||
let newContent = content | ||
|
||
for (const devLink of devLinks) { | ||
const [link, fragment] = devLink.split(/\/?#/) | ||
|
||
let redirect = redirects[link] | ||
|
||
if (!redirect) { | ||
console.log(`no redirect found for ${devLink} in ${file}`) | ||
continue | ||
} | ||
|
||
// do some cleanup | ||
redirect = redirect | ||
// remove language code segment | ||
.replace(patterns.getLanguageCode, '') | ||
// remove version segment | ||
.replace(new RegExp(`/(${allVersions.join('|')})`), '') | ||
|
||
// re-add the fragment | ||
const newLink = fragment | ||
? redirect + '#' + fragment | ||
: redirect | ||
|
||
// first remove any trailing slashes from the old link, | ||
// then replace with the new link | ||
newContent = newContent | ||
.replace(`${devLink}/`, devLink) | ||
.replace(devLink, newLink) | ||
} | ||
|
||
fs.writeFileSync(file, frontmatter.stringify(newContent, data, { lineWidth: 10000 })) | ||
} | ||
console.log('Done!') | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters