Knowledge Fragments

A knowledge fragment is the unit of information in a Piggydb database. The box which contains the text you are reading now is a fragment. The content of a fragment is usually text like this fragment (Text Fragment), but you can also input a file of arbitrary type as a single fragment which is called a "File Fragment".
I recommend that you keep individual fragments relatively small. Smaller fragments, which focus on single issues, give you more flexibility when you organize and relate them using the tags.
Piggydb provides you with various ways to view organized fragments. This is one of its advantages when compared to other systems, such as wikis or blogs.

Text Fragments

A text fragment is a fragment whose content is composed of text, and it is a primary component to compose your knowledge in a Piggydb database. The content can be formatted using a wiki-like markup syntax, as shown:
(Clicking the help button [?] shows the Wiki Markup Help.)
Piggydb puts the focus on the logical structure of knowledge rather than presenting information in a visually impressive way. So Piggydb provides just a minimal set of tools for simple formatting such as basic font decorations, lists, quotes, tables, etc. It does not provide a sectional level of text formatting because in Piggydb this is realized not in the content of a fragment, but with relationships among fragments and tags.

#pre tag / #code tag → ...

Adding a #pre tag to a text fragment displays the content "as is" and no further formatting will be applied to it (similar to HTML <pre>..</pre> mark-up).
Adding both #pre and #code tags to a text fragment displays the content "as is" with program-code syntax highlighting.
You can optionally specify the programming language in which the code is written with a #lang-<language name> tag, for more detail of language names, see the google-code-prettify document.

Fragment Embedding

The text fragment formatting allows you to embed other fragments in the content of a text fragment.
A fragment embedded in another:

MathJax Support → ...

LaTeX expressions in the content will be converted into mathematics notation by MathJax.

File Fragments

A file fragment is a fragment whose content is a single file, of any type. Piggydb allows you to supply files as knowledge fragments because you can then organize them exactly like text fragments, using tags and establishing relationships.
A file fragment differs from a text fragment in the way its content is treated. At present, the content of a file can not be the target for keyword searches and it will not be displayed, unless it is an image file.
Because of these differences, file fragments, currently, are most useful when embedded in text fragments (to visually enhance them) or to collect supporting and reference documents.

Fragment Relationships

Simple, unconnected knowledge fragments can be used as a personal journal or a diary, aided by the calendar interface, and you can use the full-text search facility to find and retrieve the information. However, as you connect ('relate') knowledge fragments to one another, the knowledge in your database becomes more useful and valuable.
Structurally the relationships between fragments resemble a network; this is less limiting than other types of relationship such as the tree structure, where each node can only have one parent. Piggydb allows relationships between fragments to be as complex as you need.
A well-built network of related fragments can be navigated easily using the Tree View, and arbitrary parts can be viewed using the Document View which renders in a "printer-friendly" format.

How to create a new relationship

You can create a relationship easily using drag-and-drop as follows:
There is a New Relationship icon (+→) on the fragment toolbar.
Drag this icon,
and drop it onto another fragment.
A new relationship will be created as shown:
Dropping the icon onto the "Selected Fragments" box creates a new relationship with many fragments in one operation.

Home Fragment

In the older versions, fragments with a #home tag will be shown at the home page. However, this feature has some disadvantages. For example, you can’t put a tag-fragment without the side-effect where the tag-fragment will inherit #home’s feature unexpectedly, which means the fragments tagged with the tag-fragment will also be shown on the home page. Also you can’t control the order of the fragments at the home page with #home. So the old #home tag has been replaced with Home Fragment whose child-fragments will be shown at the home page with the order maintained.