Óscar M. Lage
bfecae723a
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.
42 lines
2.0 KiB
Markdown
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.
|
|
|