Commit graph

49 commits

Author SHA1 Message Date
Sébastien Lorber
15a2b59f9f
fix(v2): fix redirect plugin when trailingSlash=false for .html extension (#5102)
* another redirect plugin fix when trailingSlash=false

* add comment
2021-06-30 17:22:51 +02:00
Sébastien Lorber
e5916dc596
fix(v2): redirect from should work with trailingSlash: true (#5093) 2021-06-30 10:44:03 +02:00
Sébastien Lorber
a78e4f19b2
fix(v2): redirect plugin should emit redirect files with lower precedence than redirect target (#5085)
* revert old behavior of the redirect plugin

* revert old behavior of the redirect plugin
2021-06-29 19:34:55 +02:00
Sébastien Lorber
7592982960
fix(v2): never remove trailing slash from site root like '/baseUrl/' (#5082)
* never apply trailingSlash to site root ('/baseUrl/') => only subroutes

* add deprecation comment for loadContext.baseUrl in favor of loadContext.siteConfig.baseUrl

* commit typo

* useless code
2021-06-29 15:17:23 +02:00
Sébastien Lorber
b54ec72389
fix(v2): redirect plugin: use siteConfig.trailingSlash (#4988) 2021-06-16 19:04:28 +02:00
Alexey Pyltsyn
41d9288e3d
refactor(v2): cleanup console output (#4979)
* refactor(v2): cleanup console output

* fix jest issue

Co-authored-by: slorber <lorber.sebastien@gmail.com>
2021-06-16 11:37:28 +02:00
Sébastien Lorber
60d189a91c
fix(v2): Export Joi from validation-utils package (#4459) 2021-03-18 19:27:51 +01:00
Armano
bfe52cdae3
refactor(v2): correct some of type errors reported by eslint (#4382)
* fix: correct some of type errors reported by eslint

* fix: remove unnecessary import
2021-03-12 12:24:22 +01:00
saydo17
88a6f56654
fix(v2): fix redirect toUrl (windows + trailing slash) (#3903)
* replace \ with / when creating client redirect on windows

* fix(vs): replace \ with / when creating client redirect on windows

* redirects plugin: add createToUrl fn + tests

* redirects plugin: add createToUrl fn + tests
do not  add trailing  slash + try to fix windows path issues

Co-authored-by: slorber <lorber.sebastien@gmail.com>
2020-12-28 11:55:15 +01:00
Bartosz Kaszubowski
ad31facb32
chore(v2): fix several lint warnings, add missing types, cleanup (#3844)
* fix several lint warnings, add missing types, cleanup

* fix EnumChangefreq issue

* better utilization of EnumChangefreq type

* update test snapshot
2020-11-30 16:42:58 +01:00
Sébastien Lorber
3166fab307
feat(v2): core v2 i18n support + Docusaurus site Crowdin integration (#3325)
* docs i18n initial poc

* docs i18n initial poc

* docs i18n initial poc

* docs i18n initial poc

* crowdin-v2 attempt

* fix source

* use crowdin env variable

* try to install crowdin on netlify

* try to install crowdin on netlify

* try to use crowdin jar directly

* try to curl the crowdin jar

* add java version cmd

* try to run crowdin jar in netlify

* fix translatedDocsDirPath

* fix loadContext issue due to site baseUrl not being modified in generted config file

* real validateLocalesFile

* add locale option to deploy command

* better LocalizationFile type

* create util getPluginI18nPath

* better core localization context loading code

* More explicit VersionMetadata type for localized docs folders

* Ability to translate blog posts with Crowdin!

* blog: refactor markdown loader + report broken links + try to get linkify working better

* upgrade crowdin config to upload all docs folder files except source code related files

* try to support translated pages

* make markdown pages translation work

* add write-translations cli command template

* fix site not  reloaded with correct options

* refactor a bit the read/write of @generated/i18n.json file

* Add <Translate> + translate() API + use it on the docusaurus homepage

* watch locale translation dir

* early POC of adding babel parsing for translation extraction

* fs.stat => pathExists

* add install:fast script

* TSC: noUnusedLocals false as it's already checked  by eslint

* POC of extracting translations from source code

* minor typo

* fix extracted key to code

* initial docs extracted translations

* stable plugin translations POC

* add crowdin commands

* quickfix for i18n deployment

* POC  of themeConfig translation

* add ability to have localized site without path prefix

* sidebar typo

* refactor translation system to output multiple translation files

* translate properly  the docs plugin

* improve theme classic translation

* rework translation extractor to handle new Chrome I18n JSON format (include id/description)

* writeTranslations: allow to pass locales cli arg

* fix ThemeConfig TS issues

* fix localizePath errors

* temporary add write-translations to netlify deploy preview

* complete example of french translated folder

* update fr folder

* remove all translations from repo

* minor translation  refactors

* fix all docs-related tests

* fix blog feed tests

* fix last blog tests

* refactor i18n context a bit, extract codeTranslations in an extra generated file

* improve @generated/i18n type

* fix some i18n todos

* minor refactor

* fix logo typing issue after merge

* move i18n.json to siteConfig instead

* try to fix windows CI build

* fix config test

* attempt to fix windows non-posix path

* increase v1 minify css jest timeout due to flaky test

* proper support for localizePath on windows

* remove non-functional install:fast

* docs, fix docsDirPathLocalized

* fix Docs i18n / md linkify issues

* ensure theme-classic swizzling will use "nextjs" sources (transpiled less aggressively, to make them human readable)

* fix some snapshots

* improve themeConfig translation code

* refactor a bit getPluginI18nPath

* readTranslationFileContent => ensure files are valid, fail fast

* fix versions tests

* add extractSourceCodeAstTranslations comments/resource links

* ignore eslint: packages/docusaurus-theme-classic/lib-next/

* fix windows CI with cross-env

* crowdin ignore .DS_Store

* improve writeTranslations + add exhaustive tests for translations.ts

* remove typo

* Wire currentLocale to algolia search

* improve i18n locale error

* Add tests for translationsExtractor.ts

* better code translation extraction regarding statically evaluable code

* fix typo

* fix typo

* improve theme-classic transpilation

* refactor  +  add i18n tests

* typo

* test new utils

* add missing snapshots

* fix snapshot

* blog onBrokenMarkdownLink

* add sidebars tests

* theme-classic index should now use ES modules

* tests for theme-classic translations

* useless comment

* add more translation tests

* simplify/cleanup writeTranslations

* try to fix Netlify fr deployment

* blog: test translated md is used during feed generation

* blog: better i18n tests regarding editUrl + md translation application

* more i18n tests for docs plugin

* more i18n tests for docs plugin

* Add tests for pages i18n

* polish docusaurus build i18n logs
2020-11-26 12:16:46 +01:00
Alexey Pyltsyn
69bf68ae57
chore(v2): migrate hapi/joi to joi (#3638) 2020-10-26 15:18:51 +01:00
Sébastien Lorber
1eb6e13fb7
fix(v2): reject routeBasePath: '' (#3377)
* routeBasePath: '' should be forbidden

* routeBasePath: '' should be forbidden

* commit

* try to trigger cla bot
2020-08-31 19:59:27 +02:00
Sébastien Lorber
d17df954b5
refactor(v2): precompile ETA templates (#3238)
* compile ETA templates ahead of time

* handle PR review
2020-08-17 15:43:17 +02:00
Sébastien Lorber
fe281a8ebe
feat(v2): debug pages + debug layout + ability to debug content (#3229)
* improve debug plugin:
- add multiple debug pages + debug layout
- ability to debug plugin contentLoaded data

* add missing dependency

* fix broken test

* improve content rendering a bit

* create basic DebugJsonView

* fix ReactJson SSR issues
2020-08-07 11:47:43 +02:00
Teik Jun
2e055f4ae2
fix(v2): make client-redirect-plugin not baseUrl sensitive (#3010)
* feat(v2): use relative routes path in postBuild hook

* feat(v2): use relativeRoutesPath in other methods and modify tests

* fix(v2): fix D2 client redirects and tests

* feat(v2): add tests for relativeRoutesPaths

* fix(v2): fix some typos in configValidation

* fix(v2): fix an eslint warning and restart github action

* refactor(v2): create a removePrefix method

* refactor(v2): inline unnecessary method
2020-06-29 18:38:28 +02:00
Anshul Goyal
81d855355e
feat(v2): option and config validation life cycle method for official plugins (#2943)
* add validation for blog plugin

* fix wrong default component

* fix test and add yup to package.json

* remove console.log

* add validation for classic theme and code block theme

* add yup to packages

* remove console.log

* fix build

* fix logo required

* replaced yup with joi

* fix test

* remove hapi from docusuars core

* replace joi with @hapi/joi

* fix eslint

* fix remark plugin type

* change remark plugin validation to match documentation

* move schema to it's own file

* allow unknown only on outer theme object

* fix type for schema type

* fix yarn.lock

* support both commonjs and ES modules

* add docs for new lifecycle method
2020-06-24 20:08:16 +02:00
Anshul Goyal
2b4b6f73b7
feat(v2): replace yup validation by joi validation (#2962)
* replace yup with joi

* update test snapshots with new  error messages
2020-06-22 19:40:52 +02:00
John Knox
ee5e59f633
fix(v2): fromExtensions and toExtensions translation with baseUrl (#2969) 2020-06-22 18:43:42 +02:00
Sam Zhou
6e43c9bd34
chore(v2): Fix more eslint errors (#2976) 2020-06-21 15:09:00 +08:00
Sam Zhou
3611c96f90
chore(v2): Fix a lot of eslint warnings (#2972) 2020-06-20 12:30:18 +08:00
Sébastien Lorber
72884a0c1a
chore(v2): fix eslint TS setup (#2949)
* update eslint parser

* fix yarn lint script

* lint-staged, lint ts files

* fix TS eslint configuration + fix some lint errors (https://github.com/facebook/docusaurus/pull/2949)

* eslint root + separate linting in 2 scripts

* test commit

* test commit

* test commit

* fix /// TS directive
2020-06-18 17:37:48 +08:00
slorber
6b507630e3 migrate useful helper functions to docusaurus-utils 2020-06-10 17:22:41 +02:00
slorber
0ac5a66a1f rename fromRoutePath/toRoutePath to simply from/to 2020-06-04 14:31:26 +02:00
slorber
06673ee8c3 refactor: remove redirectCreator abstraction 2020-06-04 14:28:31 +02:00
slorber
e60c063120 snapshot update 2020-06-03 19:47:36 +02:00
slorber
89038dea0c Fix non-strict validation error, allowing [] for string 2020-06-03 19:46:57 +02:00
slorber
00a79f69c7 Add chalk non-blocking errors + fix config bug 2020-06-03 19:28:57 +02:00
slorber
c224efb8a1 Add better options validation error 2020-06-03 17:53:54 +02:00
slorber
1439bad84c Add redirects plugin option 2020-06-03 17:30:21 +02:00
slorber
a0991c581b add context to error message 2020-06-03 16:07:27 +02:00
slorber
5bf85e44ac add validateRedirect 2020-06-03 16:03:03 +02:00
slorber
4913ca638e remove useless comments 2020-05-27 18:08:06 +02:00
slorber
8b6dc032c6 update broken snapshot 2020-05-27 10:47:38 +02:00
slorber
cc1705e00c add canonical url 2020-05-26 21:03:18 +02:00
slorber
9a2129551e fix bad redirection url 2020-05-26 20:16:40 +02:00
slorber
cb2b5a5407 add write files test 2020-05-26 20:04:22 +02:00
slorber
8c8adc5e6b fix annoying inline snapshot not working due to fmt/indentation issue 2020-05-26 19:12:19 +02:00
slorber
9a73680ea5 fix missing ensureDir call 2020-05-26 19:03:02 +02:00
slorber
0c330df5cc fix template import issue 2020-05-25 20:06:52 +02:00
slorber
e93b98a242 fix writeRedirectFiles 2020-05-25 19:51:37 +02:00
slorber
26beb00476 improve a bit collectRedirects 2020-05-25 19:26:36 +02:00
slorber
d8c163e76b stable collectRedirects 2020-05-25 19:18:36 +02:00
slorber
9579ac10fc split collectRedirects and writeRedirectFiles in separate files 2020-05-25 18:21:41 +02:00
slorber
2695548b93 add proper normalizePluginOptions + tests 2020-05-25 18:05:57 +02:00
slorber
92c2d0839c add tests for redirectCreators 2020-05-25 17:07:00 +02:00
slorber
d1a162ec30 createRedirectPageContent: use eta template + encode URI for meta refresh header + tests 2020-05-25 16:27:36 +02:00
slorber
fde4933cd5 add utils tests 2020-05-25 16:03:39 +02:00
slorber
fd47ca1925 feat(v2): docusaurus-plugin-client-redirects 2020-05-22 20:15:16 +02:00