A simple personal knowledge platform with a focus on clean markdown files, simple queries and a journal.
The configuration is done in the config.json
file in the directory ~/.local/share/looksyk
. This path can be changed
with the environment variable LOOKSYK_CONFIG_PATH
.
The default graph location is in ~/graph
(or the configured location in the config.json
).
The application port and the graph location can be provided by arguments ( --port
and --graph-location
).
The application title can be modified with the argument --title
.
The graph
folder in the home directory contains all data.
pages
contains all pagesjournals
contains all journalsassets
contains all media files (images, videos, audio files, text files, PDFs), deduplicated by checksumconfig
contains the configuration
config.json
contains the configuration (design, favourites)media.json
contains all the checksums of the media filesThe design is based on the Material Design guidelines. All colors can be configured in the
config.json
file.
The following color values are supported:
black
, white
)rgb(R, G, B)
(e.g. rgb(255, 0, 0)
)rgba(R, G, B, A)
(e.g. rgba(255, 0, 0, 0.5)
)#RRGGBB
(e.g. #FF0000
)hsl(H, S%, L%)
(e.g. hsl(0, 100%, 50%)
)hsla(H, S%, L%, A)
(e.g. hsla(0, 100%, 50%, 0.5)
)The design consists of the following elements:
primaryColor
is the color of the primary elements (e.g. links, buttons)backgroundColor
is the color of the backgroundforegroundColor
is the color of the textprimaryShading
is the color of the shading, used for the sidebar, the hover effect and the active elementInspire yourself with the following examples:
Configuration:
"design": {
"primaryColor": "#0c884c",
"backgroundColor": "#15212D",
"foregroundColor": "white",
"primaryShading": "rgba(255, 255, 255, 0.1)"
}
Configuration:
"design": {
"primaryColor": "#859900",
"backgroundColor": "#fdf6e3",
"foregroundColor": "#002b36",
"primaryShading": "rgba(0, 0, 0, 0.1)"
}
Configuration:
"design": {
"primaryColor": "#859900",
"backgroundColor": "black",
"foregroundColor": "white",
"primaryShading": "rgba(255, 255, 255, 0.1)"
}
[[a link]]
creates a link to a page, typing [[
opens the content assist in “insert link mode”:emoji:
(all emojis from openmoji available)*
(and not with -
, because -
starts a new block)1.
, 2.
…[[myTag]]
links to a page with the name myTag
/
character in the page name. [[myTag / mySubTag]]
creates a page
mySubTag
with the parent tag myTag
and the parent tag myTag
page-hierarchy
(see page hierarchy)insert-file-content
(
see render assets)[ ]
for todo or [x]
for done. The rendered block has a checkbox that can be
toggledtodos
(see todos)myTag
, the todo is also tagged with myTag
.Queries are placeholders for dynamic content in Markdown. The result of the query is calculated and displayed dynamically at runtime, whereby only the query syntax and not the result is stored in the Markdown file on disk.
Queries are particularly suitable for three problems:
Currently,all queries must be inserted exactly as described. Parameters cannot yet be swapped or omitted.
Quick examples:
Show a list of links
{query: page-hierarchy root:"myRootTag" display:"inplace-list" }
Show the count
{query: page-hierarchy root:"myRootTag" display:"count" }
Display types:
Quick examples:
Show a list of todos with a checkbox and a link to the source file. The list is appended to the end of the current block
{query: todos tag:"myTag" state:"todo" display:"referenced-list" }
Show a list of todos (not modifiable, but renders in place)
{query: todos tag:"myTag" state:"todo" display:"inplace-list"}
Show the count of todos
{query: todos tag:"myTag" state:"todo" display:"count" }
Show done todos
{query: todos tag:"myTag" state:"done" display:"referenced-list" }
Display-types:
Query
Result
Query
Result
Result (done)
Query
Result
Show a list of backlinks
{query: references-to tag:"myTag" display:"referenced-list" }
Show the count
{query: references-to tag:"myTag" display:"count" }
Insert the content of a file as text block
{query: insert-file-content target-file:"myFile.asdf" display:"inline-text" }
Insert the content of a file as code block, and highlight the code
{query: insert-file-content target-file:"myFile.asdf" display:"code-block" }
Insert a video
{query: insert-file-content target-file:"myFile.mp4" display:"video" }
Insert an audio file
{query: insert-file-content target-file:"myFile.ogg" display:"audio" }
Looksyk has a history feature that allows you to navigate to the previous and next page. The history is stored in the local storage of the browser and is not synchronized with other devices.
The history is displayed in the sidebar and can be dropped. The history is limited to 5 visible entries, but all entries are stored in the local storage.