Technologies
ortfo/db has a concept of technologies. This allows you to specify with what tools the work was made. Note that the term is intended to be very broad-reaching: if you are describing a painting, for example, “oil paint” and “canvas” would be considered technologies. If you are describing a website, “HTML” and “CSS” would be considered technologies.
Usage example
Declaration
You can define all valid technologies for your works in a central place with a technologies.yaml
file.
Then, reference the path to that file in your ortfodb.yaml
configuration file:
...
at: media/
technologies:
repository: path/to/technologies.yaml
tags:
repository: path/to/tags.yaml
The file itself is a list of technologies that have various properties.
Example
# yaml-language-server: $schema=https://ortfo.org/technologies.schema.json
- slug: go
name: Go
by: Google
files: ["*.go"]
learn more at: https://go.dev
description: |
An straightforward low-level open source programming language supported by Google featuring built-in concurrency and a robust standard library
- slug: vue
name: Vue
aliases: ["vuejs"]
files: ["*.vue"]
autodetect: ["vue in package.json"]
learn more at: https://vuejs.org
description: |
The progressive JavaScript framework
What's that # yaml-language-server
thing?
Properties
slug
The slug is a unique identifier for this technology, that's suitable for use in a website's URL. For example, the page that shows all works using a technology with slug "a" could be at https://example.org/technologies/a.
name
TODO: Documentation
by
Name of the person or organization that created this technology.
description
TODO: Documentation
learn more at
URL to a website where more information can be found about this technology.
aliases
Other technology slugs that refer to this technology. The slugs mentionned here should not be used in the definition of other technologies.
files
Files contains a list of gitignore-style patterns. If the work contains any of the patterns specified, we consider that technology to be used in the work.
autodetect
Autodetect contains an expression of the form 'CONTENT in PATH' where CONTENT is a free-form unquoted string and PATH is a filepath relative to the work folder. If CONTENT is found in PATH, we consider that technology to be used in the work.
Usage
In your work's description file, refer to technologies names by their slug
, name
or any of the aliases
:
---
wip: true
tags: [automation, cli]
made with: [go, vue]
---
# ortfo
Enforcing correct technologies Planned
In the future, ortfo/db might enforce that all technologies used in your works are defined in the technologies.yaml
file.
This would prevent typos.