PROJECT DOCUMENTATION
OBSIDIAN TO MKDOCS
The script's goal is to move an authorized file (or multiple authorized file) from your Obsidian's vault to your blog's repository. It will :
- Move linked image in
docs/assets/img - Convert the code block Admonition to material Admonition1
- Convert the Callout Syntax to material Admonition.2
- Remove Obsidian's comments as
%% comments %% - Copy the file in
docsor a specific folder structure. - Add custom CSS based on markdown attribute or tags (CM6 Live Preview ; Markdown Attribute and Contextual Typography).
Furthermore, it will also carry :
- Of the support of Folder Note — Pagination Indexes
- Copy a link to the blog converted file (only if one file is converted)
File's front matter
The script relies on the front matter** of the notes you want to publish.
share: trueallow publishing the file3categoryto choose where the file will be after conversion ; allowing categorization for the blog.4category: falsewill hide the file from navigation.category: hiddenwill do the same.category: folder1/folder2/will move the file infolder2, underfolder1category: folder1/folder2/filenamewill rename the fileindexand allow support of section's index page
update: falseprevent to update the file after the first publicationdescription: Add a description to the file (for meta-tag sharing)5title: Change the title in the navigation.image: Add an image for meta-tags sharing.5 It needs to be the name of the file, asimage.png.
Usage
The script can be use :
- Directly in Obsidian, using Obsidian Shell Commands (see Obsidian Shell's configuration)
- In Terminal.
The supported system are :
- macOS, Linux and Windows
- IOS (with Pyto and/or a-shell with Working Copy)
Configuration
At the first run, you will be asked to configure some key and specific path.
- Vault : Use the file dialog to choose your vault folder.
- Publish repository folder : As vault path, use the file dialog.
- share : You can change the
sharekey. By default, it'sshare - Index key: Support for citation of pagination index pages. By default, it uses
(i) - Default blog folder: By default, the notes will be in
docs/notesbut you can change that, or use/for root.
The file will be in site-packages/mkdocs_obsidian/.mkdocs_obsidian (unless for Pyto : the .env will be directly in site_package/.mkdocs_obsidian)
Terminal
Global options :
--git: No commit and push to git ;--mobile: Use mobile shortcuts instead of--git--meta: Update frontmatter of source files--keep: Don't delete files in blog folder--shell: Remove Rich printing
Commands and specific options :
- config : (it will ignore
--use configuration_name)--new configuration_name: Create a specific configuration for some files
- all : Share all vault
--force: Force updating (ignore the difference between the source and blog file)--vault: Share all vault file, ignoring the share state.
file [file*]: Share only one file
usage: __main__.py [-h] [--mobile | --git] [--meta] [--keep] [--use configuration_name] {config,all,file} ...
positional arguments:
{config,all,file}
config Configure the script : Add or edit your vault and blog absolute path, change some keys.
all Publish multiple files
file Publish only one file
options:
-h, --help show this help message and exit
--mobile, --shortcuts
Use mobile shortcuts, without push
--git, --g, --G No commit and no push to git
--meta, --m, --M Update the frontmatter of the source file, adding the note blog's link
--keep, --k, --K Keep deleted file from vault and removed shared file
--use configuration_name, --config configuration_name
Use a different config from default
The commands order is :
obs2mk (global_options) [all|config|file FILEPATH] (specific_options)
Where :
- Global and specific options are optional
all,configandfile6 are required You can use the command without argument withobs2mkto share everyshare: truefile in your vault.
Share one file : obs2mk file FILEPATH
It will :
- Update the
sharestate in original file - Convert one file, regardless of what is the
sharestate.
Share all file : obs2mk all or obs2mk
You can share multiple documents at once with scanning your Vault, looking for the share: true. It will convert automatically these files.
Only file with modification since the last sharing will be updated.
You can :
- Share entirely your vault (that's ignore the
sharestate) with :obs2mk all --vault - Ignore the difference between the source file and the blog's file with :
obs2mk all --forceAlso, you can combine the two options.
Configuration
You can use and create multiple configuration files. This allows to have multiple site based on one vault, or different vault accross one site...
- To create a new configuration file :
obs2mk config --new configuration_name - To use a configuration use :
--use configuration_nameFor example :obs2mk --use configuration_name
-
Deprecated ; Will don't be updated and be removed in future version. ↩
-
Support nested callout :D ↩
-
This key can be configured ↩
-
You can customize the folder with Awesome Pages ↩
-
Meta tags are snippets of text that describe a page’s content; the meta tags don’t appear on the page itself, but only in the page’s source code. Meta tags are essentially little content descriptors that help tell search engines what a web page is about. (source) ↩ ↩2
-
For
fileyou need to add the filepath of the file you want to share :obs2mk (global_option) file "filepath" (specific_options)↩
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file obs2mk-3.3.0.tar.gz.
File metadata
- Download URL: obs2mk-3.3.0.tar.gz
- Upload date:
- Size: 35.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4ec891aa3fe7d4df2a33e7ead07c02e1a1b1758af8c25226c71149672d33d1a
|
|
| MD5 |
e9e50c114d896982f47022d9d045a60f
|
|
| BLAKE2b-256 |
61bd419d8335334ac16213ae90fba4704da499ab0367a07f85e871ec0509bbb9
|
File details
Details for the file obs2mk-3.3.0-py3-none-any.whl.
File metadata
- Download URL: obs2mk-3.3.0-py3-none-any.whl
- Upload date:
- Size: 37.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
acfce8ae184b6d43c2e484d7afd7a45edcbc1ed6ca7828ec2626ecd971c68bd5
|
|
| MD5 |
0862370243a20be1e882959ea7ccb433
|
|
| BLAKE2b-256 |
04d6588f759bb3845e0ce01dc29cb78b911e918c0ac60e118592ba71ed16cf0f
|