Commit Graph

131 Commits

Author SHA1 Message Date
Emmanuel Lepage Vallee 3c0d5b606f doc: Fix issues found by @aire-one. 2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee 50c98059b8 doc: Fix a rendering problem.
Beause the HTML was indented with more than 3 spaces, it was converted
to mardown when using the fallback (not discount) markdown rendered.
2022-08-29 22:49:46 -07:00
Emmanuel Lepage Vallee 9c6ac7ec35 doc: Enforce a strict schema for all @property entries.
It now requires some extra tags to be added. With the new constraints,
the rendering is much more detailed.
2022-08-29 22:49:46 -07:00
Emmanuel Lepage Vallee 27f329a229 doc: Add a standard way to add metadata to the property documentation. 2022-08-29 22:49:46 -07:00
Emmanuel Lepage Vallee a698d20e81 doc: Add more property warnings.
The goal is to fix these issues so the new rendering can become
stable.
2022-08-29 22:49:46 -07:00
Emmanuel Lepage Vallee 31061cb2e6 doc: Add @range_stop, @range_start, @property_value and @property_unit.
This will be used in the next commit to describe properties in a more
consistent way.
2022-08-29 22:49:46 -07:00
Emmanuel Lepage Vallee 4fa957b75d doc: Force all properties to document their default value. 2022-08-29 22:49:46 -07:00
Emmanuel Lepage Vallee 86d1b1c22c doc: Add a mandatory `@noreturn` for functions and methods.
The goal is to catch cases where the return value exists, but is
forgotten. There was a large enough number of them to turn this
into a real check. Initially, I just wanted to implement it to fix
the problems, then delete the code. But since this is so common, I
think it is worth the annoyance.
2022-08-29 22:49:45 -07:00
Emmanuel Lepage Vallee 4bd90f0f35 doc: Add documentation linting and fix all issues it found. 2022-08-29 22:48:54 -07:00
Emmanuel Lepage Vallee f26642f037 doc: Fix mnor rendering issues.
The module name wasn't present when it should have been. Same for
the function params.
2022-08-29 22:48:54 -07:00
Emmanuel Lepage Vallee 292b657aea doc: Disable the ldoc optional function parameter mangling.
It no longer does `foo(bar[,bar=42])` and will rather do `(foo, bar)`.

