Sha256: 3860d6e269432f46e774993e0ba637cf75d760d7dc1ed6a9c673bfa5befbb226

Contents?: true

Size: 1.23 KB

Versions: 1

Compression:

Stored size: 1.23 KB

Contents

# Structure

This document describes basic `ncn` concepts and data formats.

## Notes repository

Repository is an ordinary directory in a file system, containing note files and service data, like cache.

Repository structure suppose to be managed automatically, though the logic is very generic, allowing multiple usage scenarios.

## Directory structure

Note file name and path suppose to be managed automatically, but the structure is quite straightforward:

```
ROOT/YYYY/MM/DD/ID.ext
```

- `ROOT` — root notes repository directory.
- `YYYY/MM/DD` — note creation date.
- `ID` — unique note ID (an integer serial number).
- `ext` (optional) — note file extension, default is `md`.
- File that does not match this structure are considered non-valid notes and will be ignored during lookups.

## Note

Each note is a plain text file with optional [YAML front matter](https://jekyllrb.com/docs/front-matter/):

```
---
title: Arbitrary note title
tags: comma, separated, tags, spaces are ok
---

Hello world, I'm a note!
```

## Note id

Each note has a unique id, a serial number for a file within the repository.

Id is the primary way to reference a note.

Each new id is based on the current repository state.

Ids are considered immutable.

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ncn-0.1.0 docs/structure.md