((p "Although you are free to define your own metadata, by using any key (according to the " (a (@ (href . "00001006010000")) "syntax") "), some keys have a special meaning that is enforced by Zettelstore." " " "See the " (a (@ (href . "00000000000090")) "computed list of supported metadata keys") " for details.") (p "Most keys conform to a " (a (@ (href . "00001006030000")) "type") ".") (dl (dt (a (@ (id . "author")) (kbd "author"))) (dd (p "A string value describing the author of a zettel." " " "If given, it will be shown in the " (a (@ (href . "00001014000000")) "web user interface") " for the zettel.")) (dt (a (@ (id . "back")) (kbd "back"))) (dd (p "Is a property that contains the identifier of all zettel that reference the zettel of this metadata, that are not referenced by this zettel." " " "Basically, it is the value of " (a (@ (href . "#backward")) (kbd "backward")) ", but without any zettel identifier that is contained in " (a (@ (href . "#forward")) (kbd "forward")) ".")) (dt (a (@ (id . "backward")) (kbd "backward"))) (dd (p "Is a property that contains the identifier of all zettel that reference the zettel of this metadata." " " "References within invertible values are not included here, e.g. " (a (@ (href . "#precursor")) (kbd "precursor")) ".")) (dt (a (@ (id . "box-number")) (kbd "box-number"))) (dd (p "Is a computed value and contains the number of the box where the zettel was found." " " "For all but the " (a (@ (href . "00001005090000")) "predefined zettel") ", this number is equal to the number " (em "X") " specified in startup configuration key " (a (@ (href . "00001004010000#box-uri-x")) (kbd "box-uri-__X__")) ".")) (dt (a (@ (id . "copyright")) (kbd "copyright"))) (dd (p "Defines a copyright string that will be encoded." " " "If not given, the value " (kbd "default-copyright") " from the " (a (@ (href . "00001004020000#default-copyright")) "configuration zettel") " will be used.")) (dt (a (@ (id . "created")) (kbd "created"))) (dd (p "Date and time when a zettel was created through Zettelstore." " " "If you create a zettel with an editor software outside Zettelstore, you should set it manually to an appropriate value.") (p "This is a computed value." " " "There is no need to set it via Zettelstore." " " " " "If it is not stored within a zettel, it will be computed based on the value of the " (a (@ (href . "00001006050000")) "Zettel Identifier") ": if it contains a value >= 19700101000000, it will be coerced to da date/time; otherwise the version time of the running software will be used.") (p "Please note that the value von " (kbd "created") " will be different (in most cases) to the value of " (a (@ (href . "#id")) (kbd "id")) " / the zettel identifier, because it is exact up to the second." " " "When calculating a zettel identifier, Zettelstore tries to set the second value to zero, if possible.")) (dt (a (@ (id . "created-missing")) (kbd "created-missing"))) (dd (p "If set to " (@L (@H "“") "true" (@H "”")) ", the value of " (a (@ (href . "#created")) (kbd "created")) " was not stored within a zettel." " " "To allow the migration of " (a (@ (href . "00001006050000")) "zettel identifier") " to a new scheme, you should update the value of " (kbd "created") " to a reasonable value." " " "Otherwise you might lose that information in future releases.") (p "This key will be removed when the migration to a new zettel identifier format has been completed.")) (dt (a (@ (id . "credential")) (kbd "credential"))) (dd (p "Contains the hashed password, as it was emitted by " (a (@ (href . "00001004051400")) (code "zettelstore password")) "." " " "It is internally created by hashing the password, the " (a (@ (href . "00001006050000")) "zettel identifier") ", and the value of the " (kbd "ident") " key.") (p "It is only used for zettel with a " (kbd "role") " value of " (@L (@H "“") "user" (@H "”")) ".")) (dt (a (@ (id . "dead")) (kbd "dead"))) (dd (p "Property that contains all references that does " (em "not") " identify a zettel.")) (dt (a (@ (id . "expire")) (kbd "expire"))) (dd (p "A user-entered time stamp that document the point in time when the zettel should expire." " " "When a zettel is expires, Zettelstore does nothing." " " "It is up to you to define required actions." " " (kbd "expire") " is just a documentation." " " "You could define a query and execute it regularly, for example " (a (@ (href . "?q=expire%3F+ORDER+expire")) "expire? ORDER expire") "." " " "Alternatively, a Zettelstore client software could define some actions when it detects expired zettel.")) (dt (a (@ (id . "folge")) (kbd "folge"))) (dd (p "Is a property that contains identifier of all zettel that reference this zettel through the " (a (@ (href . "#precursor")) (kbd "precursor")) " value.")) (dt (a (@ (id . "folge-role")) (kbd "folge-role"))) (dd (p "Specifies a suggested " (a (@ (href . "#role")) (kbd "role")) " the zettel should use in the future, if zettel currently has a preliminary role.")) (dt (a (@ (id . "forward")) (kbd "forward"))) (dd (p "Property that contains all references that identify another zettel within the content of the zettel.")) (dt (a (@ (id . "id")) (kbd "id"))) (dd (p "Contains the " (a (@ (href . "00001006050000")) "zettel identifier") ", as given by the Zettelstore." " " "It cannot be set manually, because it is a computed value.")) (dt (a (@ (id . "lang")) (kbd "lang"))) (dd (p "Language for the zettel." " " "Mostly used for HTML rendering of the zettel.") (p "If not given, the value " (kbd "lang") " from the zettel of the " (a (@ (href . "00001010040200")) "current user") " will be used." " " "If that value is also not available, it is read from the " (a (@ (href . "00001004020000#lang")) "configuration zettel") " will be used." " " "Use values according to the language definition of " (a (@ (href . "https://tools.ietf.org/html/rfc5646") (rel . "external")) "RFC-5646") ".")) (dt (a (@ (id . "license")) (kbd "license"))) (dd (p "Defines a license string that will be rendered." " " "If not given, the value " (kbd "default-license") " from the " (a (@ (href . "00001004020000#default-license")) "configuration zettel") " will be used.")) (dt (a (@ (id . "modified")) (kbd "modified"))) (dd (p "Date and time when a zettel was modified through Zettelstore." " " "If you edit a zettel with an editor software outside Zettelstore, you should set it manually to an appropriate value.") (p "This is a computed value." " " "There is no need to set it via Zettelstore.")) (dt (a (@ (id . "precursor")) (kbd "precursor"))) (dd (p "References zettel for which this zettel is a " (@L (@H "“") "Folgezettel" (@H "”")) " / follow-up zettel." " " "Basically the inverse of key " (a (@ (href . "#folge")) (kbd "folge")) ".")) (dt (a (@ (id . "predecessor")) (kbd "predecessor"))) (dd (p "References the zettel that contains a previous version of the content." " " "In contrast to " (a (@ (href . "#precurso")) (kbd "precursor")) " / " (a (@ (href . "#folge")) (kbd "folge")) ", this is a reference because of technical reasons, not because of content-related reasons." " " "Basically the inverse of key " (a (@ (href . "#successors")) (kbd "successors")) ".")) (dt (a (@ (id . "prequel")) (kbd "prequel"))) (dd (p "Specifies a zettel that is conceptually a prequel zettel." " " "This is a zettel that occured somehow before the current zettel.")) (dt (a (@ (id . "published")) (kbd "published"))) (dd (p "This property contains the timestamp of the mast modification / creation of the zettel." " " "If " (a (@ (href . "#modified")) (kbd "modified")) " is set with a valid timestamp, it contains the its value." " " "Otherwise, if " (a (@ (href . "#created")) (kbd "created")) " is set with a valid timestamp, it contains the its value." " " "Otherwise, if the zettel identifier contains a valid timestamp, the identifier is used." " " "In all other cases, this property is not set.") (p "It can be used for " (a (@ (href . "00001007700000")) "sorting") " zettel based on their publication date.") (p "It is a computed value." " " "There is no need to set it via Zettelstore.")) (dt (a (@ (id . "query")) (kbd "query"))) (dd (p "Stores the " (a (@ (href . "00001007031140")) "query") " that was used to create the zettel." " " "This is for future reference.")) (dt (a (@ (id . "read-only")) (kbd "read-only"))) (dd (p "Marks a zettel as read-only." " " "The interpretation of " (a (@ (href . "00001006020400")) "supported values") " for this key depends, whether authentication is " (a (@ (href . "00001010040100")) "enabled") " or not.")) (dt (a (@ (id . "role")) (kbd "role"))) (dd (p "Defines the role of the zettel." " " "Can be used for selecting zettel." " " "See " (a (@ (href . "00001006020100")) "supported zettel roles") "." " " "If not given, it is ignored.")) (dt (a (@ (id . "sequel")) (kbd "sequel"))) (dd (p "Is a property that contains identifier of all zettel that reference this zettel through the " (a (@ (href . "#prequel")) (kbd "prequel")) " value.")) (dt (a (@ (id . "successors")) (kbd "successors"))) (dd (p "Is a property that contains identifier of all zettel that reference this zettel through the " (a (@ (href . "#predecessor")) (kbd "predecessor")) " value." " " "Therefore, it references all zettel that contain a new version of the content and/or metadata." " " "In contrast to " (a (@ (href . "#folge")) (kbd "folge")) ", these are references because of technical reasons, not because of content-related reasons." " " "In most cases, zettel referencing the current zettel should be updated to reference a successor zettel." " " "The " (a (@ (href . "00001007040310")) "query reference") " " (a (@ (href . "?q=backward%3F+successors%3F")) "backward? successors?") " lists all such zettel.")) (dt (a (@ (id . "summary")) (kbd "summary"))) (dd (p "Summarizes the content of the zettel." " " "You may use all " (a (@ (href . "00001007040000")) "inline-structued elements") " of Zettelmarkup.")) (dt (a (@ (id . "syntax")) (kbd "syntax"))) (dd (p "Specifies the syntax that should be used for interpreting the zettel." " " "The zettel about " (a (@ (href . "00001008000000")) "other markup languages") " defines supported values." " " "If it is not given, it defaults to " (kbd "plain") ".")) (dt (a (@ (id . "tags")) (kbd "tags"))) (dd (p "Contains a space separated list of tags to describe the zettel further." " " "Each Tag must begin with the number sign character (" (@L (@H "“") (kbd "#") (@H "”")) ", U+0023).")) (dt (a (@ (id . "title")) (kbd "title"))) (dd (p "Specifies the title of the zettel." " " "If not given, the value of " (a (@ (href . "#id")) (kbd "id")) " will be used.")) (dt (a (@ (id . "url")) (kbd "url"))) (dd (p "Defines an URL / URI for this zettel that possibly references external material." " " "One use case is to specify the document that the current zettel comments on." " " "The URL will be rendered special in the " (a (@ (href . "00001014000000")) "web user interface") " if you use the default template.")) (dt (a (@ (id . "useless-files")) (kbd "useless-files"))) (dd (p "Contains the file names that are rejected to serve the content of a zettel." " " "Is used for " (a (@ (href . "00001004011400")) "directory boxes") " and " (a (@ (href . "00001004011200#file")) "file boxes") "." " " "If a zettel is deleted, these files will also be deleted.")) (dt (a (@ (id . "user-id")) (kbd "user-id"))) (dd (p "Provides some unique user identification for an " (a (@ (href . "00001010040200")) "user zettel") "." " " "It is used as a user name for authentication.") (p "It is only used for zettel with a " (kbd "role") " value of " (@L (@H "“") "user" (@H "”")) ".")) (dt (a (@ (id . "user-role")) (kbd "user-role"))) (dd (p "Defines the basic privileges of an authenticated user, e.g. reading / changing zettel." " " "Is only valid in a user zettel.") (p "See " (a (@ (href . "00001010070300")) "User roles") " for more details.")) (dt (a (@ (id . "visibility")) (kbd "visibility"))) (dd (p "When you work with authentication, you can give every zettel a value to decide, who can see the zettel." " " "Its default value can be set with " (a (@ (href . "00001004020000#default-visibility")) (kbd "default-visibility")) " of the configuration zettel.") (p "See " (a (@ (href . "00001010070200")) "visibility rules for zettel") " for more details."))))