diff --git a/mkdocs.yml b/mkdocs.yml index 7fa533b..d0255a4 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -140,4 +140,5 @@ nav: - 101: cmnds/101.md - AddUser 1Line: cmnds/adduser-1line.md - Tasmota Backlogs: cmnds/tasmota-backlogs.md - - sthope: '/portainer-stacks/' \ No newline at end of file + - sthope: '/portainer-stacks/' + \ No newline at end of file diff --git a/scripts/1.py b/scripts/1.py index 8b06382..fa51523 100644 --- a/scripts/1.py +++ b/scripts/1.py @@ -1,47 +1,21 @@ -import os -import argparse +# Read the original mkdocs.yml content +with open('mkdocs.yml', 'r') as file: + lines = file.readlines() -# Define the directory containing Portainer Stack Markdown files -markdown_dir = "./docs/portainer-stacks" +# Find the start and end indexes of the section to replace +start_index = None +end_index = None +for i, line in enumerate(lines): + if line.strip() == '- Portainer Stacks:': + start_index = i + elif line.strip() == '- Swag:': + end_index = i + break -# Define the relative path prefix used in mkdocs.yml -relative_path_prefix = "portainer-stacks/" +# Replace the lines between start and end indexes with the new content +if start_index is not None and end_index is not None: + lines[start_index:end_index + 1] = [' - Portainer Stacks:\n', ' - Swag:\n'] -# Read the existing mkdocs.yml content -with open("mkdocs.yml", "r") as f: - mkdocs_content = f.read() - -# Generate navigation entries -nav_entries = [] -for filename in os.listdir(markdown_dir): - if filename.endswith(".md"): - title = filename[:-3] # Remove ".md" extension - relative_path = f"{relative_path_prefix}{filename}" # Generate relative path - nav_entries.append(f" - {title}: {relative_path}") # Add 4 spaces - -# List of names to ignore -names_to_ignore = ["template"] # Add names you want to ignore here - -# Filter out entries to ignore -filtered_nav_entries = [entry for entry in nav_entries if not any(name in entry for name in names_to_ignore)] - -# Sort the navigation entries alphabetically (case-insensitive) -sorted_nav_entries = sorted(filtered_nav_entries, key=lambda entry: entry.lower()) - -# Combine all the sorted navigation entries into a single string -new_section_content = "\n".join(sorted_nav_entries) - -# Parse command-line arguments -parser = argparse.ArgumentParser(description="Generate navigation entries for mkdocs.yml") -parser.add_argument("--replace", action="store_true", help="Replace mkdocs.yml with new content") -args = parser.parse_args() - -# If --replace option is provided, replace the existing "Portainer Stacks" section -if args.replace: - updated_mkdocs_content = mkdocs_content.replace(" - Portainer Stacks:\n", f" - Portainer Stacks:\n{new_section_content}\n") - with open("mkdocs.yml", "w") as f: - f.write(updated_mkdocs_content) -else: - # Print the sorted navigation entries with 4 spaces - for entry in sorted_nav_entries: - print(entry) +# Write the modified content back to the mkdocs.yml file +with open('mkdocs.yml', 'w') as file: + file.writelines(lines) diff --git a/scripts/git.py b/scripts/git.py index 5c554cf..980f633 100644 --- a/scripts/git.py +++ b/scripts/git.py @@ -4,9 +4,10 @@ import os import subprocess import argparse -# Define and parse command-line arguments -parser = argparse.ArgumentParser(description="Automate Git add, commit, and push operations.") -parser.add_argument("--COMMIT-MSG", help="Commit message for the changes.") +# Parse command-line arguments +parser = argparse.ArgumentParser(description="Generate navigation entries for mkdocs.yml") +parser.add_argument("--replace", action="store_true", help="Replace mkdocs.yml with new content") +parser.add_argument("--COMMIT_MSG", help="Commit message for Git") args = parser.parse_args() # Get the commit message from command-line argument or prompt user @@ -14,6 +15,8 @@ if args.COMMIT_MSG: commit_msg = args.COMMIT_MSG else: commit_msg = input("Enter commit message: ") + if not commit_msg.strip(): # Check if the input message is empty + commit_msg = "Initial commit" # Set default commit message # Add changes to the staging area subprocess.run(["python3", "./scripts/list_new_docker_files.py", "--replace"], check=True) diff --git a/scripts/list_new_docker_files.py b/scripts/list_new_docker_files.py index dda4888..fe0129c 100644 --- a/scripts/list_new_docker_files.py +++ b/scripts/list_new_docker_files.py @@ -1,6 +1,28 @@ import os import argparse +# Read the original mkdocs.yml content +with open('mkdocs.yml', 'r') as file: + lines = file.readlines() + +# Find the start and end indexes of the section to replace +start_index = None +end_index = None +for i, line in enumerate(lines): + if line.strip() == '- Portainer Stacks:': + start_index = i + elif line.strip() == '- Swag:': + end_index = i + break + +# Replace the lines between start and end indexes with the new content +if start_index is not None and end_index is not None: + lines[start_index:end_index + 1] = [' - Portainer Stacks:\n', ' - Swag:\n'] + +# Write the modified content back to the mkdocs.yml file +with open('mkdocs.yml', 'w') as file: + file.writelines(lines) + # Define the directory containing Portainer Stack Markdown files markdown_dir = "./docs/portainer-stacks"