Skip to content
Permalink
Browse files

Style: Reformat Markdown code

  • Loading branch information...
sanssecours committed Feb 14, 2019
1 parent e58136b commit b635bc3f69621d7f23e4ff3e3785fbae2b57504f
Showing with 2,463 additions and 2,863 deletions.
  1. +0 −6 .github/CONTRIBUTING.md
  2. +1 −1 .github/PULL_REQUEST_TEMPLATE.md
  3. +11 −11 CODE_OF_CONDUCT.md
  4. +26 −40 README.md
  5. +2 −2 benchmarks/README.md
  6. +45 −43 doc/API.md
  7. +0 −27 doc/AUTHORS.md
  8. +11 −14 doc/BIGPICTURE.md
  9. +37 −37 doc/BUILDSERVER.md
  10. +44 −45 doc/CODING.md
  11. +31 −44 doc/COMPILE.md
  12. +33 −33 doc/DESIGN.md
  13. +16 −17 doc/GIT.md
  14. +0 −1 doc/GOALS.md
  15. +2 −9 doc/IDEAS.md
  16. +24 −27 doc/INSTALL.md
  17. +0 −5 doc/SECURITY.md
  18. +33 −34 doc/TESTING.md
  19. +6 −6 doc/VERSION.md
  20. +7 −13 doc/WHY.md
  21. +0 −5 doc/decisions/array.md
  22. +2 −2 doc/decisions/bool.md
  23. +0 −2 doc/decisions/bootstrap.md
  24. +14 −14 doc/decisions/capabilities.md
  25. +4 −8 doc/decisions/cmake_plugins.md
  26. +0 −1 doc/decisions/cmake_spec.md
  27. +2 −2 doc/decisions/cryptograhic_key_handling.md
  28. +1 −1 doc/decisions/elektra_web.md
  29. +4 −4 doc/decisions/empty_files.md
  30. +2 −18 doc/decisions/global_plugins.md
  31. +0 −1 doc/decisions/global_validation.md
  32. +1 −1 doc/decisions/holes.md
  33. +3 −1 doc/decisions/internal_cache.md
  34. +3 −4 doc/decisions/library_split.md
  35. +0 −1 doc/decisions/logging.md
  36. +9 −9 doc/decisions/plugin_variants.md
  37. +1 −1 doc/decisions/pubsub.md
  38. +1 −1 doc/decisions/relative.md
  39. +2 −1 doc/decisions/script_testing.md
  40. +12 −17 doc/decisions/unit_testing.md
  41. +0 −3 doc/decisions/validation.md
  42. +148 −164 doc/dev/algorithm.md
  43. +117 −126 doc/dev/architecture.md
  44. +10 −11 doc/dev/classes.md
  45. +47 −55 doc/dev/data-structures.md
  46. +92 −98 doc/dev/error-handling.md
  47. +1 −2 doc/dev/logging.md
  48. +21 −26 doc/dev/metadata.md
  49. +46 −50 doc/dev/plugins-framework.md
  50. +21 −21 doc/dev/plugins-ordering.md
  51. +16 −17 doc/help/elektra-backends.md
  52. +8 −12 doc/help/elektra-bootstrapping.md
  53. +12 −14 doc/help/elektra-cascading.md
  54. +15 −17 doc/help/elektra-contracts.md
  55. +2 −13 doc/help/elektra-faq.md
  56. +2 −5 doc/help/elektra-glossary.md
  57. +15 −16 doc/help/elektra-granularity.md
  58. +1 −12 doc/help/elektra-hierarchy.md
  59. +12 −16 doc/help/elektra-introduction.md
  60. +22 −25 doc/help/elektra-key-names.md
  61. +18 −20 doc/help/elektra-merge-strategy.md
  62. +41 −45 doc/help/elektra-metadata.md
  63. +9 −10 doc/help/elektra-mounting.md
  64. +4 −13 doc/help/elektra-namespaces.md
  65. +3 −6 doc/help/elektra-related.md
  66. +34 −37 doc/help/elektra-semantics.md
  67. +15 −26 doc/help/elektra-spec.md
  68. +1 −2 doc/help/elektra-sync-flag.md
  69. +1 −4 doc/help/elektra-values.md
  70. +2 −2 doc/help/kdb-backup.md
  71. +1 −2 doc/help/kdb-change-resolver-symlink.md
  72. +1 −2 doc/help/kdb-change-storage-symlink.md
  73. +2 −2 doc/help/kdb-check-env-dep.md
  74. +28 −31 doc/help/kdb-check.md
  75. +1 −2 doc/help/kdb-complete.md
  76. +1 −5 doc/help/kdb-convert.md
  77. +1 −12 doc/help/kdb-cp.md
  78. +2 −4 doc/help/kdb-editor.md
  79. +1 −3 doc/help/kdb-export.md
  80. +1 −3 doc/help/kdb-file.md
  81. +2 −3 doc/help/kdb-find.md
  82. +1 −6 doc/help/kdb-fstab.md
  83. +1 −8 doc/help/kdb-get.md
  84. +5 −6 doc/help/kdb-getmeta.md
  85. +1 −9 doc/help/kdb-global-mount.md
  86. +1 −2 doc/help/kdb-global-umount.md
  87. +4 −5 doc/help/kdb-help.md
  88. +2 −4 doc/help/kdb-import.md
  89. +3 −5 doc/help/kdb-info.md
  90. +3 −5 doc/help/kdb-introduction.md
  91. +1 −2 doc/help/kdb-list-commands.md
  92. +1 −4 doc/help/kdb-list-tools.md
  93. +1 −2 doc/help/kdb-list.md
  94. +2 −3 doc/help/kdb-ls.md
  95. +1 −3 doc/help/kdb-lsmeta.md
  96. +13 −15 doc/help/kdb-merge.md
  97. +1 −2 doc/help/kdb-mount-list-all-files.md
  98. +6 −14 doc/help/kdb-mount.md
  99. +1 −2 doc/help/kdb-mountpoint-info.md
  100. +1 −8 doc/help/kdb-mv.md
  101. +1 −3 doc/help/kdb-remount.md
  102. +2 −2 doc/help/kdb-restore.md
  103. +1 −2 doc/help/kdb-rm.md
  104. +1 −2 doc/help/kdb-rmmeta.md
  105. +1 −4 doc/help/kdb-set.md
  106. +4 −6 doc/help/kdb-setmeta.md
  107. +1 −3 doc/help/kdb-sget.md
  108. +1 −3 doc/help/kdb-shell.md
  109. +7 −13 doc/help/kdb-spec-mount.md
  110. +2 −2 doc/help/kdb-stash.md
  111. +1 −2 doc/help/kdb-test.md
  112. +1 −2 doc/help/kdb-umount.md
  113. +1 −4 doc/help/kdb-vset.md
  114. +9 −13 doc/help/kdb.md
  115. +1 −2 doc/images/README.md
  116. +10 −12 doc/markdownlinkconverter/README.md
  117. +0 −1 doc/paper/README.md
  118. +8 −12 doc/paper/paper.md
  119. +1 −31 doc/todo/NEWS.md
  120. +7 −15 doc/todo/ROADMAP.md
  121. +24 −29 doc/tutorials/application-integration.md
  122. +9 −11 doc/tutorials/cascading.md
  123. +35 −24 doc/tutorials/command-line-options.md
  124. +1 −2 doc/tutorials/compilation-variants.md
  125. +22 −24 doc/tutorials/crypto.md
  126. +9 −8 doc/tutorials/elektra-merge-integration.md
  127. +2 −2 doc/tutorials/export.md
  128. +2 −2 doc/tutorials/hello-elektra.md
  129. +3 −3 doc/tutorials/import.md
  130. +8 −3 doc/tutorials/java-kdb.md
  131. +27 −27 doc/tutorials/merge.md
  132. +13 −13 doc/tutorials/mount.md
  133. +9 −7 doc/tutorials/namespaces.md
  134. +24 −18 doc/tutorials/notifications.md
  135. +10 −15 doc/tutorials/plugins.md
  136. +7 −7 doc/tutorials/snippet-sharing-rest-service.md
  137. +23 −12 doc/tutorials/validation.md
  138. +1 −1 doc/usecases/elektra_web/UC_modifying_keys.md
  139. +1 −0 examples/highlevel/README.md
  140. +0 −2 examples/spec/README.md
  141. +14 −16 scripts/README.md
  142. +2 −4 scripts/docker/README.md
  143. +6 −6 scripts/docker/jenkinsnode/README.md
  144. +4 −0 scripts/docker/legacy/README.md
  145. +0 −1 scripts/docker/webui/README.md
  146. +6 −0 scripts/vagrant/debian/jessie64/README.md
  147. +5 −1 scripts/vagrant/ubuntu/artful32/README.md
  148. +2 −2 src/bindings/README.md
  149. +28 −28 src/bindings/cpp/README.md
  150. +1 −1 src/bindings/gi/lua/README.md
  151. +1 −1 src/bindings/gi/python/README.md
  152. +50 −26 src/bindings/gsettings/README.md
  153. +18 −16 src/bindings/haskell/README.md
  154. +31 −39 src/bindings/intercept/env/README.md
  155. +1 −1 src/bindings/intercept/fs/README.md
  156. +3 −3 src/bindings/io/ev/README.md
  157. +3 −3 src/bindings/io/glib/README.md
  158. +3 −3 src/bindings/io/uv/README.md
  159. +26 −25 src/bindings/jna/README.md
  160. +1 −1 src/bindings/swig/lua/README.md
  161. +7 −7 src/bindings/swig/python/README.md
  162. +6 −6 src/bindings/swig/python2/README.md
  163. +71 −70 src/bindings/swig/ruby/README.md
  164. +2 −13 src/libs/README.md
  165. +2 −3 src/libs/elektra/README.md
  166. +17 −16 src/libs/highlevel/README.md
  167. +23 −24 src/plugins/README.md
  168. +4 −2 src/plugins/augeas/README.md
  169. +2 −0 src/plugins/blockresolver/README.md
  170. +1 −2 src/plugins/c/README.md
  171. +1 −1 src/plugins/camel/README.md
  172. +1 −3 src/plugins/conditionals/README.md
  173. +0 −5 src/plugins/crypto/README.md
  174. +18 −21 src/plugins/curlget/README.md
  175. +32 −34 src/plugins/date/README.md
  176. +30 −33 src/plugins/dbus/README.md
  177. +2 −2 src/plugins/dbusrecv/README.md
  178. +1 −2 src/plugins/desktop/README.md
  179. +3 −3 src/plugins/directoryvalue/README.md
  180. +0 −1 src/plugins/dpkg/README.md
  181. +0 −1 src/plugins/dump/README.md
  182. +3 −1 src/plugins/enum/README.md
  183. +0 −2 src/plugins/error/README.md
  184. +14 −15 src/plugins/fcrypt/README.md
  185. +1 −2 src/plugins/filecheck/README.md
  186. +3 −2 src/plugins/gitresolver/README.md
  187. +3 −2 src/plugins/glob/README.md
  188. +1 −3 src/plugins/gpgme/README.md
  189. +5 −6 src/plugins/hexcode/README.md
  190. +55 −53 src/plugins/hexnumber/README.md
  191. +1 −2 src/plugins/hosts/README.md
  192. +2 −1 src/plugins/iconv/README.md
  193. +1 −1 src/plugins/internalnotification/README.md
  194. +4 −5 src/plugins/jni/README.md
  195. +2 −1 src/plugins/keytometa/README.md
  196. +0 −2 src/plugins/line/README.md
  197. +0 −1 src/plugins/lineendings/README.md
  198. +1 −2 src/plugins/lua/README.md
  199. +6 −1 src/plugins/mathcheck/README.md
  200. +1 −1 src/plugins/mini/README.md
  201. +1 −0 src/plugins/mozprefs/README.md
  202. +16 −16 src/plugins/mozprefs/autoconfig/README.md
  203. +0 −1 src/plugins/multifile/README.md
  204. +1 −1 src/plugins/network/README.md
  205. +1 −1 src/plugins/ni/README.md
  206. +0 −1 src/plugins/passwd/README.md
  207. +10 −6 src/plugins/path/README.md
  208. +2 −2 src/plugins/process/README.md
  209. +1 −3 src/plugins/profile/README.md
  210. +1 −2 src/plugins/python/README.md
  211. +10 −11 src/plugins/range/README.md
  212. +12 −11 src/plugins/reference/README.md
  213. +14 −13 src/plugins/reference/examples/alternative/README.md
  214. +10 −10 src/plugins/reference/examples/complex/README.md
  215. +9 −9 src/plugins/regexdispatcher/README.md
  216. +7 −5 src/plugins/regexstore/README.md
  217. +20 −18 src/plugins/rename/README.md
  218. +1 −2 src/plugins/required/README.md
  219. +48 −44 src/plugins/resolver/README.md
  220. +0 −1 src/plugins/ruby/README.md
  221. +6 −6 src/plugins/shell/README.md
  222. +18 −19 src/plugins/spec/README.md
  223. +1 −2 src/plugins/struct/README.md
  224. +2 −3 src/plugins/sync/README.md
  225. +2 −4 src/plugins/tcl/README.md
  226. +2 −2 src/plugins/template/README.md
  227. +0 −1 src/plugins/timeofday/README.md
  228. +0 −1 src/plugins/tracer/README.md
  229. +2 −4 src/plugins/type/README.md
  230. +4 −4 src/plugins/typechecker/README.md
  231. +0 −1 src/plugins/validation/README.md
  232. +11 −10 src/plugins/xerces/README.md
  233. +1 −1 src/plugins/xmltool/README.md
  234. +29 −31 src/plugins/yamlcpp/README.md
  235. +5 −5 src/plugins/zeromqrecv/README.md
  236. +4 −4 src/plugins/zeromqsend/README.md
  237. +37 −44 src/tools/gen/README.md
  238. +6 −6 src/tools/qt-gui/README.md
  239. +30 −25 src/tools/rest-backend/README.md
  240. +41 −31 src/tools/rest-frontend/README.md
  241. +33 −37 src/tools/web/README.md
  242. +9 −12 src/tools/web/client/README.md
  243. +4 −7 src/tools/web/elektrad/README.md
  244. +4 −8 src/tools/web/webd/README.md
  245. +3 −4 tests/README.md
  246. +3 −5 tests/shell/shell_recorder/README.md
  247. +5 −5 tests/shell/shell_recorder/tutorial_wrapper/README.md
