On Thu, 2022-05-12 at 13:33 +0100, Abongwa Amahnui Bonalais wrote:
> Script to add banners to the old docs and outdated dunfell docs
> 
> Signed-off-by: Abongwa Bonalais Amahnui <[email protected]>
> ---
>  scripts/docs_add_banner.py | 84 ++++++++++++++++++++++++++++++++++++++
>  scripts/run-docs-build     |  2 +
>  2 files changed, 86 insertions(+)
>  create mode 100755 scripts/docs_add_banner.py
> 
> diff --git a/scripts/docs_add_banner.py b/scripts/docs_add_banner.py
> new file mode 100755
> index 0000000..0de70d0
> --- /dev/null
> +++ b/scripts/docs_add_banner.py
> @@ -0,0 +1,84 @@
> +#!/usr/bin/env python3
> +#
> +# SPDX-License-Identifier: GPL-2.0-only
> +#
> +#Signed-off-by: Abongwa Bonalais Amahnui <[email protected]>
> +#
> +#
> +# Script to add banners to the old docs and outdated dunfell docs
> +#
> +#
> +
> +
> +import os
> +
> +
> +
> +
> +
> +html_content_dunfell = '''
> +<div id="outdated-warning">This document is outdated, you should select the 
> <a href="https://docs.yoctoproject.org/dunfell";>latest release version</a> in 
> this series.</div>
> +<div xml:lang="en" class="body" lang="en">
> +'''
> +html_content = '''
> +<div id="outdated-warning">This version of the project is now considered 
> obsolete, please select and use a <a 
> href="https://docs.yoctoproject.org";>more recent version</a>.</div>
> +<div xml:lang="en" class="body" lang="en">
> +'''
> +
> +# the class body and the last_div are used to make sure any .body property 
> existing in any css file is not overwritten
> +last_div = '''
> +</div>
> +
> +'''
> +
> +css_replacement_content = '''
> + 
> +  font-family: Verdana, Sans, sans-serif;
> +
> +  width: 100%;
> +  margin:  0;
> +  padding: 0;
> +  color: #333;
> +  overflow-x: hidden;
> +  }
> + 
> +.body{
> +margin:  0 auto;
> +min-width: 640px;
> +padding: 0 5em 5em 5em;
> +}
> +#outdated-warning{
> +text-align: center;
> +background-color: rgb(255, 186, 186); 
> +color: rgb(106, 14, 14); 
> +padding: 0.5em 0; 
> +width: 100%;
> +position: fixed;
> +top: 0;
> +
> +
> +'''
> +
> +
> +def add_banner_old_docs(dir):
> +    for root, dirs, filenames in os.walk(dir):
> +        
> +        if root.startswith('./3.1'):
> +            html_replacement = html_content_dunfell
> +        else:
> +            html_replacement = html_content
> +            
> +        for filename in filenames:
> +            if filename.endswith('.html'):
> +                with open(os.path.join(root, filename), 'r', 
> encoding="ISO-8859-1") as f:
> +                    current_content = f.read()
> +                with open(os.path.join(root, filename), 'w', 
> encoding="ISO-8859-1") as f:
> +                    f.write(current_content.replace('<body>', '<body>' + 
> html_replacement))
> +                    f.write(current_content.replace('</body>', last_div + 
> '</body>'))


This is really close but still not quite right. You're adding in two
copies of current_content here. It needs to be:

 f.write(current_content.replace('<body>', '<body>' + 
html_replacement).replace('</body>', last_div + '</body>'))

so that only one copy of current_content is written.

Cheers,

Richard
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#57079): https://lists.yoctoproject.org/g/yocto/message/57079
Mute This Topic: https://lists.yoctoproject.org/mt/91056789/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to