/obsidian-prettify

A markdown prettifier for obsidian

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Note: No longer maintained

For similar functionality I recommend: obsidian-linter ( I'm using it myself 🙂 )

Markdown prettifier for Obsidian

Tries to fix and reformat ugly Markdown and adds things like 'modified date' etc.

The default hotkey is Ctrl+Alt+L.

Examples

Hashtags janitor

Say you have:

A #new and #exciting paragraph!

After 'Update fields':

---
tags:
    - '#new'
    - '#exciting'

---

A #new and #exciting paragraph!

Update values in the frontmatter

Before:

I wrote this, but I don't remember when!

After:

---
date updated: '2020-11-23T16:47:37+01:00'
---

I wrote this, but I don't remember when!

Headers can be configured through a template, to add dates or IDs

To generate dates you can use the moment.js format, like

date created: '{{date}}'
date updated: '{{date:YYYY-MM-DDTHH:mm:ssZ}}'

To generate RFC4122 UUID (universal Ids), use the following format:

id: {{UUID}}

Autolink literals

Example

Before:

www.example.com, https://example.com, and contact@example.com.

After:

[www.example.com](http://www.example.com), <https://example.com>, and <contact@example.com>.

Ordered lists

Normalizes ordered lists.

Example

Before:

1. foo
    1. aaa
    1. bbb
    4. ccc
1. bar
1. baz

After:

1.  foo
    1.  aaa
    2.  bbb
    3.  ccc
2.  bar
3.  baz

Tables

Normalizes table formatting.

Example

Before:

**A**|**B**|**C**
|---:|:---|---|
a |b |c
x |y |z

After:

| **A** | **B** | **C** |
| ----: | :---- | ----- |
|     a | b     | c     |
|     x | y     | z     |

Other similar plugins

Other alternatives to check out :)

This plugin uses the following libraries

How to compile the plugin

First, install the dependencies with

npm i

Then, you can compile the plugin with:

npm run build

This will create a main.js file in the project root. That is the entry point of your plugin.

Manual installation

Download zip archive from GitHub releases page. Extract the archive into <vault>/.obsidian/plugins.

Alternatively, using bash:

OBSIDIAN_VAULT_DIR=/path/to/your/obsidian/vault
mkdir -p $OBSIDIAN_VAULT_DIR/.obsidian/plugins
unzip ~/Downloads/obsidian-prettify-0.1.zip -d $OBSIDIAN_VAULT_DIR/.obsidian/plugins

Version History

v.1.1

  • Fixed some escaping bugs
  • Removed space for frontmatter

v.0.0.9

  • Separation between new header template and update template
  • UUID support

v.0.0.7

  • New Refactor tags functionality (ctrl+shift+o)
  • Can add emoticons as tags

v.0.0.6

Fixed frontmatter bug

v.0.0.5

Added indent for lists Sets settings as recommended

v.0.0.4

Fixed a bug that escaped \ Added some feedback to the user

v0.0.3

Enabled frontmatter and settings!

Included: remark-frontmatter

v0.0.2

Added tests!

Included: remark-gfm and remark-images

v0.0.1

Initial Release, just playing around for the first time with Obsidian and the plugins. No settings, Just the minimum possible

Disclaimer

This plugin is provided as is, and is focused on my personal use of Obsidian on Linux. As such it is not thoroughly tested across all operating systems and features of Obsidian.


Pull requests are both welcome and appreciated. :)

I love coffee, you can send me one here: https://www.buymeacoffee.com/pelado :D