@@ -7,7 +7,6 @@ Any typo fixes, spelling fixes, fixes in documentation,
or README.md can be done without any further considerations!
Simply do the fixes in your cloned repo and create a pull request.


# Issues

If you have any questions you can ask them using
@@ -17,23 +16,20 @@ Simply ignore the template in this case.
See also [FAQ](/doc/help/elektra-faq.md) for some details
about creating issues.


# General

We recommend that you read:

- [The big picture what Elektra is](/doc/BIGPICTURE.md)
- [The tutorials to get some practice](/doc/tutorials/)


# Code

Before you issue a pull request that modifies code:

- You should read the [coding document](/doc/CODING.md).
- Make sure you fulfilled the [checklist](/.github/PULL_REQUEST_TEMPLATE.md).


# Architecture

Before you start making fundamental changes:
@@ -44,11 +40,9 @@ Before you start making fundamental changes:
- Create a [decision](/doc/decisions/README.md) describing you want to do
to keep the discussion more efficient and architecture documented.


# Labels

- If you do not want your PR to be merged, please label
the PR with the label "work in progress".
- If you included changes after a review and you think you
are ready, please tag your PR with the label "ready to merge".

@@ -3,7 +3,7 @@
Do not describe the purpose here but:

- [ ] Short descriptions should be in the release notes (added as entry in
`doc/news/_preparation_next_release.md` which contains `*(my name)*`)
`doc/news/_preparation_next_release.md` which contains `_(my name)_`)
**Please always add something to the the release notes.**
- [ ] Longer descriptions should be in documentation or in design decisions.
- [ ] Describe details of how you changed the code in commit messages
@@ -14,21 +14,21 @@ orientation.
Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
- The use of sexualized language or imagery and unwelcome sexual attention or
advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
- Other conduct which could reasonably be considered inappropriate in a
professional setting

