Initial commit (generated by auto-git)
This commit is contained in:
53
text-to-markdown.py
Normal file
53
text-to-markdown.py
Normal file
@@ -0,0 +1,53 @@
|
||||
import sys
|
||||
import requests
|
||||
import os
|
||||
|
||||
OLLAMA_URL = "http://localhost:11434/api/generate"
|
||||
MODEL = "zongwei/gemma3-translator:4b"
|
||||
|
||||
PROMPT = """Convert the following plain text into well-formatted Markdown.
|
||||
Do not change or omit any content.
|
||||
Only add Markdown structure (such as headings, lists, code blocks, tables, quotes, links, bold, italics, etc.) where appropriate, based on the meaning and structure of the original text.
|
||||
Keep the content itself unaltered and do not translate, summarize or rephrase. Only use your Markdown-formatting skills.
|
||||
Text:
|
||||
|
||||
\"\"\"{text}\"\"\"
|
||||
|
||||
Markdown:"""
|
||||
|
||||
def get_output_path(inputfile):
|
||||
folder = os.path.dirname(inputfile)
|
||||
basename = os.path.splitext(os.path.basename(inputfile))[0]
|
||||
outputfile = os.path.join(folder, f"{basename}_markdown.md")
|
||||
counter = 1
|
||||
while os.path.exists(outputfile):
|
||||
outputfile = os.path.join(folder, f"{basename}_markdown-{counter}.md")
|
||||
counter += 1
|
||||
return outputfile
|
||||
|
||||
def main():
|
||||
if len(sys.argv) < 2:
|
||||
print(f"Usage: {os.path.basename(sys.argv[0])} <inputfile>")
|
||||
sys.exit(1)
|
||||
inputfile = sys.argv[1]
|
||||
outputfile = get_output_path(inputfile)
|
||||
|
||||
with open(inputfile, "r", encoding="utf-8") as f:
|
||||
text = f.read()
|
||||
|
||||
payload = {
|
||||
"model": MODEL,
|
||||
"prompt": PROMPT.format(text=text),
|
||||
"stream": False
|
||||
}
|
||||
|
||||
r = requests.post(OLLAMA_URL, json=payload)
|
||||
r.raise_for_status()
|
||||
markdown = r.json()["response"]
|
||||
|
||||
with open(outputfile, "w", encoding="utf-8") as f:
|
||||
f.write(markdown)
|
||||
print(f"Markdown written to {outputfile}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user