Skip to content

Commit

Permalink
Update page.file source path with original source, fixes backstage#12
Browse files Browse the repository at this point in the history
  • Loading branch information
timvink committed Apr 18, 2020
1 parent 3cf93fa commit a10d09e
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 0 deletions.
11 changes: 11 additions & 0 deletions mkdocs_monorepo_plugin/merger.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@

import logging
import os
from os import listdir
from os.path import isfile, join

from mkdocs.utils import warning_filter

Expand All @@ -32,6 +34,7 @@ def __init__(self, config):
self.root_docs_dir = config['docs_dir']
self.docs_dirs = list()
self.append('', self.root_docs_dir)
self.files_source_dir = dict()

def append(self, alias, docs_dir):
self.docs_dirs.append([alias, docs_dir])
Expand All @@ -57,6 +60,11 @@ def merge(self):

if os.path.exists(source_dir):
copy_tree(source_dir, dest_dir)
files = [f for f in listdir(source_dir) if isfile(join(source_dir, f))]
for f in files:
src = join(source_dir, f)
dest = join(dest_dir, f)
self.files_source_dir[dest] = src
else:
log.critical(
"[mkdocs-monorepo] The {} path is not valid. ".format(source_dir) +
Expand All @@ -65,5 +73,8 @@ def merge(self):

return str(self.temp_docs_dir.name)

def getFilesSourceFolder(self):
return self.files_source_dir

def cleanup(self):
return self.temp_docs_dir.cleanup()
8 changes: 8 additions & 0 deletions mkdocs_monorepo_plugin/plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,16 @@ def on_config(self, config):
# Store resolved paths for later.
self.resolvedPaths = resolvedPaths

# Store source directory of copied files for later
self.files_source_dir = self.merger.getFilesSourceFolder()

return config

def on_pre_page(self, page, config, files):
# Update page source attribute to point to source file
page.file.abs_src_path = self.files_source_dir[page.file.abs_src_path]
return page

def on_serve(self, server, config):
buildfunc = list(server.watcher._tasks.values())[0]['func']

Expand Down

0 comments on commit a10d09e

Please sign in to comment.