Skip to content

Commit

Permalink
Merge pull request #4013 from davidfischer/mkdocs-analytics-improvements
Browse files Browse the repository at this point in the history
MkDocs projects use RTD's analytics privacy improvements
  • Loading branch information
ericholscher authored Apr 27, 2018
2 parents 08eed81 + 7e7a0b2 commit 2bc8084
Showing 1 changed file with 17 additions and 6 deletions.
23 changes: 17 additions & 6 deletions readthedocs/doc_builder/backends/mkdocs.py
Original file line number Diff line number Diff line change
Expand Up @@ -100,18 +100,23 @@ def append_conf(self, **__):
if 'theme_dir' not in user_config and self.use_theme:
user_config['theme_dir'] = TEMPLATE_DIR

yaml.safe_dump(
user_config,
open(os.path.join(self.root_path, 'mkdocs.yml'), 'w')
)

docs_path = os.path.join(self.root_path, docs_dir)

# RTD javascript writing
rtd_data = self.generate_rtd_data(docs_dir=docs_dir, mkdocs_config=user_config)
with open(os.path.join(docs_path, 'readthedocs-data.js'), 'w') as f:
f.write(rtd_data)

# Use Read the Docs' analytics setup rather than mkdocs'
# This supports using RTD's privacy improvements around analytics
user_config['google_analytics'] = None

# Write the mkdocs configuration
yaml.safe_dump(
user_config,
open(os.path.join(self.root_path, 'mkdocs.yml'), 'w')
)

def generate_rtd_data(self, docs_dir, mkdocs_config):
"""Generate template properties and render readthedocs-data.js."""
# Get the theme name
Expand All @@ -120,6 +125,12 @@ def generate_rtd_data(self, docs_dir, mkdocs_config):
if theme_dir:
theme_name = theme_dir.rstrip('/').split('/')[-1]

# Use the analytics code from mkdocs.yml if it isn't set already by Read the Docs
analytics_code = self.version.project.analytics_code
if not analytics_code and mkdocs_config.get('google_analytics'):
# http://www.mkdocs.org/user-guide/configuration/#google_analytics
analytics_code = mkdocs_config['google_analytics'][0]

# Will be available in the JavaScript as READTHEDOCS_DATA.
readthedocs_data = {
'project': self.version.project.slug,
Expand All @@ -134,7 +145,7 @@ def generate_rtd_data(self, docs_dir, mkdocs_config):
'api_host': getattr(settings, 'PUBLIC_API_URL', 'https://readthedocs.org'),
'commit': self.version.project.vcs_repo(self.version.slug).commit,
'global_analytics_code': getattr(settings, 'GLOBAL_ANALYTICS_CODE', 'UA-17997319-1'),
'user_analytics_code': self.version.project.analytics_code,
'user_analytics_code': analytics_code,
}
data_json = json.dumps(readthedocs_data, indent=4)
data_ctx = {
Expand Down

0 comments on commit 2bc8084

Please sign in to comment.