Stays crunchy, even in milk.
This package contains build-tools used to generate valadoc.org and ideally shouldn't be used to generate other pages.
In order to build the docs you will need the following:
valadoc
>= 0.35.0php
- 4 GB of free space
On elementary OS or Ubuntu run:
sudo add-apt-repository ppa:vala-team
sudo apt update
sudo apt install valac valadoc libvaladoc-dev unzip php php-curl libgee-0.8*
Arch or derivatives run:
pacman -S vala php
Next, install JS dependencies:
npm install
After you have valadoc
installed, you can move to building the documentation. Simply run:
make serve
This will take a bit of time, so grab yourself a cup of coffee; if you’re impatient, run:
make serve-mini
for a minimal test version. If you
encounter an error at this step, please see the common pitfalls section. After
you completed building, you should see a valadoc.org
folder.
To access the documentation navigate your browser to http://localhost:7777.
For a more complete experience, you will need to install sphinxsearch
and xsltproc
.
On elementary OS or Ubuntu run:
sudo apt install sphinxsearch xsltproc
The run the following command to generate search indexes:
make serve-search
This will (eventually!) start a sphinx daemon on port 51413
.
Open documentation/packages.xml
and add a new package-entry.
Use <external-package>
to create external links:
<external-package name="package-name" link="http://path/to/docs">
short description
</external-package>
Use <package>
to build and include documentation for vapi files:
<package name="gdl-1.0">
short description
</package>
The following attributes are supported:
Name | Description |
---|---|
name | The vapi name |
deprecated | Set it to '"true"' to mark a package as deprecated |
maintainers | List of binding maintainers |
gir | The GIR file used to extract documentation from |
c-docs | Link to C documentation |
ignore | Do not build documentation for this entry |
home | Homepage link |
flags | Additional vala flags (Missing dependencies, ...) |
gallery | Link to a GTK-Doc widget gallery |
vapi-image-source | Source to download images from |
Referenced GIR and vapi-files have to be part of one of the following repositories:
Copy your examples to examples/<vapi-name>/
and add a new entry to examples/<vapi-name>/<vapi-name>.valadoc.examples
:
<example>
<title>Example Title</title>
<image>optional-screenshot.png</image>
<file>file-name-1.vala</file>
<file>file-name-2.vala</file>
<compile>valac file-name1.vala file-name-2.vala ...</compile>
<node>Associated.Symbol.name1</node>
<node>Associated.Symbol.name2</node>
</example>
If this is the first example for the package, add a line to the check-examples
target of Makefile
.
Create a new file called <vapi-name>.valadoc
in documentation/<vapi-name>/
:
...
/**
* My valadoc comment
*/
c::c_symbol_name
...
/**
* My valadoc comment
*/
Vala.Symbol.Name
- generator: Parses
packages.xml
files describing all packages. It is responsible for building up the page. It fetches resources such as images from specified sources, computes valadoc-calls, builds documentation for specified packages and puts-together the whole page. (make serve
,make serve-mini
) - configgen: Used to generate configuration files for our search index.
- valadoc-example-gen: Internally used to generate example listings.
- valadoc-example-tester: Compiles and checks all registered examples. (
make test-examples
)
Uncaught Error: Class 'mysqli' not found
- Uncomment
extension=mysqli.so
in your OS's php.ini (find /etc -name php.ini
)
error: failed to load driver
- Your valadoc version does not support the requested vala version. Install a recent vala version and recompile valadoc.
- Change
VALAC_VERSION
in Makefile.
Other errors:
- Check
LOG
in the root of this repo for more information - Have you run out of disk space?
- Homepage, GIT
- Issue Tracker, valadoc.org
- Issue Tracker, valadoc (now a part of Vala)
- IRC: irc.gnome.org, #vala (flo, UTC+01:00)
- Mail: [email protected]
https://github.com/benwaffle/vala-language-server https://marketplace.visualstudio.com/items?itemName=prince781.vala
valadoc --target-glib 2.98 --importdir girs --doclet "." -o "tmp/glib-2.0" "/usr/share/vala-0.48/vapi/glib-2.0.vapi" --vapidir "/usr/share/vala-0.48/vapi" --girdir "girs/gir-1.0" --pkg posix --use-svg-images -X --disable-devhelp --importdir documentation/glib-2.0 --import glib-2.0 --importdir "girs/gir-1.0" --import GLib-2.0 --metadatadir documentation/glib-2.0 --importdir examples --import glib-2.0-examples --wiki documentation/glib-2.0/wiki
valadoc --target-glib 2.98 --importdir girs --doclet "." -o "tmp/gio-2.0" "/usr/share/vala-0.48/vapi/gio-2.0.vapi" --vapidir "/usr/share/vala-0.48/vapi" --girdir "girs/gir-1.0" --use-svg-images -X --disable-devhelp --importdir "girs/gir-1.0" --import Gio-2.0 --metadatadir documentation/gio-2.0 --importdir examples --import gio-2.0-examples --wiki documentation/gio-2.0/wiki
valadoc --target-glib 2.98 --importdir girs --doclet "." -o "tmp/gobject-2.0" "/usr/share/vala-0.48/vapi/gobject-2.0.vapi" --vapidir "/usr/share/vala-0.48/vapi" --girdir "girs/gir-1.0" --use-svg-images -X --disable-devhelp --importdir "girs/gir-1.0" --import GObject-2.0 --metadatadir documentation/gobject-2.0 --importdir examples --import gobject-2.0-examples --wiki documentation/gobject-2.0/wiki