# Store The store file is supposed to be the only file used by mark. It is used to store the actual data as well as all available and future options. ## Language The store file is separated in different blocks. It is always terminated by "#end#". ### Block + A Block starts with its name in hashes. + Followed by the content of the block. + The end of the Block is reached if a new # is found. Known Blocks are: + #store# : block to store the actual data + #colors# : block to assign colors to mark signs Example: ``` #block# foo bar #otherblock# | #end# ``` ### Block content The notation of a blocks content is block specific. #### store content The store block contains the actual mark data. It stores mark bundles representing one year. A mark bundle starts with the year its representing followed by a colon and a line break. This is followed by 12 lines starting with their number [1-12], a colon and (28-31) characters representing the (marked) days. Every other character then '?' is interpreted as a mark. Year subblocks should be ordered newest first. #### colors content Every line of the color block is one pair of sign and color separated only by a colon. Example: ``` m:red s:yellow ``` ## Location The path to the store file is stored in the environment variable `$__mark_store`. ## Example: This is a store generated by the `__mark_new_store` function. ``` #colors# #store# 2016: 1:??????????????????????????????? 2:????????????????????????????? 3:??????????????????????????????? 4:?????????????????????????????? 5:??????????????????????????????? 6:?????????????????????????????? 7:??????????????????????????????? 8:??????????????????????????????? 9:?????????????????????????????? 10:??????????????????????????????? 11:?????????????????????????????? 12:??????????????????????????????? #end# ```