This is easier to read and some new user are no familiar with the
optional parameter convention. They copy/paste the mangled value in
their config and end up with invalid Lua.
2022-08-29 22:48:54 -07:00
Aire-One e15205a548 add(css) .image-object max-size (#17)
Co-authored-by: Emmanuel Lepage Vallée <elv1313@gmail.com>
2022-08-29 22:48:54 -07:00
Emmanuel Lepage Vallee b8cd009b37 doc: Fix a rendering issue in @tfield and @field.
It would render `tag.awful.tag.layouts` instead of `awful.tag.layouts.
2022-08-29 22:48:54 -07:00
Emmanuel Lepage Vallee 2c1c37fb12 doc: Merge the Inherited/Deprecated/Readonly tag style.
They are on the right like Inherited, but use the "chip" style of
ReadOnly.
2022-08-29 22:48:54 -07:00
Emmanuel Lepage Vallee b6214af364 doc: Add a `deprecatedmethod` tag.
Like all the others, but for a method.
2022-08-29 22:48:36 -07:00
Sergey 486fd3744f Adding ldoc readonly tag text in the extra_summary list 2021-10-26 18:31:45 -04:00
Sergey 899f9c8879 Adding readonly ldoc tag 2021-10-26 18:07:20 -04:00
Sergey 60dfa3f6bd Fixing a typo 2021-10-26 18:06:38 -04:00
Emmanuel Lepage Vallee ae71158093 doc: Add documentation for the client "window factor" related functions
It might be a good idea to deprecate them and move them to the tag
class. However, these APIs are not exactly well designed, so
moving them wont solve that. Some day the dynamic client layout will
hopefully be merged and send these functions to the heap of smelly
bad ideas trash.
2021-10-18 14:38:37 -07:00
Emmanuel Lepage Vallee 93283a9885 doc: Undocument internal client `urgent` and `shape` methods.
There is already some permissions to change the behavior. I don't
think there is valid user-facing use cases for these "methods".
2021-10-18 14:38:37 -07:00
Emmanuel Lepage Vallee 5f321df4cc doc: Fix the image link on the index page. 2021-10-04 10:38:05 -07:00
aflorea-2k 8a81745d4d
doc(index.html): fixed broken links (#3402)
Fixes #3393, where links to guides were hard-coded, and pointed to wrong
places in the git version.
2021-08-04 11:07:57 -07:00
Aire-One af3b194a31 doc(@hidden;ldoc.ltp): Add ldoc tag to hide item
Add a new ldoc tag `@hidden`. This tag allows us to keep documentation
for magic methods (e.g. `wibox.widget.base:get_visible`) but prevent
it from being part of the documentation used by final users.
2021-04-02 19:24:07 +02:00
Aire-One 4dd689f181 doc(@supermodule;ldoc.ltp): Draw hierarchy tree
This commit adds a new ldoc custom tag `@supermodule`. It has to be
used at the module level. It should refer to the module
supermodules.

This tag can be used multiple time by the same module, but we ignore
other calls (for now?) as (AFAIK) we only use one way inheritance.

This tag is used in the ldoc template to find modules hierarchy and
draw the inheritance tree. It makes it easy to find and navigate to
parents modules.
2021-04-02 19:24:07 +02:00
Lucas Schwiderski 849a8b5af4
Add docs section about building and testing
This documents various CMake variables for building and the available
test suites.

Signed-off-by: Lucas Schwiderski <lucas@lschwiderski.de>
2021-03-23 10:18:29 +01:00
Emmanuel Lepage Vallee ac0aeb65c0 doc: Modernize the landing page.
The previous index.html was scary and the most useful links were
at the bottom. This commit fixes that.

It also adds an image of the default config with some labels to name
all visible components.
2021-03-22 00:54:00 -07:00
Aire-One 8bdabb234b draft 2021-03-21 23:58:05 -07:00
Emmanuel Lepage Vallee d408ec7846 doc: Use a more compact rendering for method return types. 2020-02-29 21:17:27 -05:00
Emmanuel Lepage Vallee 79dd2d731a doc: Improve the method and function rendering.
It now adds the return type to the signature.
2020-02-29 21:17:27 -05:00
Emmanuel Lepage Vallee d755a877ff doc: Add a new manual page describing the command line options. 2020-02-08 17:59:16 -05:00
Emmanuel Lepage-Vallee 46026ccc2e doc: Fix a regression that added another space in the URL.
This will break some existing links, but oh well, it isn't the first
time and some websites cannot render URLs with spaces in them. This
means external references to some of the input doc are currently
impossible.
2020-01-19 20:30:06 -05:00
Emmanuel Lepage-Vallee 31e0a3e67b doc: Fix the item summary rendering.
* Correctly count the elements
 * Use singular and plural tense properly
2020-01-19 20:30:06 -05:00
Emmanuel Lepage-Vallee 74ba84b299 doc: Make use of the @classsignal tag.
It wasn't doing anything until now.
2020-01-19 20:30:06 -05:00
Emmanuel Lepage-Vallee 575b0f12dc doc: Remove all type aliases.
They render poorly and serve no purpose.

    #!/bin/bash
    for FILE in $(git ls-files | grep -E "\.(h|c|lua)" | grep -v tests | grep -v spec); do
        sed -i 's/^[ ]*--*[ ]*@client /-- @tparam client /g' $FILE
    done
2020-01-19 20:30:06 -05:00
Emmanuel Lepage Vallee 84e6bbb86d doc: Improve the common documentation between all rules modules.
It was missing lesser/greater and the `id` type wasn't rendered
properly.
2020-01-19 02:39:30 -05:00
Emmanuel Lepage Vallee 104eac0bec doc: Update the ldoc config to handle the new ruled module. 2020-01-19 01:55:54 -05:00
Emmanuel Lepage Vallee 2b11fcfd1c doc: Add a section for rules matching properties.
It also change the text of "clientproperties" to be more generic so it
can apply to other type of rules.
2020-01-19 01:55:54 -05:00
Emmanuel Lepage Vallee 6ee294fd5a doc: Make sure the ruled module init.lua is ignored.
This has to be in its own commit otherwise Travis will fail. This
is because it will keep the file in the build directory when
iterating all commits. Then `ldoc` will fail because the file doesn't
have documentation. If `config.ld` is updated first, then it will
fail because `ruled/init.lua` doesn't exist yet. When it is done
in a separate commit, then `config.ld` is already updated and comes
with `init.lua`.
2020-01-19 01:55:54 -05:00
Emmanuel Lepage Vallee e208b81763 doc: Add a @request tag to document the request:: contexts. 2020-01-11 15:43:31 -08:00
Emmanuel Lepage Vallee 7705ef9f1e doc: Add a @classsignal tag.
To be used to denote when a signal only exists on a class, rahter
than on instances + class.
2020-01-11 15:43:31 -08:00
Emmanuel Lepage Vallee 5818de41ce awful: Rename awful.ewmh to awful.permissions.
It has nothing to do with EWMH since a long time. It was already used
for the requests, so lets formalize this.
2020-01-11 15:43:30 -08:00
Emmanuel Lepage Vallee efc42b1be1 autofocus: Modify `awful.autofocus` to be a request::.
This also pulls in part of the permission framework to ensure
backward compatibility is kept.

`awful.autofocus` was always weird. It is a module part of `awful`,
but it was never part of `awful` `init.lua`. Rather, `rc.lua` was
the sole place it was used. It behave exactly like a request, but
predate them by years. As I cleanup the request:: API before the
permissions API gets formalized, this has to be fixed now.

It isn't deprecated in this commit because it makes too many tests
fail. Another pull request will solve that by adding the "API level"
concept to AwesomeWM so I can change the behavior without breaking
existing configs. With that, the behavior of `autofocus` will be
enabled by default with the permissions to disable it.
2020-01-11 15:43:15 -08:00
Emmanuel Lepage Vallee 067bcaca60 client: Rename the `manage` and `unmanage` signals.
They currently fit the general concept of a `request::` in the sense
that they are not property related and have "request handlers".

The commit also add deprecation for signals.

The reason for this fits within the larger standardization project.
Non-namespaced signals will eventually be renamed. This has started
a long time ago.

What is old is new again. Once upon a time, there was a `startup`
parameter to the `manage` signal. It is now back in the form of
a context.

Finally, this commit removes the `manage` section of `rc.lua`. It no
longer did anything worthy of being in the config. Each of its
important parts have been moved out over the years and the last
remaining bit is always required anyway. The code has been moved
to `client.lua`.
2020-01-11 14:43:56 -08:00
Aire-One 3a99b91334 Fix a quirk for type render in the default format. 2019-12-05 19:05:36 +01:00
Aire-One 05e92672d6 Fix `@propemits` format mistakes. 2019-12-05 18:39:51 +01:00
Emmanuel Lepage Vallee 4168462b33 doc: Add an `@interface` tag.
Unlike `@baseclass`, some methods (like :reset()) and properties
are implemented across multiple classes.
2019-11-29 01:26:25 -05:00
Emmanuel Lepage Vallee 3508b6a18b doc: Add an `@introducedin` tag.
It is optional for now, but maybe in the future we can make
it mandatory. It will allow to have some "New!", "Not released"
messages or something in the doc. That would allow us to share
most of the doc between the stable and git versions.
2019-11-29 01:26:25 -05:00
Emmanuel Lepage Vallee 6f92f60076 doc: Add more deprecation related tags.
They do nothing for now, but once we are done adding them to
everything, they will replace the old `@deprecated` family of
type-tags.

They carry more information such as when it was removed and why.
Cross-referenced with the @version, we can infer the deprecation
status based on the current release rather than a boolean
"deprecated or not deprecated".
2019-11-29 01:26:25 -05:00
Emmanuel Lepage Vallee ec7cac5dbf doc: Add a summary next to the property/method title. 2019-11-29 01:26:25 -05:00
Aire-One 46c86351a0 Add ldoc tags for inherited members.
* Add `@inheritedproperty`, `@inheritedmethod` and `@inheritedsignal` ldoc tags to specify inherited members in the documentation,
* These new tags create their own section in the rendered documentation,
* Implemente these tags for `docs/common/object.ldoc` and `docs/common/widget.ldoc`.
2019-11-29 01:26:25 -05:00