obs2hugo/README.md
Óscar M. Lage bfecae723a Feat: Add support for multiple correlated directories
Added support for specifying multiple correlated directories for both the watcher and the
destination. The `watcher_dirs` and `hugo_dirs` variables now accept a list of directories
separated by `:` in the configuration file. Each directory in `watcher_dirs` corresponds
to the directory in the same position in `hugo_dirs`.

This enhancement allows for greater flexibility and customization when monitoring and
processing files in different directories.
2024-04-10 10:59:53 +02:00

42 lines
2.0 KiB
Markdown

# obs2hugo
This repository contains a Go program that allows converting and copying contents from a custom Obsidian directory to Hugo-compatible content. Obsidian is a note-taking app that utilizes Markdown as its file format. Hugo, on the other hand, is a static site generator that allows creating websites from Markdown content.
## Key Features
- **Content Conversion**: The program converts Markdown files from the Obsidian directory to Hugo-compatible Markdown files.
- **Image Copying**: It copies the images included in Markdown files to a specific directory within Hugo's directory structure.
- **Configuration File Generation**: It creates additional configuration files necessary for Hugo to correctly process the content.
## Configure
Configuration runs in `~/.config/obs2hugo/obs2hugo.ini` or `~/.config/obs2hugo.ini`, something like this:
```ini
watcher_dirs = /Users/johndoe/vaults/obsidian/microposts-hugo:/Users/johndoe/vaults/obsidian/posts-hugo;
hugo_dirs = /Users/johndoe/code/hugo/src/content/posts:/Users/johndoe/code/hugo/src/content/microposts
```
Note: The `watcher_dirs` and `hugo_dirs` variables must have the same number of elements, taking into account that `:` acts as a separator. They are correlated so the first element in `watcher_dirs` corresponds to the first element in `hugo_dirs`, the second element in `watcher_dirs` corresponds to the second element in `hugo_dirs`, and so forth.
## Usage
1. Clone the repository to your local machine.
2. Run the program providing the path to the Obsidian directory and the destination directory for Hugo.
3. The program will convert Markdown files, copy images, and generate necessary configuration files.
```sh
$ go run main.go
```
## Requirements
- Go installed on your system.
- Have a Hugo project set up and ready to receive content.
- Have an Obsidian vault on your system.
## Contribution
Contributions are welcome! If you find bugs or wish to improve the program, feel free to open an issue or submit a pull request.