-
Where is database table in SiYuan Android apps?
2024-01-19 20:22Thank you for your work and efforts!❤️ @88250
-
Where is database table in SiYuan Android apps?
2024-01-18 03:29This was supposed to be released to free users at the beginning of the this month, yet it hasn't.
Can you tell us when it will? @88250
-
Is it possible for markdown export to link to other files?
2023-12-02 03:01You're welcome! I actually was too lazy to write it myself so I asked ChatGPT to do it for me and changed some mistakes in its code.
And I might as well do it for non-document blocks, I will post the solution here too.
In any case, it seems like this problem can be solved easily and be integrated into SiYuan.
I am not familiar with SiYuan code or Golang in general so someone else more familiar may make a Pull Request for this feature way faster than me.
If not, I don't mind spending some time to learn enough to build this feature into SiYuan. It's the least I can do in return for getting this amazing app for free!
Thanks @88250 @sagar and long live the open source! -
Self-made template?
2023-12-02 02:51Oh, I didn't notice I can do that, that's very easy. Thank you!
-
Self-made template?
2023-12-01 21:56I assume I can just download the sample template from the marketplace and edit it locally, right?
-
Self-made template?
2023-12-01 21:46Can I make and use a template locally without pushing it to the marketplace? @88250
-
Is it possible for markdown export to link to other files?
2023-12-01 15:42Here's the before and after comparison.
Before:
# Networking The most important things to know are the networking protocols. * [TCP](siyuan://blocks/20231110002225-jzlfmvr) * [UDP](siyuan://blocks/20231111114912-9gi1l0p) * [HTTP](siyuan://blocks/20231110002250-b9w413n) * [TLS](siyuan://blocks/20231111114933-oti4rz4) * [WebSockets](siyuan://blocks/20231111115839-xw23n4k) * [WebRTC](siyuan://blocks/20231111114916-nevtkga)
After:
# Networking The most important things to know are the networking protocols. * [TCP](/Networking/TCP.md) * [UDP](/Networking/UDP.md) * [HTTP](/Networking/HTTP.md) * [TLS](/Networking/TLS.md) * [WebSockets](/Networking/WebSockets.md) * [WebRTC](/Networking/WebRTC.md)
-
Is it possible for markdown export to link to other files?
2023-12-01 15:38Thanks @sagar for your helpful solution!
-
Is it possible for markdown export to link to other files?
2023-12-01 15:20I was able to do it (for documents only, not blocks, as I don't know how to find out if the link is of a block or a document, and I don't want to mutate the linked documents anyway).
Here's the Python script:
import os import re import requests # Replace 'YOUR_API_ENDPOINT' with the actual Siyuan API endpoint SIYUAN_API_ENDPOINT = "http://localhost:6806" # Function to make a SQL query to Siyuan API def query_block_details(block_id): query = {"stmt": f"SELECT * FROM blocks WHERE id='{block_id}'"} response = requests.post(f"{SIYUAN_API_ENDPOINT}/api/query/sql", json=query) return response.json() # Function to process each markdown file def process_markdown_file(file_path): with open(file_path, "r", encoding="utf-8") as file: content = file.read() # Use regex to find instances of [Anchor text](siyuan://blocks/block-id) matches = re.findall(r"\[.*?\]\(siyuan://blocks/(.*?)\)", content) for block_id in matches: # Query Siyuan API to get block details result = query_block_details(block_id) # Assumes ref is of a document, not a block if result: hpath_value = result["data"][0].get("hpath") # Replace the siyuan://blocks/block-id with hpath_value.md new_link = f"({hpath_value}.md)" # Replace the old link in the content content = content.replace(f"(siyuan://blocks/{block_id})", new_link) # Write the updated content back to the file with open(file_path, "w", encoding="utf-8") as file: file.write(content) def process_markdown_directory(directory_path): for root, _, files in os.walk(directory_path): for file_name in files: if file_name.endswith(".md"): file_path = os.path.join(root, file_name) process_markdown_file(file_path) # Replace 'YOUR_MARKDOWN_DIRECTORY_PATH' with the actual path to your exported markdown files markdown_directory_path = "YOUR_MARKDOWN_DIRECTORY_PATH" # Process each markdown file in the specified path process_markdown_directory(markdown_directory_path)
-
Is it possible for markdown export to link to other files?
2023-12-01 13:44I actually thought about doing that yesterday, and woke up today and opened my laptop to write that solution, only to find @sagar had written it. Funny!:)
-
Is it possible for markdown export to link to other files?
2023-12-01 05:37I agree with @sagar that this is a very important feature which may increase SiYuan's popularity, especially against Obsidian.