Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hiimsergey/obsidian-simple-columns
Obsidian plugin for side-by-side text.
https://github.com/hiimsergey/obsidian-simple-columns
obsidian obsidian-community obsidian-md obsidian-notes obsidian-plugin obsidian-plugins obsidianmd typescript typescript-plugin typescript-project
Last synced: 28 days ago
JSON representation
Obsidian plugin for side-by-side text.
- Host: GitHub
- URL: https://github.com/hiimsergey/obsidian-simple-columns
- Owner: hiimsergey
- License: gpl-3.0
- Created: 2023-12-26T16:13:53.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-16T21:05:37.000Z (about 1 month ago)
- Last Synced: 2024-12-16T21:26:59.704Z (about 1 month ago)
- Topics: obsidian, obsidian-community, obsidian-md, obsidian-notes, obsidian-plugin, obsidian-plugins, obsidianmd, typescript, typescript-plugin, typescript-project
- Language: TypeScript
- Homepage:
- Size: 19.7 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Obsidian Simple Columns
Display your text side-by-side with a simple syntax.This plugin provides a way to structure your notes into columns that can be displayed horizontally in both directions with custom width ratios in the Reading View.
## Installation
1. Download the zip or tar archive from [Releases](https://gitlab.com/sergeylavrent/obsidian-simple-columns/releases/latest) and extract it to `path/to/vault/.obsidian/plugins/`.
2. Restart Obsidian.
3. Enable it under **Settings > Community Plugins > Simple Columns**.## Overview
```md
...[begin]
In publishing and graphic design, _**Lorem ipsum**_ (/ˌlɔː.rəm ˈɪp.səm/) is a placeholder text commonly used to demonstrate the visual form of a document or a typeface without relying on meaningful content. _Lorem ipsum_ may be used as a placeholder before the final copy is available. It is also used to temporarily replace text in a process called greeking, which allows designers to consider the form of a webpage or publication, without the meaning of the text influencing the design.[col]
_Lorem ipsum_ is typically a corrupted version of _De finibus bonorum et malorum_, a 1st-century BC text by the Roman statesman and philosopher Cicero, with words altered, added, and removed to make it nonsensical and improper Latin. The first two words themselves are a truncation of _dolorem ipsum_ ("pain itself").[end]
...
```![example_1](https://github.com/user-attachments/assets/396773ca-4a45-412a-8276-0156c44f0604)
- Between `[begin]` and `[end]` should be the text you want to be displayed in columns.
- Everything before `[begin]` and after `[end]` is processed normally.
- A `[col]` between your paragraphs marks the end of a column and the start of a new one.
- You can write as many `[col]` tags as you like, as long as they are between `[begin]` and `[end]`.
- You can write as many `[begin]` and `[end]` blocks in your note, as long as you follow these syntax rules, otherwise the note won't be processed correctly.## RTL arrangement
```md
[begin]
## First block[col]
## Second block[col]
## Third block[end] rtl
```![example_2](https://github.com/user-attachments/assets/32b6ded5-246c-4663-87ab-cbf027d8f8f3)
By appending `rtl` to the `[end]` tag of your block, the columns will be put side-by-side in reversed order.
This is useful if your language is written right-to-left, like Arabic or Hebrew.
You can configure to have blocks processed like that by default by enabling the **RTL by default** setting. To process the blocks left-to-right, simply write `ltr` after the `[end]` tag.
*Note: The setting will come into effect after switching into Reading View again.*
## Wrap columns
```md
[begin]
## 1st long text ...[col]
## 2nd long text ...[col]
## 3rd long text ...[col]
## 4th long text ...[col]
...[end] wrap
```![example_3](https://github.com/user-attachments/assets/9c58087e-171a-49fc-b16c-bf98f2931fb3)
By appending `wrap` to the `[end]` tag of your block, the columns won't be strictly displayed on one level and can wrap over to the next one if you have too many blocks. Their individual widths won't sink below 40%.
That way you don't have to write countless `[begin]`-`[end]`-pairs if you want to write your text in a kind of grid.
You can make this the default behavior by enabling the **Wrap blocks by default** setting.
*Note: The setting will come into effect after switching into Reading View again.*
## Resize columns
```md
[begin]
column with normal width[col] 2
column twice as wide[col] 3
column thrice as wide, like really wide[end]
```![example_4](https://github.com/user-attachments/assets/67149c40-e28c-4edc-96e0-62cf99310f08)
By appending a number to a `[begin]` or `[col]` tag, you set the width ratio of your blocks. The three blocks in the example above will be processed with the width ratio of 1:2:3.
## Exclude mobile devices from rendering
You can prevent block rendering on mobile devices by disabling the **Render blocks on mobile** setting. That way, the `[begin]`, `[col]` and `[end]` tags will disappear from Reading View, but the text won't be shown side-by-side.This is useful if you access a synced vault from the desktop on narrow screens.
# Coming soon (maybe)
- Apply columns in exported PDFs (right now they look like the normal document)
- Delete unnecessary elements from the DOM (technical issue, no change in user experience)