## Our Responsibilities
@@ -17,31 +17,29 @@ and tools concerning their configuration tasks. Elektra abstracts from
cross-platform-related issues and enables applications to be aware of other
applications' configurations, leveraging easy application integration.


## Often used links

- [build server](https://build.libelektra.org/)
- [website](https://www.libelektra.org)
- [API docu](https://doc.libelektra.org/api/latest/html/)


## Overview

Elektra provides benefits for:

1. *Application Developers* by making it easier to access configuration settings in a modular, reliable, and extensible way.
2. *System Administrators* by making it possible to access configuration settings in the same way applications access them.
3. *Everyone* by making application integration and context-aware configuration a reality.
1. _Application Developers_ by making it easier to access configuration settings in a modular, reliable, and extensible way.
2. _System Administrators_ by making it possible to access configuration settings in the same way applications access them.
3. _Everyone_ by making application integration and context-aware configuration a reality.

Elektra consists of three parts:

1. *LibElektra* is a modular configuration access toolkit to
1. _LibElektra_ is a modular configuration access toolkit to
construct and integrate applications into a global,
hierarchical key database. The building blocks are:
- language bindings (inclusive high-level interfaces)
- GenElektra, the code generator for type-safe bindings
- plugins for configuration access behavior and validation
2. *SpecElektra* is a configuration specification language
2. _SpecElektra_ is a configuration specification language
that is easy to use and self-contained in the same key database (i.e.
written in any of the configuration file formats Elektra supports).
3. Tools on top of LibElektra for system administrators, such as
@@ -69,27 +67,23 @@ implemented in C, works cross-platform, and does not need any external dependenc
- [Why should I use Elektra?](doc/WHY.md)
- [Big Picture of Elektra](doc/BIGPICTURE.md)


## Contact

Do not hesitate to ask any question on
[GitHub issue tracker](https://issues.libelektra.org/)
or directly to one of the [authors](doc/AUTHORS.md).


## Quickstart

If you want to use Elektra for your application, [read the application integration tutorial](doc/tutorials/application-integration.md).


### Installation

The preferred way to install Elektra is by using packages provided for
your distribution, see [INSTALL](/doc/INSTALL.md) for available packages and alternative ways for installation.

> Note: It is preferable to use a recent version: They contain many bug fixes and usability improvements.

### Usage

Now that we have Elektra installed, we can start:
@@ -98,10 +92,8 @@ Now that we have Elektra installed, we can start:
- using [qt-gui](/src/tools/qt-gui/) for people preferring graphical user interfaces, and
- using [web-ui](/src/tools/web/) for people preferring web user interfaces.


### Documentation


To get an idea of Elektra, you can take a look at the
[presentation](https://www.libelektra.org/ftp/elektra/presentations/2016/FOSDEM/fosdem.odp).

@@ -123,7 +115,6 @@ You can read the documentation for the kdb tool, either
> Note: All these ways to read the documentation provide the same content,
> all generated from the GitHub repository.

## Goals

- Make developers live easier by proving a well-tested mature library
@@ -135,8 +126,8 @@ You can read the documentation for the kdb tool, either
from developers to system administrators and package maintainers to
provide a overall more consistent and user-friendly system.
(Default behavior of applications still is in control of developers,
you can even roll your own plugins to provide exactly the same behavior
as your application has now.)
you can even roll your own plugins to provide exactly the same behavior
as your application has now.)
- Make configuration storage more safe: avoid that applications
receive wrong or unexpected values that could lead to undefined behavior.

@@ -148,35 +139,32 @@ And in terms of quality, we want:

[Read more about the goals of Elektra](doc/GOALS.md)


## Facts and Features

* Elektra uses simple key-value pairs.
* Elektra uses the [BSD licence](LICENSE.md).
* Elektra implements an [API](https://doc.libelektra.org/api/latest/html/) to fully access a global key database.
* Elektra can be thought of a [virtual file system for configuration](/doc/BIGPICTURE.md).
* Elektra supports mounting of existing configuration files into a global key database.
* Elektra has dozens of [Plugins](src/plugins/) that make it possible
to have a tiny core, but still support many features, including:
* Elektra can import and export configuration files in any [supported format](src/plugins/).
* Elektra is able to log and notify other software on any configuration changes, for example,
using [Dbus](src/plugins/dbus/) and [Journald](src/plugins/journald/).
* Elektra can improve robustness by rejecting invalid configuration via [type checking](src/plugins/type/), [regex](src/plugins/validation/) and more.
* Elektra provides different mechanisms to [locate configuration files](src/plugins/resolver/).
* Elektra supports different ways to [escape](src/plugins/ccode/) and [encode](src/plugins/iconv/) content of configuration files.
* Elektra is multi-process safe and can be used in multi-threaded programs.
* Elektra (except for some [plugins](src/plugins/)) is portable and completely written in ANSI C99.
* Elektra (except for some [plugins](src/plugins/)) has no external dependency.
* Elektra is suitable for embedded systems and early boot stage programs.
* Elektra provides many powerful [Bindings](src/bindings) to avoid low-level access code.
* Elektra provides powerful [Code Generation Techniques](src/tools/gen) for high-level configuration access.

- Elektra uses simple key-value pairs.
- Elektra uses the [BSD licence](LICENSE.md).
- Elektra implements an [API](https://doc.libelektra.org/api/latest/html/) to fully access a global key database.
- Elektra can be thought of a [virtual file system for configuration](/doc/BIGPICTURE.md).
- Elektra supports mounting of existing configuration files into a global key database.
- Elektra has dozens of [Plugins](src/plugins/) that make it possible
to have a tiny core, but still support many features, including:
- Elektra can import and export configuration files in any [supported format](src/plugins/).
- Elektra is able to log and notify other software on any configuration changes, for example,
using [Dbus](src/plugins/dbus/) and [Journald](src/plugins/journald/).
- Elektra can improve robustness by rejecting invalid configuration via [type checking](src/plugins/type/), [regex](src/plugins/validation/) and more.
- Elektra provides different mechanisms to [locate configuration files](src/plugins/resolver/).
- Elektra supports different ways to [escape](src/plugins/ccode/) and [encode](src/plugins/iconv/) content of configuration files.
- Elektra is multi-process safe and can be used in multi-threaded programs.
- Elektra (except for some [plugins](src/plugins/)) is portable and completely written in ANSI C99.
- Elektra (except for some [plugins](src/plugins/)) has no external dependency.
- Elektra is suitable for embedded systems and early boot stage programs.
- Elektra provides many powerful [Bindings](src/bindings) to avoid low-level access code.
- Elektra provides powerful [Code Generation Techniques](src/tools/gen) for high-level configuration access.

## News

Go to the [website](https://www.libelektra.org), see [News](doc/news/), and its [RSS feed](https://www.libelektra.org/news/feed.rss).


## Download

Elektra uses a [git repository at GitHub](https://github.com/ElektraInitiative/libelektra).
@@ -187,14 +175,12 @@ You can clone the latest version of Elektra by running:

Releases can be downloaded from [here](https://www.libelektra.org/ftp/elektra/releases/).


## Build Server

The [build server](https://build.libelektra.org/) builds
Elektra for every pull request and on every commit in various ways and also produces [LCOV code
coverage report](https://doc.libelektra.org/coverage/master/debian-stable-full/).


## Contributing

Take a look at [how to start](doc/IDEAS.md).
@@ -35,8 +35,8 @@ Example:
To run the OPMPHM build time benchmark you need 2008 seeds.
First generate the seeds:
scripts/generate-seeds 2008 mySeedFile
scripts/generate-seeds 2008 mySeedFile
Then pass it to the benchmark:
cat mySeedFile | benchmark_opmphm opmphmbuildtime
cat mySeedFile | benchmark_opmphm opmphmbuildtime
Oops, something went wrong.

0 comments on commit b635bc3

Please sign in to comment.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.