From f0cb191971119bb23187140c66e1291dabbb3412 Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Sun, 9 Nov 2025 14:20:04 +0100 Subject: [PATCH] feat: update --- build.py | 124 +++++++++++------- build.sh | 46 ++++--- .../000/config/01/{config.yaml => config.yml} | 0 .../001/config/01/{config.yaml => config.yml} | 0 .../{012/config => 001/config/01}/read_write | 0 .../001/config/02/{config.yaml => config.yml} | 0 examples/001/config/{05 => 03}/README.md | 0 .../config/{05/config.yaml => 03/config.yml} | 0 .../read_write => 001/config/03/invalid} | 0 examples/002/config | 1 - examples/002/config/01/README.md | 1 + .../config.yaml => 002/config/01/config.yml} | 0 examples/002/config/01/read_write | 0 examples/002/config/02/config.yml | 2 + .../config/04 => 002/config/03}/README.md | 0 .../config.yaml => 002/config/03/config.yml} | 0 examples/003/config | 1 - examples/003/config/01/README.md | 1 + .../config.yaml => 003/config/01/config.yml} | 0 examples/003/config/02/config.yml | 2 + examples/003/config/03/README.md | 1 + examples/003/config/03/config.yml | 2 + examples/004/config | 1 - examples/004/config/01/README.md | 1 + .../config.yaml => 004/config/01/config.yml} | 0 examples/004/config/02/config.yml | 2 + .../config.yaml => 004/config/03/config.yml} | 0 examples/004/config/04/README.md | 1 + examples/004/config/04/config.yml | 2 + examples/004/config/04/invalid | 0 .../config.yaml => 012/config/01/config.yml} | 0 examples/012/config/02/config.yml | 4 + examples/012/config/03/config.yml | 5 + examples/020/config/01/config.yml | 4 + examples/020/config/02/config.yaml | 2 - examples/020/config/02/config.yml | 4 + examples/020/config/02/invalid | 0 examples/020/config/03/config.yml | 4 + examples/020/config/03/invalid | 0 examples/020/config/05/README.md | 2 - examples/020/config/05/config.yaml | 9 -- examples/021/config | 2 +- examples/022/config | 1 - .../config.yaml => 022/config/01/config.yml} | 0 .../config.yaml => 022/config/02/config.yml} | 2 +- examples/022/config/03/config.yml | 6 + examples/022/config/03/invalid | 0 examples/023/config | 1 - examples/023/config/01/config.yml | 4 + examples/023/config/02/config.yml | 5 + examples/024/config | 2 +- .../structural_files/DISPLAY_10-manual.yml | 0 examples/030/config | 1 - .../config.yaml => 030/config/01/config.yml} | 0 examples/030/config/01/read_write | 0 .../config.yaml => 030/config/02/config.yml} | 0 examples/030/config/02/read_write | 0 .../config.yaml => 030/config/03/config.yml} | 0 examples/030/config/03/read_write | 0 .../config.yaml => 030/config/04/config.yml} | 0 examples/030/config/04/read_write | 0 examples/{012 => 030}/config/05/README.md | 0 .../config.yaml => 030/config/05/config.yml} | 0 examples/030/config/05/read_write | 0 examples/031/config | 2 +- examples/032/config | 2 +- examples/033/config | 2 +- .../060/config/01/{config.yaml => config.yml} | 0 .../060/config/02/{config.yaml => config.yml} | 0 .../060/config/03/{config.yaml => config.yml} | 0 .../061/config/01/{config.yaml => config.yml} | 0 .../061/config/02/{config.yaml => config.yml} | 0 .../061/config/03/{config.yaml => config.yml} | 0 .../config.yaml => 070/config/01/config.yml} | 0 .../070/config/02/{config.yaml => config.yml} | 0 .../config.yaml => 071/config/01/config.yml} | 0 .../071/config/02/{config.yaml => config.yml} | 0 .../071/config/03/{config.yaml => config.yml} | 0 .../config.yaml => 074/config/01/config.yml} | 0 .../074/config/02/{config.yaml => config.yml} | 0 .../074/config/03/{config.yaml => config.yml} | 0 .../config.yaml => 075/config/01/config.yml} | 0 .../075/config/02/{config.yaml => config.yml} | 0 .../075/config/03/{config.yaml => config.yml} | 0 .../075/config/04/{config.yaml => config.yml} | 0 .../config.yaml => 076/config/01/config.yml} | 0 .../076/config/02/{config.yaml => config.yml} | 0 .../076/config/03/{config.yaml => config.yml} | 0 .../076/config/04/{config.yaml => config.yml} | 0 .../config.yaml => 077/config/01/config.yml} | 0 .../077/config/02/{config.yaml => config.yml} | 0 .../077/config/03/{config.yaml => config.yml} | 0 .../077/config/04/{config.yaml => config.yml} | 0 .../config.yaml => 078/config/01/config.yml} | 0 .../078/config/02/{config.yaml => config.yml} | 0 .../078/config/03/{config.yaml => config.yml} | 0 .../078/config/04/{config.yaml => config.yml} | 0 .../config.yaml => 080/config/01/config.yml} | 0 .../config.yaml => 081/config/01/config.yml} | 0 .../081/config/02/{config.yaml => config.yml} | 0 examples/082/config/01/config.yml | 1 + .../082/config/02/{config.yaml => config.yml} | 0 .../082/config/03/{config.yaml => config.yml} | 0 .../082/config/04/{config.yaml => config.yml} | 0 examples/083/config/01/config.yml | 1 + .../083/config/02/{config.yaml => config.yml} | 0 .../083/config/03/{config.yaml => config.yml} | 0 .../083/config/04/{config.yaml => config.yml} | 0 examples/101/100/config/01/config.yml | 1 + .../100/config/02/{config.yaml => config.yml} | 0 .../100/config/03/{config.yaml => config.yml} | 0 111 files changed, 164 insertions(+), 91 deletions(-) rename examples/000/config/01/{config.yaml => config.yml} (100%) rename examples/001/config/01/{config.yaml => config.yml} (100%) rename examples/{012/config => 001/config/01}/read_write (100%) rename examples/001/config/02/{config.yaml => config.yml} (100%) rename examples/001/config/{05 => 03}/README.md (100%) rename examples/001/config/{05/config.yaml => 03/config.yml} (100%) rename examples/{020/config/read_write => 001/config/03/invalid} (100%) delete mode 120000 examples/002/config create mode 100644 examples/002/config/01/README.md rename examples/{012/config/01/config.yaml => 002/config/01/config.yml} (100%) create mode 100644 examples/002/config/01/read_write create mode 100644 examples/002/config/02/config.yml rename examples/{001/config/04 => 002/config/03}/README.md (100%) rename examples/{001/config/04/config.yaml => 002/config/03/config.yml} (100%) delete mode 120000 examples/003/config create mode 100644 examples/003/config/01/README.md rename examples/{020/config/01/config.yaml => 003/config/01/config.yml} (100%) create mode 100644 examples/003/config/02/config.yml create mode 100644 examples/003/config/03/README.md create mode 100644 examples/003/config/03/config.yml delete mode 120000 examples/004/config create mode 100644 examples/004/config/01/README.md rename examples/{070/config/01/config.yaml => 004/config/01/config.yml} (100%) create mode 100644 examples/004/config/02/config.yml rename examples/{001/config/03/config.yaml => 004/config/03/config.yml} (100%) create mode 100644 examples/004/config/04/README.md create mode 100644 examples/004/config/04/config.yml create mode 100644 examples/004/config/04/invalid rename examples/{071/config/01/config.yaml => 012/config/01/config.yml} (100%) create mode 100644 examples/012/config/02/config.yml create mode 100644 examples/012/config/03/config.yml create mode 100644 examples/020/config/01/config.yml delete mode 100644 examples/020/config/02/config.yaml create mode 100644 examples/020/config/02/config.yml create mode 100644 examples/020/config/02/invalid create mode 100644 examples/020/config/03/config.yml create mode 100644 examples/020/config/03/invalid delete mode 100644 examples/020/config/05/README.md delete mode 100644 examples/020/config/05/config.yaml delete mode 120000 examples/022/config rename examples/{012/config/03/config.yaml => 022/config/01/config.yml} (100%) rename examples/{020/config/04/config.yaml => 022/config/02/config.yml} (84%) create mode 100644 examples/022/config/03/config.yml create mode 100644 examples/022/config/03/invalid delete mode 120000 examples/023/config create mode 100644 examples/023/config/01/config.yml create mode 100644 examples/023/config/02/config.yml create mode 100644 examples/024/structural_files/DISPLAY_10-manual.yml delete mode 120000 examples/030/config rename examples/{074/config/01/config.yaml => 030/config/01/config.yml} (100%) create mode 100644 examples/030/config/01/read_write rename examples/{012/config/02/config.yaml => 030/config/02/config.yml} (100%) create mode 100644 examples/030/config/02/read_write rename examples/{020/config/03/config.yaml => 030/config/03/config.yml} (100%) create mode 100644 examples/030/config/03/read_write rename examples/{012/config/04/config.yaml => 030/config/04/config.yml} (100%) create mode 100644 examples/030/config/04/read_write rename examples/{012 => 030}/config/05/README.md (100%) rename examples/{012/config/05/config.yaml => 030/config/05/config.yml} (100%) create mode 100644 examples/030/config/05/read_write rename examples/060/config/01/{config.yaml => config.yml} (100%) rename examples/060/config/02/{config.yaml => config.yml} (100%) rename examples/060/config/03/{config.yaml => config.yml} (100%) rename examples/061/config/01/{config.yaml => config.yml} (100%) rename examples/061/config/02/{config.yaml => config.yml} (100%) rename examples/061/config/03/{config.yaml => config.yml} (100%) rename examples/{075/config/01/config.yaml => 070/config/01/config.yml} (100%) rename examples/070/config/02/{config.yaml => config.yml} (100%) rename examples/{076/config/01/config.yaml => 071/config/01/config.yml} (100%) rename examples/071/config/02/{config.yaml => config.yml} (100%) rename examples/071/config/03/{config.yaml => config.yml} (100%) rename examples/{077/config/01/config.yaml => 074/config/01/config.yml} (100%) rename examples/074/config/02/{config.yaml => config.yml} (100%) rename examples/074/config/03/{config.yaml => config.yml} (100%) rename examples/{078/config/01/config.yaml => 075/config/01/config.yml} (100%) rename examples/075/config/02/{config.yaml => config.yml} (100%) rename examples/075/config/03/{config.yaml => config.yml} (100%) rename examples/075/config/04/{config.yaml => config.yml} (100%) rename examples/{080/config/01/config.yaml => 076/config/01/config.yml} (100%) rename examples/076/config/02/{config.yaml => config.yml} (100%) rename examples/076/config/03/{config.yaml => config.yml} (100%) rename examples/076/config/04/{config.yaml => config.yml} (100%) rename examples/{081/config/01/config.yaml => 077/config/01/config.yml} (100%) rename examples/077/config/02/{config.yaml => config.yml} (100%) rename examples/077/config/03/{config.yaml => config.yml} (100%) rename examples/077/config/04/{config.yaml => config.yml} (100%) rename examples/{082/config/01/config.yaml => 078/config/01/config.yml} (100%) rename examples/078/config/02/{config.yaml => config.yml} (100%) rename examples/078/config/03/{config.yaml => config.yml} (100%) rename examples/078/config/04/{config.yaml => config.yml} (100%) rename examples/{083/config/01/config.yaml => 080/config/01/config.yml} (100%) rename examples/{101/100/config/01/config.yaml => 081/config/01/config.yml} (100%) rename examples/081/config/02/{config.yaml => config.yml} (100%) create mode 100644 examples/082/config/01/config.yml rename examples/082/config/02/{config.yaml => config.yml} (100%) rename examples/082/config/03/{config.yaml => config.yml} (100%) rename examples/082/config/04/{config.yaml => config.yml} (100%) create mode 100644 examples/083/config/01/config.yml rename examples/083/config/02/{config.yaml => config.yml} (100%) rename examples/083/config/03/{config.yaml => config.yml} (100%) rename examples/083/config/04/{config.yaml => config.yml} (100%) create mode 100644 examples/101/100/config/01/config.yml rename examples/101/100/config/02/{config.yaml => config.yml} (100%) rename examples/101/100/config/03/{config.yaml => config.yml} (100%) diff --git a/build.py b/build.py index 9c843a7..183a415 100755 --- a/build.py +++ b/build.py @@ -5,6 +5,7 @@ from json import dump, loads from pathlib import Path from ruamel.yaml import YAML from ansi2html import Ansi2HTMLConverter +from bs4 import BeautifulSoup from rougail import Rougail from rougail.config import get_rougail_config @@ -13,11 +14,11 @@ from rougail.user_data_yaml import RougailUserDataYaml from rougail.output_doc import RougailOutputDoc - - if __name__ == "__main__": builder_dir = sys.argv[1] previous = Path(builder_dir) / "previous.yml" + with Path("install.txt").open() as fh: + cmd = fh.read() commit_id = sys.argv[2] # rougailconfig = RougailConfig.copy() rougailconfig = get_rougail_config(backward_compatibility=False, add_extra_options=False) @@ -58,57 +59,68 @@ if __name__ == "__main__": doc = '' yaml = YAML() namespace = 'firefox' - file_found = False if rougailconfig['main_namespace']: - all_dirs = [[rougailconfig['main_structural_directories']], [['foxyproxy']]] + dirname = "foxyproxy" else: - all_dirs = [[rougailconfig['main_structural_directories']]] - + dirname = "firefox" doc += inv_formatter.title('Screenshot', 2) + '\n' doc += f'{namespace.capitalize()} Proxy setting\n\n' # with doc_file.open('r') as docfh: # doc += docfh.read() - doc += '\n' + inv_formatter.title('Structure', 2) + '\n' - print(all_dirs) - for r in all_dirs: - for dirs in r: - for d in dirs: - print(d) - files = list(Path(d).iterdir()) - files.sort() - for f in files: - namespace = f.parent.name - file_found = True - if f.name.endswith('.yml') or f.name.endswith('.yaml'): - doc += inv_formatter.title(str(f), 3) - doc += '\n```yml\n' - with f.open(encoding="utf8") as file_fh: - doc += file_fh.read() - doc += '\n```\n' + doc += '\n' + inv_formatter.title('Clone and install', 2) + '\n\n' + doc += "To test this tutorial, you need to download this repository and install Rougail:\n\n" + doc += f'```shell\n{cmd}```\n\n' + doc += "Then switch to the tutorial page:\n\n" + doc += f"```shell\ngit switch --detach {commit_id}\n```\n" + tree = Path('tree.html') + display_yml = None + if tree.is_file(): + doc += '\n' + inv_formatter.title('Structure', 2) + '\n\n' + with tree.open() as fh: + soup = BeautifulSoup(fh.read(), features="lxml") + doc += str(soup.find('p')) + "\n\n" + for f in Path('.').iterdir(): + if f.name.startswith('DISPLAY_'): + filename = f.name[9:] + display_yml = Path(dirname) / filename + break + else: + files = list(Path(dirname).iterdir()) + files.sort() + for f in reversed(files): + if not f.name.endswith('.yml'): + continue + display_yml = f + break + if display_yml: + doc += f"Contents of the {str(display_yml)} file" + doc += '\n\n```yml\n' + with display_yml.open(encoding="utf8") as file_fh: + doc += file_fh.read() + doc += '\n```\n' rougailconfig['step.output'] = 'doc' rougailconfig["doc.title_level"] = 4 inv_doc = inventory.run()[1] - CMD = f"foo@bar:~$ git switch --detach {commit_id}\n" - CMD += "foo@bar:~$ rougail -m firefox/ " + CMD = "rougail -m firefox/ " if has_namespace: CMD += "-s Firefox " if has_foxyproxy: CMD += "-xn FoxyProxy -xd 0 foxyproxy/ " if has_mode: CMD += "--modes_level basic standard advanced " - if file_found and inv_doc: + if inv_doc: doc += inv_formatter.title("Let's generate the documentation", 3) cmd = CMD + "-o doc" - doc += f'```console\n{cmd}\n```\n' + doc += f'```shell\n{cmd}\n```\n' doc += inv_doc if previous.is_file(): rougailconfig["doc.contents"] = ["changelog"] rougailconfig["doc.previous_json_file"] = str(previous) inv_doc = inventory.run()[1] - if file_found and inv_doc: + if inv_doc: doc += inv_formatter.title("Let's generate the changelog", 3) cmd = CMD + "-o doc --doc.contents changelog" - doc += f'```console\n{cmd}\n```\n' + doc += f'```shell\n{cmd}\n```\n' doc += inv_doc + "\n" # save PREVIOUS rougailconfig["doc.contents"] = ["variables"] @@ -134,15 +146,7 @@ if __name__ == "__main__": doc += '\n```yml\n' with filename.open(encoding="utf8") as file_fh: doc += file_fh.read() - doc += '\n```\n' -# with filename.open(encoding="utf8") as file_fh: -# objects = yaml.load(file_fh) -# doc += inv_formatter.yaml(objects) - #readme = dirname / 'README.md' - #if readme.is_file(): - # doc += inv_formatter.title('Description', 4) - # with readme.open() as fh: - # doc += fh.read() + '\n\n' + doc += '```\n' rougail = Rougail(rougailconfig) tiramisu_config = rougail.run() rougailconfig['step.user_data'] = ['yaml'] @@ -158,25 +162,51 @@ if __name__ == "__main__": console = export.run()[1] conv = Ansi2HTMLConverter(inline=True) doc += inv_formatter.title('Output', 4) - cmd = CMD + f"-u yaml -ff {filename}" - doc += f"```console\n{cmd}\n```\n" + cmd = CMD + f"-u yaml -yf {filename}" + with (dirname / "cmd_ro.txt").open("w") as fh: + fh.write(cmd) + doc += f"```shell\n{cmd}\n```\n" conv_data = '
' + conv.convert(console, full=False) + "
\n" doc += conv_data with open(dirname / 'output_ro.html', 'w') as fh_output: fh_output.write(conv_data) - if (config / 'read_write').is_file(): - tiramisu_config.property.read_write + if (dirname / 'invalid').is_file(): + errors2 = rougail.user_datas(ret, invalid_user_datas_error=True) export = RougailOutputConsole(tiramisu_config, rougailconfig=rougailconfig, - user_data_errors=errors['errors'], - user_data_warnings=errors['warnings'], + user_data_errors=errors2['errors'], + user_data_warnings=errors2['warnings'], + ) + console = export.run()[1] + conv = Ansi2HTMLConverter(inline=True) + doc += inv_formatter.title('Output when invalid user datas is an error', 4) + cmd2 = cmd + " --cli.invalid_user_datas_error" + with (dirname / "cmd_invalid.txt").open("w") as fh: + fh.write(cmd2) + doc += f"```shell\n{cmd2}\n```\n" + conv_data = '
' + conv.convert(console, full=False) + "
\n" + doc += conv_data + with open(dirname / 'output_invalid.html', 'w') as fh_output: + fh_output.write(conv_data) + if (dirname / 'read_write').is_file(): + trougailconfig = rougailconfig.copy() + trougailconfig["console.mandatory"] = False + tiramisu_config.property.read_write() + errors2 = rougail.user_datas(ret, invalid_user_datas_error=True) + export = RougailOutputConsole(tiramisu_config, + rougailconfig=trougailconfig, + user_data_errors=errors2['errors'], + user_data_warnings=errors2['warnings'], ) console = export.run()[1] conv = Ansi2HTMLConverter(inline=True) doc += inv_formatter.title('Output in read write mode', 4) - cmd = cmd + " --cli.read_write" - doc += f"```console\n{cmd}\n```\n" - doc += '
' + conv.convert(console, full=False) + "
\n" + cmd2 = cmd + " --cli.read_write" + with (dirname / "cmd_rw.txt").open("w") as fh: + fh.write(cmd2) + doc += f"```shell\n{cmd2}\n```\n" + conv_data = '
' + conv.convert(console, full=False) + "
\n" + doc += conv_data with open(dirname / 'output_rw.html', 'w') as fh_output: fh_output.write(conv_data) # diff --git a/build.sh b/build.sh index 9903ae7..8a0824f 100755 --- a/build.sh +++ b/build.sh @@ -11,7 +11,7 @@ if [ -d $DEST ]; then exit 1 fi -export LC_ALL=C +export LC_ALL=C.UTF-8 BUILDER="$(pwd)" mkdir -p $DEST/firefox @@ -22,10 +22,13 @@ touch summary_total.md cd "$DEST" DEST="$(pwd)" +TUTO_ROOT=https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit + cp "$BUILDER"/firefox.png . cp "$BUILDER"/foxyproxy.png . cp "$BUILDER"/summary.md . +cp "$BUILDER"/install.txt . touch README.md "$BUILDER"/build.py "$BUILDER" "$VERSION" rm -rf summary.md @@ -38,11 +41,11 @@ git commit -am"$(cat $BUILDER/TITLE)" cd - > /dev/null for i in $(ls -d "examples"/* | sort); do - num=$(echo $(basename "$i")) - echo "$num" - commit_id="v${VERSION}_$num" - summary="[tutorial $commit_id] $(head -n 1 $i/README.md)" - echo "- [$summary](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/$commit_id/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/${commit_id}~1..$commit_id))" >> summary_total.md + num=$(echo $(basename "$i")) + echo "$num" + commit_id="v${VERSION}_$num" + summary="[tutorial $commit_id] $(head -n 1 $i/README.md)" + echo "- [$summary](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/$commit_id/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/${commit_id}~1..$commit_id))" >> summary_total.md done for i in $(ls -d "examples"/* | sort); do @@ -53,7 +56,7 @@ for i in $(ls -d "examples"/* | sort); do echo " - $(head -n 1 $i/SUBTITLE.md)" >> summary.md fi if [ -f "$i/README.md" ]; then - rm -rf "$DEST/config" + rm -rf "$DEST/config" "$DEST/tree.html" num=$(echo $(basename "$i")) echo "$num" commit_id="v${VERSION}_$num" @@ -61,9 +64,12 @@ for i in $(ls -d "examples"/* | sort); do diff_url="https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/${commit_id}~1..$commit_id" echo " - [$summary](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/$commit_id/README.md) ([diff]($diff_url))" >> summary.md cp "summary_total.md" "$DEST" + BEFORE=$PWD cd "$i/structural_files" + echo "=====================" if [ -d firefox ]; then for j in $(ls firefox/*.yml 2>/dev/null); do + echo "++++ $j" cp "$j" "$DEST/$j" done fi @@ -73,14 +79,18 @@ for i in $(ls -d "examples"/* | sort); do cp "$j" "$DEST/$j" done fi + cp "DISPLAY_*" "$DEST/" 2> /dev/null || true + cd $DEST + tree -H $TUTO_ROOT/$commit_id/ -P "*.yml" > tree.html + cd - > /dev/null cp -f ../README.md "$DEST" if [ -d ../config ]; then cp -aL ../config "$DEST" fi - msg="[tutorial $(basename $i)] $(cat ../README.md)" + msg="[tutorial $commit_id] $(cat ../README.md)" [ -e ../firefox.png ] && cp ../firefox.png "$DEST" [ -e ../foxyproxy.png ] && cp ../foxyproxy.png "$DEST" - cd - > /dev/null + cd $BEFORE cd "$DEST" # before=$(grep "commit/$commit_id/README.md" summary_total.md -B1 | wc -l) @@ -101,7 +111,7 @@ for i in $(ls -d "examples"/* | sort); do mv config/mode mode fi "$BUILDER"/build.py "$BUILDER" "$commit_id" - rm -rf config/*/README.md config/read_write config/namespace + rm -rf config/*/README.md config/*/read_write config/namespace config/*/invalid DISPLAY_* rm -rf jinja_caches summary.md summary_before.md summary_after.md summary_total.md if [ -f mode ]; then MODE=1 @@ -109,7 +119,7 @@ for i in $(ls -d "examples"/* | sort); do else MODE=0 fi - git add *.png README.md + git add *.png README.md install.txt tree.html if [ -d config ]; then git add config else @@ -145,13 +155,11 @@ This is what the page looks like: " > README.md echo '# Installation -```bash -# git clone -b 1.1 https://forge.cloud.silique.fr/stove/rougail-tutorials.git -# cd rougail-tutorials -# python -m venv rougail -# . rougail/bin/activate -# pip install rougail-cli rougail-output-exporter rougail-output-doc rougail-user-data-file -``` +To test this tutorial, you need to download this repository and install Rougail: + +```bash' >> README.md +cat install.txt >> README.md +echo '``` ' >> README.md echo "# Summary @@ -161,7 +169,7 @@ cp "$BUILDER"/firefox.png . cp "$BUILDER"/foxyproxy.png . cat "$BUILDER"/summary.md >> README.md echo >> README.md -rm -rf firefox foxyproxy mode +rm -rf firefox foxyproxy mode install.txt tree.html git add . git commit -am"Summary" # diff --git a/examples/000/config/01/config.yaml b/examples/000/config/01/config.yml similarity index 100% rename from examples/000/config/01/config.yaml rename to examples/000/config/01/config.yml diff --git a/examples/001/config/01/config.yaml b/examples/001/config/01/config.yml similarity index 100% rename from examples/001/config/01/config.yaml rename to examples/001/config/01/config.yml diff --git a/examples/012/config/read_write b/examples/001/config/01/read_write similarity index 100% rename from examples/012/config/read_write rename to examples/001/config/01/read_write diff --git a/examples/001/config/02/config.yaml b/examples/001/config/02/config.yml similarity index 100% rename from examples/001/config/02/config.yaml rename to examples/001/config/02/config.yml diff --git a/examples/001/config/05/README.md b/examples/001/config/03/README.md similarity index 100% rename from examples/001/config/05/README.md rename to examples/001/config/03/README.md diff --git a/examples/001/config/05/config.yaml b/examples/001/config/03/config.yml similarity index 100% rename from examples/001/config/05/config.yaml rename to examples/001/config/03/config.yml diff --git a/examples/020/config/read_write b/examples/001/config/03/invalid similarity index 100% rename from examples/020/config/read_write rename to examples/001/config/03/invalid diff --git a/examples/002/config b/examples/002/config deleted file mode 120000 index 160a2a6..0000000 --- a/examples/002/config +++ /dev/null @@ -1 +0,0 @@ -../010/config \ No newline at end of file diff --git a/examples/002/config/01/README.md b/examples/002/config/01/README.md new file mode 100644 index 0000000..63072c4 --- /dev/null +++ b/examples/002/config/01/README.md @@ -0,0 +1 @@ +The user data file is empty. So it's only default value that will be used. diff --git a/examples/012/config/01/config.yaml b/examples/002/config/01/config.yml similarity index 100% rename from examples/012/config/01/config.yaml rename to examples/002/config/01/config.yml diff --git a/examples/002/config/01/read_write b/examples/002/config/01/read_write new file mode 100644 index 0000000..e69de29 diff --git a/examples/002/config/02/config.yml b/examples/002/config/02/config.yml new file mode 100644 index 0000000..d914488 --- /dev/null +++ b/examples/002/config/02/config.yml @@ -0,0 +1,2 @@ +--- +proxy_mode: No proxy diff --git a/examples/001/config/04/README.md b/examples/002/config/03/README.md similarity index 100% rename from examples/001/config/04/README.md rename to examples/002/config/03/README.md diff --git a/examples/001/config/04/config.yaml b/examples/002/config/03/config.yml similarity index 100% rename from examples/001/config/04/config.yaml rename to examples/002/config/03/config.yml diff --git a/examples/003/config b/examples/003/config deleted file mode 120000 index 160a2a6..0000000 --- a/examples/003/config +++ /dev/null @@ -1 +0,0 @@ -../010/config \ No newline at end of file diff --git a/examples/003/config/01/README.md b/examples/003/config/01/README.md new file mode 100644 index 0000000..63072c4 --- /dev/null +++ b/examples/003/config/01/README.md @@ -0,0 +1 @@ +The user data file is empty. So it's only default value that will be used. diff --git a/examples/020/config/01/config.yaml b/examples/003/config/01/config.yml similarity index 100% rename from examples/020/config/01/config.yaml rename to examples/003/config/01/config.yml diff --git a/examples/003/config/02/config.yml b/examples/003/config/02/config.yml new file mode 100644 index 0000000..d914488 --- /dev/null +++ b/examples/003/config/02/config.yml @@ -0,0 +1,2 @@ +--- +proxy_mode: No proxy diff --git a/examples/003/config/03/README.md b/examples/003/config/03/README.md new file mode 100644 index 0000000..fa01af6 --- /dev/null +++ b/examples/003/config/03/README.md @@ -0,0 +1 @@ +"foo" should be an invalid value for this variable. diff --git a/examples/003/config/03/config.yml b/examples/003/config/03/config.yml new file mode 100644 index 0000000..e3fa25d --- /dev/null +++ b/examples/003/config/03/config.yml @@ -0,0 +1,2 @@ +--- +proxy_mode: foo diff --git a/examples/004/config b/examples/004/config deleted file mode 120000 index 160a2a6..0000000 --- a/examples/004/config +++ /dev/null @@ -1 +0,0 @@ -../010/config \ No newline at end of file diff --git a/examples/004/config/01/README.md b/examples/004/config/01/README.md new file mode 100644 index 0000000..63072c4 --- /dev/null +++ b/examples/004/config/01/README.md @@ -0,0 +1 @@ +The user data file is empty. So it's only default value that will be used. diff --git a/examples/070/config/01/config.yaml b/examples/004/config/01/config.yml similarity index 100% rename from examples/070/config/01/config.yaml rename to examples/004/config/01/config.yml diff --git a/examples/004/config/02/config.yml b/examples/004/config/02/config.yml new file mode 100644 index 0000000..d914488 --- /dev/null +++ b/examples/004/config/02/config.yml @@ -0,0 +1,2 @@ +--- +proxy_mode: No proxy diff --git a/examples/001/config/03/config.yaml b/examples/004/config/03/config.yml similarity index 100% rename from examples/001/config/03/config.yaml rename to examples/004/config/03/config.yml diff --git a/examples/004/config/04/README.md b/examples/004/config/04/README.md new file mode 100644 index 0000000..fa01af6 --- /dev/null +++ b/examples/004/config/04/README.md @@ -0,0 +1 @@ +"foo" should be an invalid value for this variable. diff --git a/examples/004/config/04/config.yml b/examples/004/config/04/config.yml new file mode 100644 index 0000000..e3fa25d --- /dev/null +++ b/examples/004/config/04/config.yml @@ -0,0 +1,2 @@ +--- +proxy_mode: foo diff --git a/examples/004/config/04/invalid b/examples/004/config/04/invalid new file mode 100644 index 0000000..e69de29 diff --git a/examples/071/config/01/config.yaml b/examples/012/config/01/config.yml similarity index 100% rename from examples/071/config/01/config.yaml rename to examples/012/config/01/config.yml diff --git a/examples/012/config/02/config.yml b/examples/012/config/02/config.yml new file mode 100644 index 0000000..22422a2 --- /dev/null +++ b/examples/012/config/02/config.yml @@ -0,0 +1,4 @@ +--- +manual: + http_proxy: + address: example.net diff --git a/examples/012/config/03/config.yml b/examples/012/config/03/config.yml new file mode 100644 index 0000000..da3353a --- /dev/null +++ b/examples/012/config/03/config.yml @@ -0,0 +1,5 @@ +--- +manual: + http_proxy: + address: example.net + port: 3128 diff --git a/examples/020/config/01/config.yml b/examples/020/config/01/config.yml new file mode 100644 index 0000000..22422a2 --- /dev/null +++ b/examples/020/config/01/config.yml @@ -0,0 +1,4 @@ +--- +manual: + http_proxy: + address: example.net diff --git a/examples/020/config/02/config.yaml b/examples/020/config/02/config.yaml deleted file mode 100644 index 74edb22..0000000 --- a/examples/020/config/02/config.yaml +++ /dev/null @@ -1,2 +0,0 @@ ---- -proxy_mode: Manual proxy configuration diff --git a/examples/020/config/02/config.yml b/examples/020/config/02/config.yml new file mode 100644 index 0000000..cbc9903 --- /dev/null +++ b/examples/020/config/02/config.yml @@ -0,0 +1,4 @@ +--- +manual: + http_proxy: + address: 192.168.0.1 diff --git a/examples/020/config/02/invalid b/examples/020/config/02/invalid new file mode 100644 index 0000000..e69de29 diff --git a/examples/020/config/03/config.yml b/examples/020/config/03/config.yml new file mode 100644 index 0000000..bdc052c --- /dev/null +++ b/examples/020/config/03/config.yml @@ -0,0 +1,4 @@ +--- +manual: + http_proxy: + address: not a valid domain name diff --git a/examples/020/config/03/invalid b/examples/020/config/03/invalid new file mode 100644 index 0000000..e69de29 diff --git a/examples/020/config/05/README.md b/examples/020/config/05/README.md deleted file mode 100644 index 765a56e..0000000 --- a/examples/020/config/05/README.md +++ /dev/null @@ -1,2 +0,0 @@ -If "use_for_https" is false, HTTPS variables are visible in read only mode and in read write mode. - diff --git a/examples/020/config/05/config.yaml b/examples/020/config/05/config.yaml deleted file mode 100644 index 4a1f789..0000000 --- a/examples/020/config/05/config.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -proxy_mode: Manual proxy configuration -manual: - http_proxy: - address: http.proxy.net - port: '3128' - use_for_https: false - https_proxy: - address: https.proxy.net diff --git a/examples/021/config b/examples/021/config index de1b26f..f6f691c 120000 --- a/examples/021/config +++ b/examples/021/config @@ -1 +1 @@ -../022/config \ No newline at end of file +../020/config \ No newline at end of file diff --git a/examples/022/config b/examples/022/config deleted file mode 120000 index de1b26f..0000000 --- a/examples/022/config +++ /dev/null @@ -1 +0,0 @@ -../022/config \ No newline at end of file diff --git a/examples/012/config/03/config.yaml b/examples/022/config/01/config.yml similarity index 100% rename from examples/012/config/03/config.yaml rename to examples/022/config/01/config.yml diff --git a/examples/020/config/04/config.yaml b/examples/022/config/02/config.yml similarity index 84% rename from examples/020/config/04/config.yaml rename to examples/022/config/02/config.yml index c8d73af..6e7c9dc 100644 --- a/examples/020/config/04/config.yaml +++ b/examples/022/config/02/config.yml @@ -3,4 +3,4 @@ proxy_mode: Manual proxy configuration manual: http_proxy: address: example.net - port: '3128' + port: 3128 diff --git a/examples/022/config/03/config.yml b/examples/022/config/03/config.yml new file mode 100644 index 0000000..d05944f --- /dev/null +++ b/examples/022/config/03/config.yml @@ -0,0 +1,6 @@ +--- +proxy_mode: Manual proxy configuration +manual: + http_proxy: + address: example.net + port: 100000 diff --git a/examples/022/config/03/invalid b/examples/022/config/03/invalid new file mode 100644 index 0000000..e69de29 diff --git a/examples/023/config b/examples/023/config deleted file mode 120000 index dce6a43..0000000 --- a/examples/023/config +++ /dev/null @@ -1 +0,0 @@ -../013/config \ No newline at end of file diff --git a/examples/023/config/01/config.yml b/examples/023/config/01/config.yml new file mode 100644 index 0000000..22422a2 --- /dev/null +++ b/examples/023/config/01/config.yml @@ -0,0 +1,4 @@ +--- +manual: + http_proxy: + address: example.net diff --git a/examples/023/config/02/config.yml b/examples/023/config/02/config.yml new file mode 100644 index 0000000..e4ecc47 --- /dev/null +++ b/examples/023/config/02/config.yml @@ -0,0 +1,5 @@ +--- +manual: + http_proxy: + address: example.net + use_for_https: false diff --git a/examples/024/config b/examples/024/config index dce6a43..f6f691c 120000 --- a/examples/024/config +++ b/examples/024/config @@ -1 +1 @@ -../013/config \ No newline at end of file +../020/config \ No newline at end of file diff --git a/examples/024/structural_files/DISPLAY_10-manual.yml b/examples/024/structural_files/DISPLAY_10-manual.yml new file mode 100644 index 0000000..e69de29 diff --git a/examples/030/config b/examples/030/config deleted file mode 120000 index de1b26f..0000000 --- a/examples/030/config +++ /dev/null @@ -1 +0,0 @@ -../022/config \ No newline at end of file diff --git a/examples/074/config/01/config.yaml b/examples/030/config/01/config.yml similarity index 100% rename from examples/074/config/01/config.yaml rename to examples/030/config/01/config.yml diff --git a/examples/030/config/01/read_write b/examples/030/config/01/read_write new file mode 100644 index 0000000..e69de29 diff --git a/examples/012/config/02/config.yaml b/examples/030/config/02/config.yml similarity index 100% rename from examples/012/config/02/config.yaml rename to examples/030/config/02/config.yml diff --git a/examples/030/config/02/read_write b/examples/030/config/02/read_write new file mode 100644 index 0000000..e69de29 diff --git a/examples/020/config/03/config.yaml b/examples/030/config/03/config.yml similarity index 100% rename from examples/020/config/03/config.yaml rename to examples/030/config/03/config.yml diff --git a/examples/030/config/03/read_write b/examples/030/config/03/read_write new file mode 100644 index 0000000..e69de29 diff --git a/examples/012/config/04/config.yaml b/examples/030/config/04/config.yml similarity index 100% rename from examples/012/config/04/config.yaml rename to examples/030/config/04/config.yml diff --git a/examples/030/config/04/read_write b/examples/030/config/04/read_write new file mode 100644 index 0000000..e69de29 diff --git a/examples/012/config/05/README.md b/examples/030/config/05/README.md similarity index 100% rename from examples/012/config/05/README.md rename to examples/030/config/05/README.md diff --git a/examples/012/config/05/config.yaml b/examples/030/config/05/config.yml similarity index 100% rename from examples/012/config/05/config.yaml rename to examples/030/config/05/config.yml diff --git a/examples/030/config/05/read_write b/examples/030/config/05/read_write new file mode 100644 index 0000000..e69de29 diff --git a/examples/031/config b/examples/031/config index de1b26f..d36ce75 120000 --- a/examples/031/config +++ b/examples/031/config @@ -1 +1 @@ -../022/config \ No newline at end of file +../030/config \ No newline at end of file diff --git a/examples/032/config b/examples/032/config index dce6a43..d36ce75 120000 --- a/examples/032/config +++ b/examples/032/config @@ -1 +1 @@ -../013/config \ No newline at end of file +../030/config \ No newline at end of file diff --git a/examples/033/config b/examples/033/config index dce6a43..d36ce75 120000 --- a/examples/033/config +++ b/examples/033/config @@ -1 +1 @@ -../013/config \ No newline at end of file +../030/config \ No newline at end of file diff --git a/examples/060/config/01/config.yaml b/examples/060/config/01/config.yml similarity index 100% rename from examples/060/config/01/config.yaml rename to examples/060/config/01/config.yml diff --git a/examples/060/config/02/config.yaml b/examples/060/config/02/config.yml similarity index 100% rename from examples/060/config/02/config.yaml rename to examples/060/config/02/config.yml diff --git a/examples/060/config/03/config.yaml b/examples/060/config/03/config.yml similarity index 100% rename from examples/060/config/03/config.yaml rename to examples/060/config/03/config.yml diff --git a/examples/061/config/01/config.yaml b/examples/061/config/01/config.yml similarity index 100% rename from examples/061/config/01/config.yaml rename to examples/061/config/01/config.yml diff --git a/examples/061/config/02/config.yaml b/examples/061/config/02/config.yml similarity index 100% rename from examples/061/config/02/config.yaml rename to examples/061/config/02/config.yml diff --git a/examples/061/config/03/config.yaml b/examples/061/config/03/config.yml similarity index 100% rename from examples/061/config/03/config.yaml rename to examples/061/config/03/config.yml diff --git a/examples/075/config/01/config.yaml b/examples/070/config/01/config.yml similarity index 100% rename from examples/075/config/01/config.yaml rename to examples/070/config/01/config.yml diff --git a/examples/070/config/02/config.yaml b/examples/070/config/02/config.yml similarity index 100% rename from examples/070/config/02/config.yaml rename to examples/070/config/02/config.yml diff --git a/examples/076/config/01/config.yaml b/examples/071/config/01/config.yml similarity index 100% rename from examples/076/config/01/config.yaml rename to examples/071/config/01/config.yml diff --git a/examples/071/config/02/config.yaml b/examples/071/config/02/config.yml similarity index 100% rename from examples/071/config/02/config.yaml rename to examples/071/config/02/config.yml diff --git a/examples/071/config/03/config.yaml b/examples/071/config/03/config.yml similarity index 100% rename from examples/071/config/03/config.yaml rename to examples/071/config/03/config.yml diff --git a/examples/077/config/01/config.yaml b/examples/074/config/01/config.yml similarity index 100% rename from examples/077/config/01/config.yaml rename to examples/074/config/01/config.yml diff --git a/examples/074/config/02/config.yaml b/examples/074/config/02/config.yml similarity index 100% rename from examples/074/config/02/config.yaml rename to examples/074/config/02/config.yml diff --git a/examples/074/config/03/config.yaml b/examples/074/config/03/config.yml similarity index 100% rename from examples/074/config/03/config.yaml rename to examples/074/config/03/config.yml diff --git a/examples/078/config/01/config.yaml b/examples/075/config/01/config.yml similarity index 100% rename from examples/078/config/01/config.yaml rename to examples/075/config/01/config.yml diff --git a/examples/075/config/02/config.yaml b/examples/075/config/02/config.yml similarity index 100% rename from examples/075/config/02/config.yaml rename to examples/075/config/02/config.yml diff --git a/examples/075/config/03/config.yaml b/examples/075/config/03/config.yml similarity index 100% rename from examples/075/config/03/config.yaml rename to examples/075/config/03/config.yml diff --git a/examples/075/config/04/config.yaml b/examples/075/config/04/config.yml similarity index 100% rename from examples/075/config/04/config.yaml rename to examples/075/config/04/config.yml diff --git a/examples/080/config/01/config.yaml b/examples/076/config/01/config.yml similarity index 100% rename from examples/080/config/01/config.yaml rename to examples/076/config/01/config.yml diff --git a/examples/076/config/02/config.yaml b/examples/076/config/02/config.yml similarity index 100% rename from examples/076/config/02/config.yaml rename to examples/076/config/02/config.yml diff --git a/examples/076/config/03/config.yaml b/examples/076/config/03/config.yml similarity index 100% rename from examples/076/config/03/config.yaml rename to examples/076/config/03/config.yml diff --git a/examples/076/config/04/config.yaml b/examples/076/config/04/config.yml similarity index 100% rename from examples/076/config/04/config.yaml rename to examples/076/config/04/config.yml diff --git a/examples/081/config/01/config.yaml b/examples/077/config/01/config.yml similarity index 100% rename from examples/081/config/01/config.yaml rename to examples/077/config/01/config.yml diff --git a/examples/077/config/02/config.yaml b/examples/077/config/02/config.yml similarity index 100% rename from examples/077/config/02/config.yaml rename to examples/077/config/02/config.yml diff --git a/examples/077/config/03/config.yaml b/examples/077/config/03/config.yml similarity index 100% rename from examples/077/config/03/config.yaml rename to examples/077/config/03/config.yml diff --git a/examples/077/config/04/config.yaml b/examples/077/config/04/config.yml similarity index 100% rename from examples/077/config/04/config.yaml rename to examples/077/config/04/config.yml diff --git a/examples/082/config/01/config.yaml b/examples/078/config/01/config.yml similarity index 100% rename from examples/082/config/01/config.yaml rename to examples/078/config/01/config.yml diff --git a/examples/078/config/02/config.yaml b/examples/078/config/02/config.yml similarity index 100% rename from examples/078/config/02/config.yaml rename to examples/078/config/02/config.yml diff --git a/examples/078/config/03/config.yaml b/examples/078/config/03/config.yml similarity index 100% rename from examples/078/config/03/config.yaml rename to examples/078/config/03/config.yml diff --git a/examples/078/config/04/config.yaml b/examples/078/config/04/config.yml similarity index 100% rename from examples/078/config/04/config.yaml rename to examples/078/config/04/config.yml diff --git a/examples/083/config/01/config.yaml b/examples/080/config/01/config.yml similarity index 100% rename from examples/083/config/01/config.yaml rename to examples/080/config/01/config.yml diff --git a/examples/101/100/config/01/config.yaml b/examples/081/config/01/config.yml similarity index 100% rename from examples/101/100/config/01/config.yaml rename to examples/081/config/01/config.yml diff --git a/examples/081/config/02/config.yaml b/examples/081/config/02/config.yml similarity index 100% rename from examples/081/config/02/config.yaml rename to examples/081/config/02/config.yml diff --git a/examples/082/config/01/config.yml b/examples/082/config/01/config.yml new file mode 100644 index 0000000..ed97d53 --- /dev/null +++ b/examples/082/config/01/config.yml @@ -0,0 +1 @@ +--- diff --git a/examples/082/config/02/config.yaml b/examples/082/config/02/config.yml similarity index 100% rename from examples/082/config/02/config.yaml rename to examples/082/config/02/config.yml diff --git a/examples/082/config/03/config.yaml b/examples/082/config/03/config.yml similarity index 100% rename from examples/082/config/03/config.yaml rename to examples/082/config/03/config.yml diff --git a/examples/082/config/04/config.yaml b/examples/082/config/04/config.yml similarity index 100% rename from examples/082/config/04/config.yaml rename to examples/082/config/04/config.yml diff --git a/examples/083/config/01/config.yml b/examples/083/config/01/config.yml new file mode 100644 index 0000000..ed97d53 --- /dev/null +++ b/examples/083/config/01/config.yml @@ -0,0 +1 @@ +--- diff --git a/examples/083/config/02/config.yaml b/examples/083/config/02/config.yml similarity index 100% rename from examples/083/config/02/config.yaml rename to examples/083/config/02/config.yml diff --git a/examples/083/config/03/config.yaml b/examples/083/config/03/config.yml similarity index 100% rename from examples/083/config/03/config.yaml rename to examples/083/config/03/config.yml diff --git a/examples/083/config/04/config.yaml b/examples/083/config/04/config.yml similarity index 100% rename from examples/083/config/04/config.yaml rename to examples/083/config/04/config.yml diff --git a/examples/101/100/config/01/config.yml b/examples/101/100/config/01/config.yml new file mode 100644 index 0000000..ed97d53 --- /dev/null +++ b/examples/101/100/config/01/config.yml @@ -0,0 +1 @@ +--- diff --git a/examples/101/100/config/02/config.yaml b/examples/101/100/config/02/config.yml similarity index 100% rename from examples/101/100/config/02/config.yaml rename to examples/101/100/config/02/config.yml diff --git a/examples/101/100/config/03/config.yaml b/examples/101/100/config/03/config.yml similarity index 100% rename from examples/101/100/config/03/config.yaml rename to examples/101/100/config/03/config.yml