((p "Under most circumstances, it is preferable to further configure a memory box." " " "This is done by appending query parameters after the base box URI " (kbd "mem:") ".") (p "The following parameters are supported:") (table (thead (tr (th (@ (class . "center")) " Parameter") (th "Description") (th (@ (class . "center")) "Default value") (th (@ (class . "center")) "Maximum value"))) (tbody (tr (td (@ (class . "center")) "max-bytes") (td "Maximum number of bytes the box will store") (td (@ (class . "center")) "65535") (td (@ (class . "center")) "1073741824 (1 GiB)")) (tr (td (@ (class . "center")) "max-zettel") (td "Maximum number of zettel") (td (@ (class . "center")) "127") (td (@ (class . "center")) "65535")))) (p "The default values are somehow arbitrarily, but applicable for many use cases.") (p "While the number of zettel should be easily calculable by a user, the number of bytes might be a little more difficult.") (p "Metadata consumes 6 bytes for the zettel identifier and for each metadata value one byte for the separator, plus the length of key and data." " " "Then size of the content is its size in bytes." " " "For text content, its the number of bytes for its UTF-8 encoding.") (p "If one of the limits are exceeded, Zettelstore will give an error indication, based on the HTTP status code 507."))