<div dir="auto">I specifically tried forcing a rename earlier, but it doesn't work.  Git sees too much change.  The only way I could get it to work was manually renaming the HTML files to rst first, then committing, then converting to rst.<div dir="auto"><br></div><div dir="auto">The problem with that strategy is that then the Pandoc command for converting to rst doesn't make sense.  (.rst to .rst? What?)</div><div dir="auto"><br></div><div dir="auto">Laura</div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, May 25, 2018, 4:26 AM Eric Engestrom <<a href="mailto:eric.engestrom@intel.com">eric.engestrom@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thursday, 2018-05-24 17:27:05 -0700, Laura Ekstrand wrote:<br>
> Use Beautiful Soup to fix bad html, then use pandoc for converting to<br>
> rst.<br>
> ---<br>
>  docs/rstConverter.py | 23 +++++++++++++++++++++++<br>
>  1 file changed, 23 insertions(+)<br>
>  create mode 100755 docs/rstConverter.py<br>
> <br>
> diff --git a/docs/rstConverter.py b/docs/rstConverter.py<br>
> new file mode 100755<br>
> index 0000000000..5321fdde8b<br>
> --- /dev/null<br>
> +++ b/docs/rstConverter.py<br>
> @@ -0,0 +1,23 @@<br>
> +#!/usr/bin/python3<br>
> +import glob<br>
> +import subprocess<br>
> +from bs4 import BeautifulSoup<br>
> +<br>
> +pages = glob.glob("*.html")<br>
> +pages += glob.glob("relnotes/*.html")<br>
> +for filename in pages:<br>
> +    # Fix some annoyingly bad html.<br>
> +    with open(filename) as f:<br>
> +        soup = BeautifulSoup(f, 'html5lib')<br>
> +    soup.find("div", "header").extract() # Get rid of old header<br>
> +    soup.iframe.extract() # Get rid of old contents bar.<br>
> +    soup.find("div", "content").unwrap() # Strip the content div.<br>
<br>
Good call on using beautifulsoup to clean the html before converting it!<br>
<br>
> +<br>
> +    # Write out the better html.<br>
> +    with open(filename, 'wt') as f:<br>
> +        f.write(str(soup))<br>
> +<br>
> +    # Convert to rst with pandoc.<br>
> +    name = filename.split(".html")[0]<br>
> +    bashCmd = "pandoc " + filename + " -o " + name + ".rst"<br>
> +    subprocess.run(bashCmd.split())<br>
<br>
Idea: remove the old html at the same time as we introduce the rst<br>
(commit-wise), so that git picks it up as a rename with changes, which<br>
hopefully would be easier to check as a 1:1 of any given conversion?<br>
<br>
(In case this is as unclear as I think it is, I'm thinking about how we<br>
can review individual pages conversions; say index.html -> index.rst, to<br>
see that no release has been dropped in the process. If git shows this<br>
as a rename with changes, I expect it will be easier to check than if<br>
one commit creates all the rst files and another deletes all the html)<br>
</blockquote></div>