agendafs
A filesystem for your calendar.
git clone git://mccd.space/agendafs| Log | Files | Refs | README | LICENSE | Mail | Website |
agendafs.5.scd (3169B)
1 MOUNT.AGENDAFS(5)
2
3 # NAME
4
5 mount.agendafs - Mount notes from vdir storages
6
7 # SYNOPSIS
8
9 *mount.agendafs* [-fdnrsvw] [*-o* _<OPTION>_] _MOUNTPOINT_
10
11 # DESCRIPTION
12
13 Agendafs is a virtual filesystem that loads vdir storages to a mountpoint,
14 allowing you to create and edit notes.
15
16 # OPTIONS
17
18 Most mount options are described in _mount.fuse_(8) and _mount_(8). Below
19 are agendafs specific options:
20
21 *vdir=*<_path_>
22 Use the specified vdir storage path as mountpoint. Currently
23 only one calendar is supported. Required.
24
25 *ext=*<_format_>
26 Automatically assign a file extension to files created outside
27 of Agendafs. Disabled by default.
28
29 # XATTRIBUTES
30
31 Agendafs has support for xattributes (*xattr*(7)) to modify icalendar
32 fields. See the man pages of *setfattr*(1) and *getfattr*(1) for basic
33 usage. Built-in extended attributes are:
34
35 *user.categories*
36 A comma separated list of categories to classify an entry.
37
38 *user.class*
39 The classification of an entry. Can be either *public*,
40 *private* or *confidential*. By default classification is set to
41 *private*.
42
43 *user.sibling*
44 Reserved for the future.
45
46 *user.uid*
47 Immutable. The underlying UUID for the file. In the future, this
48 can be used to reference notes with *user.sibling*.
49
50 *user.dtstart*
51 Date-time start, ISO-formatted. Specifies the "beginning" of the
52 file.
53
54 *user.status*
55 Either *draft* or *final*. Can not be removed. By default,
56 directories are set to *final* while files are set to *draft*.
57
58 Arbitrary user-provided attributes are also supported. Limits are set to
59 255 bytes for attributes and 64 kilobytes for their value.
60
61 # FILE PERMISSIONS
62
63 Agendafs inherits the file permissions of the files in the underlying
64 vdir storage.
65
66 Currently hidden files (I.E. files prefixed with a dot) are not permitted
67 as they are reserved for future functionality.
68
69 # EXAMPLES
70
71 Mount vdir storage with agendafs to your home journal directory:
72
73 ```
74 $ mount.agendafs \\
75 -o vdir=$HOME/.calendars/vjournal-calendar \\
76 $HOME/journal
77 ```
78
79 Mount vdir storage, and let files created outside of Agendafs automatically
80 use Markdown:
81
82 ```
83 $ mount.agendafs \\
84 -o ext=md \\
85 -o vdir=$HOME/.calendars/vjournal-calendar \\
86 $HOME/journal
87 ```
88
89 Find all files with categories:
90
91 ```
92 $ find . -type f -exec getfattr -n user.categories {} \\
93 + 2>/dev/null
94 ```
95
96 Find files by category MY_CATEGORY:
97
98 ```
99 $ find . -type f -exec getfattr -n user.categories {} + 2>/dev/null \\
100 | grep -B1 "MY_CATEGORY" \\
101 | grep '^# file' \\
102 | awk '{ print substr($0, 9) }'
103 ```
104
105 The dtstart xattribute can be used for journaling. Simply set the xattribute
106 when creating a new file:
107
108 ```
109 $ export FILE="Meeting with John"; export TIME=$(date +'%Y%m%d');
110 $ touch "$FILE" && setfattr -n user.dtstart -v $TIME "$FILE"
111 ```
112
113 # SEE ALSO
114
115 *pimsync*(1) *mount.fuse*(8) *mount*(1) *fusermount*(1) *xattr*(7) *getfattr*(1) *setfattr*(1) *agendafs-examples*(7)
116
117 vdirsyncer (https://vdirsyncer.pimutils.org/en/stabl)
118
119
120 # AUTHORS
121
122 Maintained by Marc Coquand <marc@coquand.email>. Up do date sources can be found at
123 https://git.sr.ht/~marcc/agendafs and bugs/patches can be submitted by email to
124 ~marcc/agendafs@lists.sr.ht.
125