-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c317718
commit 780f0fb
Showing
5 changed files
with
79 additions
and
39 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
ruby 3.4.1 | ||
ruby 3.3.7 | ||
rust 1.76.0 | ||
nodejs 22.8.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,9 @@ | |
|
||
<img align="right" src="https://github.com/simonneutert/labradorite-notebook/blob/main/public/labradorite.jpg?raw=true" alt="Labradorite dreamed by openai's Dall-E2: A brown labrador shooting a lazer from a blue crystal on its forehead, digital art"> | ||
|
||
> Labradorite rightfully belongs to the group of wisdom crystals, because it promotes a free flow of mental energy as it awakens intuition and allows us to get mentally unstuck. | ||
> Labradorite rightfully belongs to the group of wisdom crystals, because it | ||
> promotes a free flow of mental energy as it awakens intuition and allows us to | ||
> get mentally unstuck. | ||
> | ||
> _\- every esoteric out there_ | ||
|
@@ -12,13 +14,16 @@ | |
|
||
--- | ||
|
||
> [!IMPORTANT] | ||
> [Tantiny](https://github.com/baygeldin/tantiny) has died this summer (most probably) ... | ||
> [!IMPORTANT] [Tantiny](https://github.com/baygeldin/tantiny) has died this | ||
> summer (most probably) ... | ||
> | ||
> This project heavily depends on Tantiny, and as a result, we anticipate releasing our final updates in the near future. | ||
> I am committed to maintaining the project's functionality for as long as feasible. However, I will not be investing additional time or resources into its further development. 😔 | ||
> 🥲 It will continue to work though! As it is fulfilling what it was built for in the first place. | ||
> Dependabot will help keep security vulnerabilities closed and containerization will do the rest. | ||
> This project heavily depends on Tantiny, and as a result, we anticipate | ||
> releasing our final updates in the near future.\ | ||
> I am committed to maintaining the project's functionality for as long as | ||
> feasible. However, I will not be investing additional time or resources into | ||
> its further development. 😔 🥲 It will continue to work though! As it is | ||
> fulfilling what it was built for in the first place. Dependabot will help keep | ||
> security vulnerabilities closed and containerization will do the rest. | ||
--- | ||
|
||
|
@@ -40,21 +45,27 @@ | |
|
||
## Rationale | ||
|
||
Most Notetaking apps do either too much (Notion), too little (Apple Notes) and lock me in (all options ever). | ||
Most Notetaking apps do either too much (Notion), too little (Apple Notes) and | ||
lock me in (all options ever). | ||
|
||
I wanted something that does **just-enough**™, in the spirit of a _flat file cms_. Let me try and wrap it up in a few bullets: | ||
I wanted something that does **just-enough**™, in the spirit of a _flat file | ||
cms_. Let me try and wrap it up in a few bullets: | ||
|
||
- **ownership** of the notes (flat files) | ||
- **ownership** of the notes (flat files)\ | ||
markdown, yaml, attachments all in one place in directories | ||
- **easy** on the eyes/mind | ||
- **easy** on the eyes/mind\ | ||
I don't want to see all the old stuff I may not need anymore | ||
- a search that shows me **snips** in the notes | ||
- a search that shows me **snips** in the notes\ | ||
not just the notes in a sidebar | ||
- a very simple **tagging** support | ||
- basic **file uploads** | ||
- basic **file uploads**\ | ||
keeping the originals side by side with notes | ||
|
||
I like to keep things simple, so I once again fell for [Roda](https://roda.jeremyevans.net) as the Web Layer. [Tantiny](https://github.com/baygeldin/tantiny) is the kicker for this project. I was curious, if I could come up with something useful quickly, not having to deal with a complicated setup or Postgres as a requirement. | ||
I like to keep things simple, so I once again fell for | ||
[Roda](https://roda.jeremyevans.net) as the Web Layer. | ||
[Tantiny](https://github.com/baygeldin/tantiny) is the kicker for this project. | ||
I was curious, if I could come up with something useful quickly, not having to | ||
deal with a complicated setup or Postgres as a requirement. | ||
|
||
--- | ||
|
||
|
@@ -95,7 +106,8 @@ I like to keep things simple, so I once again fell for [Roda](https://roda.jerem | |
## Technical Prerequisites | ||
|
||
- Ruby v3.x are tested and ready to roll | ||
- Install a stable version of [Rust](https://www.rust-lang.org/) with [Cargo](https://github.com/rust-lang/cargo) | ||
- Install [[email protected]](https://www.rust-lang.org/) with | ||
[Cargo](https://github.com/rust-lang/cargo) | ||
|
||
## Architecture | ||
|
||
|
@@ -111,7 +123,8 @@ Little experiment on how it rolls: | |
- `views`: ERB Views | ||
- `memos`: the Memos/Notes in subdirectories `YYYY/MM/DD/random-string` | ||
- `public`: css/js/media | ||
- `.tantiny`: the local index data created by the [tantiny](https://github.com/baygeldin/tantiny) gem | ||
- `.tantiny`: the local index data created by the | ||
[tantiny](https://github.com/baygeldin/tantiny) gem | ||
|
||
## Major Dependencies | ||
|
||
|
@@ -121,7 +134,8 @@ Little experiment on how it rolls: | |
|
||
## Run/Deploy with Docker | ||
|
||
The included `Dockerfile` and the `docker-compose.yml` are more a stub to build upon. | ||
The included `Dockerfile` and the `docker-compose.yml` are more a stub to build | ||
upon. | ||
|
||
Currently the Dockerfile support passing the USERNAME as an `build-arg`. | ||
|
||
|
@@ -130,34 +144,42 @@ Currently the Dockerfile support passing the USERNAME as an `build-arg`. | |
|
||
Either this way, or you adapt the Dockerfile to your needs. | ||
|
||
Let's say your username on the server you run (or your machine) is `johndoe`, then your Dockerfile should look something like this: | ||
Let's say your username on the server you run (or your machine) is `johndoe`, | ||
then your Dockerfile should look something like this: | ||
|
||
```Dockerfile | ||
# in your version of the Dockerfile, replace labradorite at the ARG USERNAME | ||
ARG USERNAME=johndoe | ||
``` | ||
|
||
That will help you both secure the service and have the files being created with the proper rights on the host system. | ||
That will help you both secure the service and have the files being created with | ||
the proper rights on the host system. | ||
|
||
### Docker Compose | ||
|
||
build and/or up using: `$ USERNAME=$(whoami) docker-compose build` | ||
|
||
**Volumes** | ||
|
||
- this `memos` directory has all your created content in it. Having it mounted from your host should make easy for you to backup (if you don't use a private gitrepo for that 😉) | ||
- fyi: having tantiny's index (`.tantiny`) as a volume has no benefit. Beware, it can easily have a negative impact. | ||
- this `memos` directory has all your created content in it. Having it mounted | ||
from your host should make easy for you to backup (if you don't use a private | ||
gitrepo for that 😉) | ||
- fyi: having tantiny's index (`.tantiny`) as a volume has no benefit. Beware, | ||
it can easily have a negative impact. | ||
|
||
## Development | ||
|
||
From v0.5.0 on, the project can only be run native on a Linux machine or in a Docker container. See the Dockerfiles and `justfile` for more information. | ||
From v0.5.0 on, the project can only be run native on a Linux machine or in a | ||
Docker container. See the Dockerfiles and `justfile` for more information. | ||
|
||
- `$ rake test` runs the test suite | ||
- `$ rake reset_default_memos` resets the files to the repos defaults (e.g. for testing) | ||
- `$ rake reset_default_memos` resets the files to the repos defaults (e.g. for | ||
testing) | ||
- `$ rake reset_memos` clears ALL memos | ||
|
||
Before pushing code, you should always run `rake reset` and `rake test`, | ||
**therefore have a repo you work on AND another you use JUST for running the software.** | ||
Before pushing code, you should always run `rake reset` and `rake test`,\ | ||
**therefore have a repo you work on AND another you use JUST for running the | ||
software.** | ||
|
||
## Run it | ||
|
||
|