This commit is contained in:
constantinos 2023-08-14 18:29:24 +03:00
parent d3752f7fc1
commit c14b4d347d

View file

@ -11,6 +11,9 @@ abstract: |
(Internal) Infromation on Sandpoints.
---
[Library]: /library/BROWSE_LIBRARY.html "Project library."
[Pandoc]: https://pandoc.org/ "Pandoc is a free and open-source command-line document conversion tool."
[Git]: https://git-scm.com/ "Git is a free and open-source distributed version control system."
[Hugo]: https://gohugo.io/ "Hugo is a free and open source static website builder."
@ -18,7 +21,7 @@ abstract: |
# Introduction
For an outline of basic *Sandpoints* features see ![About this infrastructure: Sandpoints](article:infrastructure).
Here is an outline:
Here is an overview:
- *Sandpoints* is a module/theme for [Hugo][].
- Hugo is a static website builder.
- Static websites serve a client a fixed HTML page according to a CSS and/or JavaScript files. Static websites require no dynamic processing or customizations to be performed by a server.
@ -35,21 +38,23 @@ Here is an outline:
- It features a particular ontology that follows a [triadic hierarchy](#ontology).
- It features extended hypertext functionalities that allow for non-linear content traversal, such as browsing entries by type, keywords, or [backlinks](#backlinks).
- All the content is open and listed at the [sitemap](/) (see also [sitemap](#sitemap)).
- It allows for entries or groups of entries to be exported into interactive and printable PDFs (see ![Print and Cite](article:print-cite)).
- It offers integration with a project-specific portable library (described in ![Library management](article:int-library)).
- It allows for entries or groups of entries to be exported into interactive and printable PDFs (see [generate printable PDFs](#pdf) and ![Print and Cite](article:print-cite)).
- It offers integration with a project-specific portable [library] (described in ![Library management](article:int-library)).
# Content organization
Content in *Sandpoints* is formatted in Markdown files, which are organized in subdirectories within the directory `/root/content/`.
Each subdirectory inside `content/` is named after and corresponds to a specific content type.
This project features the following content types (and subdirectories):
- `journal` (the parent object)
- `issue` (child)
- `article` (grandchild)
- `editor`
- `contributor`
- `print`
| Type/directory | Description |
|-|-|
| `journal` | parent item|
| `issue` | child of `journal`|
| `article` |child of `issue`|
| `editor` |associated with `issue`|
| `contributor` | associated with `article`|
| `print`| used for generating PDFs from other content types |
# Ontology {#ontology}
@ -75,7 +80,6 @@ Furthermore:
Lastly, `print` items are used to enable printing of any of the above elements (e.g. `article`, `issue`, or the whole `journal` ).
Note that the names of the basic triad elements are arbitrary. However:
- they have to correspond to content folders (as in `content/issue/`),
- they have to exist in the theme's dictionary which pairs singular and plural versions of the item name, as in `"article" : "articles"`.
@ -105,7 +109,7 @@ The sitemap is at the root URL of any given project.
# Backlinks {#backlinks}
The concept of backlinks was described in early speculations that informed hypertext (i.e. by Vannevar Bush and later Ted Nelson), but were not implemented the WWW.
According to these ideas, hyperlinks are bi-directional, which follows that a hyperlink is visible both in the document that features a link *and also* at the target document where the link is pointing to. The latter aspect is a backlink. By this scheme, any document knows which other documents point to it.
According to these ideas, hyperlinks are bi-directional, which follows that a hyperlink is visible both in the document that features a link *and also* at the target document where the link is pointing to. The latter is a backlink. By this scheme, any document knows which other documents point to it.
The same concept is used by search engine algorithms, such as 'page rank' by Google, that function by creating an index of how many webpages link to a specific target website -- or how many backlinks a given webpage has.
*Sandpoints* allows backlinks for selected items. These can be set at the config file, at the `sandpointsMentionedIn` array (see [Sandpoints config file](#sandpoints-config)).
@ -119,17 +123,17 @@ This will create a link to the `target-article` but it will also create a backli
A link from this article to some other one, at the latter article will generate a backlink that would appear at the top right of the page (`mentioned in this-article`).
![](/static/sample/2023-backlink-mentioned-in.png)
![Screenshot of a backlink mention in Sandpoints.](/static/internal/2023-backlink-mentioned-in.png)
Backlinks (as well as external and internal hyperlinks) are catalogued at [urls](/urls/).
# Generate printable PDFs
# Generate printable PDFs {#pdf}
_Sandpoint_ can generate printable and interactive PDFs for single entries, groups of entries (as in issues), and for all content. For PDFs containing more than one entry, _Sandpoints_ will dynamically generate a table of contents.
To browse printable content, look for material with the print prefix in the [sitemap](/).
To create a print version for a given entry see the ![Content creation guide](article:int-content).
See also ![Save PDFs and Cite](article:print-cite).
# Sandpoints project file structure
# Sandpoints project file structure {#filestructure}
The root folder of the project contains the following files and folders.
@ -145,9 +149,9 @@ The root folder of the project contains the following files and folders.
|`config.toml` |the configuration file of the website project.
|`go.mod` | text file required for upgrading the Sandpoints theme.
|`go.sum` | text file that logs upgrade information.
| `.git/` | a hidden folder with data from local version control.
| `.gitignore` | a text file that dictates which files or folders to ignore from (Git) version control and backup.
| `PUBLISH.trigger.md` | git hook for automatically building the website upon certain commit messages
| `PUBLISH.trigger.md` | Git hook for automatically building the website via commit message
| `.git/` | standard Git folder -- a hidden folder with data from local version control.
| `.gitignore` | standard Gitignore file -- a text file that dictates which files or folders to ignore from (Git) version control and backup.
| `readme.md` | standard Git repository readme file.
# Sandpoints config file {#sandpoints-config}
@ -182,5 +186,4 @@ Key elements of the config file include:
- For an extended description of *Sandpoints* see [Sandpoints Portfolio (sandpoints.org)](https://pages.sandpoints.org/sandpoints/simplesandpoints-de47f813/draft/portfolio/), which includes descriptions of its implementation in different projects, and related bibliography.
- [Sandoints (Gitea project repository)](https://git.sandpoints.org/Drawwell/).
- See also:
- Graziano, Valeria, Marcell Mars, and Medak Tomislav. Learning from \#Syllabus. In _State Machines: Reflections and Actions at the Edge of Digital Citizenship, Finance, and Art_, edited by Yiannis Colakides, Marc Garrrett, and Inte Gloerich. Amsterdam: Institute of Network Cultures, 2019. [http://www.statemachines.eu/books/state-machines-reflections-and-actions-at-the-edge-of-digital-citizenship-finance-and-art/](http://www.statemachines.eu/books/state-machines-reflections-and-actions-at-the-edge-of-digital-citizenship-finance-and-art/).
- See also Graziano, Valeria, Marcell Mars, and Medak Tomislav. Learning from \#Syllabus. In _State Machines: Reflections and Actions at the Edge of Digital Citizenship, Finance, and Art_, edited by Yiannis Colakides, Marc Garrrett, and Inte Gloerich. Amsterdam: Institute of Network Cultures, 2019. [http://www.statemachines.eu/books/state-machines-reflections-and-actions-at-the-edge-of-digital-citizenship-finance-and-art/](http://www.statemachines.eu/books/state-machines-reflections-and-actions-at-the-edge-of-digital-citizenship-finance-and-art/).