1
0
mirror of https://codeberg.org/fediverse/fep.git synced 2026-08-05 03:35:52 +00:00
Files
fep/scripts/new_proposal.py
T
Helge e4683fbcda Create a FEP static site (#673)
### Preview version

https://helge.codeberg.page/fep/

click there to judge

### Tasks done

- [x] Add a proper index.md instead of final.md .... needs me to filter the readme.md
- [x] search is broken  --> will resolve itself when all feps are part of it
- [x] Update https://codeberg.org/fediverse/fep/src/branch/main/fep/7d8c/fep-7d8c.md
- [x] The admonition format (according to copilot I can blame this format on Microsoft https://learn.microsoft.com/en-us/contribute/content/markdown-reference#alerts-note-important-tip-warning-caution)

    ```
    >[!NOTE]
    >ActivityPub [requires][ActivityPub-Collections] ordered collections to be presented in reverse chronological order. However, an [erratum][ActivityPub-Errata] was proposed to relax this requirement.
    ```
    is not the one supported by python, see https://python-markdown.github.io/extensions/admonition/ . One can probably resolve this by adapting the code https://github.com/Python-Markdown/markdown/blob/f39cf84a24124526c1a0efbe52219fa9950774f6/markdown/extensions/admonition.py

- [x] FEPs miss meta information ....
- [x] Meta information for tracking issue and discussion to link should be formatted
- [x] copy script has problems with contained directories
- [x] add codeberg link to meta, e.g. https://helge.codeberg.page/fep/fep/1b12/
- [x] include implementation counts -> https://codeberg.org/fediverse/fep/issues/686

Co-authored-by: silverpill <silverpill@firemail.cc>
Reviewed-on: https://codeberg.org/fediverse/fep/pulls/673
Reviewed-by: silverpill <silverpill@noreply.codeberg.org>
Co-authored-by: Helge <helge.krueger@gmail.com>
Co-committed-by: Helge <helge.krueger@gmail.com>
2025-11-01 08:40:20 +01:00

43 lines
946 B
Python
Executable File

#!/usr/bin/env python
from argparse import ArgumentParser
import os
import shutil
from fep_tools import title_to_slug, FepFile
def build_parser():
parser = ArgumentParser("Create new FEP proposal")
parser.add_argument("title", nargs="+")
return parser
if __name__ == "__main__":
args = build_parser().parse_args()
title = " ".join(args.title)
slug = title_to_slug(title)
try:
os.mkdir(f"fep/{slug}")
except Exception as e:
print("During directory creation ", repr(e))
filename = f"fep/{slug}/fep-{slug}.md"
if os.path.exists(filename):
print("FEP already exists")
exit(1)
else:
shutil.copyfile("fep-xxxx-template.md", filename)
fep = FepFile(slug)
fep.frontmatter = [f'slug: "{slug}"'] + fep.frontmatter[1:]
fep.content = [f"# FEP-{slug}: {title}"] + fep.content[1:]
fep.write()
print(f"New FEP proposal created at {filename}")