Skip to content

Commit

Permalink
Mkdocs: default to "docs" for docs_dir (#7766)
Browse files Browse the repository at this point in the history
This value has been the default since the start of the project
https://github.com/mkdocs/mkdocs/blob/0.13.0/mkdocs/config/defaults.py#L44

We should respect that default value,
(we should actually don't edit it at all #2483).

So, instead of trying to guess the docs dir always,
only try to guess it if the user doesn't have mkdocs.yaml file.

This should avoid any backwards compatibility and avoid weird bugs to
new users.

Closes #7539
  • Loading branch information
stsewd authored Jan 12, 2021
1 parent cf199fd commit 7fab0eb
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 5 deletions.
7 changes: 3 additions & 4 deletions readthedocs/doc_builder/backends/mkdocs.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ def load_yaml_config(self):
)
return {
'site_name': self.version.project.name,
'docs_dir': self.docs_dir(),
}
except yaml.YAMLError as exc:
note = ''
Expand All @@ -139,14 +140,12 @@ def append_conf(self):
user_config = self.load_yaml_config()

# Handle custom docs dirs
user_docs_dir = user_config.get('docs_dir')
if not isinstance(user_docs_dir, (type(None), str)):
docs_dir = user_config.get('docs_dir', 'docs')
if not isinstance(docs_dir, (type(None), str)):
raise MkDocsYAMLParseError(
MkDocsYAMLParseError.INVALID_DOCS_DIR_CONFIG,
)

docs_dir = self.docs_dir(docs_dir=user_docs_dir)

self.create_index(extension='md')
user_config['docs_dir'] = docs_dir

Expand Down
6 changes: 5 additions & 1 deletion readthedocs/rtd_tests/tests/test_doc_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -350,7 +350,10 @@ def test_get_theme_name_with_feature_flag(self, checkout_path, run):
self.assertEqual(builder.get_theme_name({}), 'readthedocs')
with patch('readthedocs.doc_builder.backends.mkdocs.yaml') as mock_yaml:
with patch('readthedocs.doc_builder.backends.mkdocs.MkdocsHTML.load_yaml_config') as mock_load_yaml_config:
mock_load_yaml_config.return_value = {'site_name': self.project.name}
mock_load_yaml_config.return_value = {
'site_name': self.project.name,
'docs_dir': tmpdir,
}
builder.append_conf()

mock_yaml.safe_dump.assert_called_once_with(
Expand All @@ -374,6 +377,7 @@ def test_get_theme_name_with_feature_flag(self, checkout_path, run):
mock_load_yaml_config.return_value = {
'site_name': self.project.name,
'theme': 'customtheme',
'docs_dir': tmpdir,
}
builder.append_conf()

Expand Down

0 comments on commit 7fab0eb

Please sign in to comment.