Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
ManuelSchneid3r committed Nov 8, 2024
1 parent ca4a037 commit 9e092cc
Show file tree
Hide file tree
Showing 13 changed files with 227 additions and 150 deletions.
2 changes: 2 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@ EXPOSE 4000

ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& ls \
&& apt-get -y install build-essential \
&& bundle install \
&& apt-get -y clean \
&& apt-get -y purge build-essential \
&& apt-get -y autoremove \
&& rm -rf /var/lib/apt/lists/*

33 changes: 28 additions & 5 deletions Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,28 @@
#EXTRACT_LOCAL_CLASSES = YES
#EXTRACT_PRIVATE = NO
#EXTRACT_STATIC = YES
#GENERATE_DOCSET = YES
GENERATE_DOCSET = YES
#MACRO_EXPANSION = NO
#SKIP_FUNCTION_MACROS = NO

COLLABORATION_GRAPH = NO
DOT_IMAGE_FORMAT = svg
DOXYFILE_ENCODING = UTF-8
EXTRACT_ALL = YES
GENERATE_LATEX = NO
INPUT = albert/include
STRIP_FROM_INC_PATH = albert/include
#INPUT = albert/include
INPUT = ../include
STRIP_FROM_INC_PATH = albert/include # relative include paths


FULL_PATH_NAMES = YES # Relative paths in include graph
STRIP_FROM_PATH = ..

HAVE_DOT = YES

# hide undoc stuff
HIDE_UNDOC_MEMBERS = YES
HIDE_UNDOC_CLASSES = YES
HIDE_FRIEND_COMPOUNDS = YES
HIDE_IN_BODY_DOCS = YES

JAVADOC_AUTOBRIEF = YES
LAYOUT_FILE = DoxygenLayout.xml
Expand Down Expand Up @@ -48,3 +58,16 @@ HTML_EXTRA_STYLESHEET = doxygen-awesome-css/doxygen-awesome.css doxygen-awesome
HTML_COLORSTYLE = LIGHT # required with Doxygen >= 1.9.5
HTML_OUTPUT = src/reference


#OUTPUT_DIRECTORY = doxy_out
#COLLABORATION_GRAPH = NO
#CLASS_GRAPH = YES

# Class diagram
#INPUT = ../include ../src
#HIDE_UNDOC_RELATIONS = NO
#UML_LOOK = YES
#CALL_GRAPH = YES
#CALLER_GRAPH = YES


6 changes: 5 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
info:
less Makefile

clean:
rm src/Gemfile.lock
docker container rm jekyll

doxygen:
rm -rf albert src/reference
git clone --depth 1 https://github.com/albertlauncher/albert.git
doxygen

build:
docker-compose up jekyll-build
docker-compose up --build jekyll-build

serve:
docker-compose up jekyll-serve
Expand Down
5 changes: 3 additions & 2 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
version: "3.5"

services:

jekyll: &jekyll
Expand All @@ -16,16 +14,19 @@ services:
jekyll-build:
<<: *jekyll
command: build
container_name: jekyll-build

jekyll-serve:
<<: *jekyll
ports:
- 4000:4000
command: serve --host 0.0.0.0 --trace
container_name: jekyll-serve

html-proofer:
image: klakegg/html-proofer:3.17.0
volumes:
- ./src/_site:/src
command: --allow-hash-href --check-html --empty-alt-ignore
container_name: html-proofer

14 changes: 13 additions & 1 deletion src/_sass/custom/custom.scss
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,16 @@ body {
//font-size: 1.6em;
//font-weight: 300;
//text-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
}

kbd {
border: .5px solid gray;
border-radius: 4px;
box-shadow: 0px 2px 4px gray;
display: inline-block;
font-size: .9em;
padding: 0.1em .5em 0em .5em;
margin: 0em .3em;
color: gray;
white-space: nowrap;
}
51 changes: 0 additions & 51 deletions src/gettingstarted/concepts.md
Original file line number Diff line number Diff line change
@@ -1,51 +0,0 @@
---
title: Concepts
parent: Getting started
nav_order: 0
---

# {{ page.title }}
{: .no_toc }

- TOC
{:toc}

A list of core concepts that help you to grasp things faster.

## Plugins

A plugin is a module that can be loaded/unloaded while the launcher is running.
They could be native plugins (shared libraries) or provided by plugin providers, such as Python modules from the Python plugin provider.
Nested plugins are only accessible if their provider is loaded.

Users can enable/disable or load/unload plugins via the Plugins tab in settings or using the built-in plugin query handler.
Enabled plugins load automatically at launch.
Plugins with graphical interfaces for configuration can be accessed via the Plugins tab.
Some plugins offer more detailed usage information there.

## Extensions

Each plugin can provide various extensions, like frontends, plugin providers, fallback providers or query handlers.
While frontends and plugin providers are advanced topics, fallback providers, global- and triggered query handlers are central to the app's functionality.

## Queries

The core of the app is the query engine which parses user input and decides the mode of a query.
If the query is prefixed by a trigger defined by any of the trigger query handlers the coresponding handler will handle the query exclusively.
This allows the handler to display matches as soon as they are available.
Queries without triggers are delegated to all global query handlers (multithreaded).
As soon as the handlers finished the matches are sorted by match score and usage history and displayed.
Additionally, fallback handlers offer a separate set of results: the fallback items.

## TODO
{: .no_toc }


- Results
- Matches
- Fallbacks
- Items
- Actions
- Extension interfaces (Concept and builtins)

If you are missing something here post an issue.
4 changes: 2 additions & 2 deletions src/gettingstarted/extension/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,14 @@ A quick comparison:

## General considerations and best practices

### How to version plugins
### Semantic versioning

If it has a public API `major.minor.patch` else `minor.patch`.
Increase major if the API breaks.
Increase minor if the API got some backward compatible additions or the user experiences noticeable changes.
In all other cases increase patch.

### Avoiding name conflicts of extension identifiers
### Avoid extension identifier conflicts

If your plugin provides multiple extensions it's a good idea to prepend the plugin id to the extension id to avoid name conflicts of extensions, e.g. `files.root_browser`.
The root extension is fine to match the plugin id.
Expand Down
10 changes: 10 additions & 0 deletions src/gettingstarted/install/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Install
parent: Getting started
nav_order: 0
has_children: true
---

# {{ page.title }}

Prebuilt packages are available for Linux and macOS. Windows is not supported yet.
41 changes: 9 additions & 32 deletions src/installation.md → src/gettingstarted/install/linux.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,13 @@
---
title: Installation
title: Linux
parent: Install
grand_parent: Getting started
nav_order: 1
---

# {{ page.title }}
{: .no_toc }
# Linux

- TOC
{:toc}

{: .warning }
Unofficial packages may contain malicious code!
Please make sure to use official or trusted repositories.

## Official packages

Official packages are built and hosted at [Open Build Service](https://build.opensuse.org/package/show/home:manuelschneid3r/albert).
Downloads and installation instructions for the base distributions can be found in the OBS software center.
Supported distributions, downloads and installation instructions for the base distributions can be found in the Open Build Service software center.

[Visit OBS software center](https://software.opensuse.org/download/package.iframe?project=home:manuelschneid3r&package=albert&acolor=00cccc&hcolor=00aaaa){: .btn .fs-5}

Expand All @@ -34,28 +25,14 @@ Several other distributions are supported when used with the correct package bas
| PopOS! 22.04 | Ubuntu 22.04 [ℹ️](https://en.wikipedia.org/wiki/Pop!_OS#Release_table) |
| PopOS! 20.04 | Ubuntu 20.04 [ℹ️](https://en.wikipedia.org/wiki/Pop!_OS#Release_table) |

{: .note }
Feel free to add missing mappings to this table.

The packages are [built](https://build.opensuse.org/package/show/home:manuelschneid3r/albert) and
[hosted](http://download.opensuse.org/repositories/home:/manuelschneid3r/) at Open Build Service.

## Unofficial packages

Feel free to add repositories to this list.

- [ArchLinux AUR](https://aur.archlinux.org/packages/albert)
- [nixOS](https://search.nixos.org/packages?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=albert)

{: .note }
Feel free to add trusted repositories to this list.

## From source

Building and installing from sources is the least convenient, but most flexible way.
This way is usually for developers only.
The build process is trivial, but you have to manage the dependencies on your own.
See the [OBS package specs](https://build.opensuse.org/package/show/home:manuelschneid3r/albert) for up to date build and runtime dependencies.

```bash
git clone --recursive https://github.com/albertlauncher/albert.git
cmake -B build -S albert -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug
cmake --build build
cmake --install build
```
32 changes: 32 additions & 0 deletions src/gettingstarted/install/macos.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
title: macOS
parent: Install
grand_parent: Getting started
nav_order: 0
---

# macOS

{: .note }
The macOS version is experimental 🚧

Albert is available via [homebrew](https://brew.sh/) tap.
The package is [built](https://github.com/albertlauncher/albert/actions/workflows/ci.yml)
and [hosted](https://github.com/albertlauncher/albert/releases) on GitHub.
The [homebrew tap](https://github.com/albertlauncher/homebrew-albert)
provides a [cask](https://github.com/albertlauncher/homebrew-albert/blob/main/Casks/albert.rb) for Albert.
To install Albert via homebrew run the following commands:

```bash
brew tap albertlauncher/albert
brew update
brew install albert
```

`brew update` and `brew upgrade` will keep the app up to date.

Note that the packaged app is *not signed*.
Read the caveats section of `brew install`.
For convenience the cask creates an ad-hoc signature and disables Gatekeeper for the app.
See the postflight section of the cask.

20 changes: 20 additions & 0 deletions src/gettingstarted/install/source.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: From source
parent: Install
grand_parent: Getting started
nav_order: 2
---

# From source

Building and installing from sources is the least convenient, but most flexible way.
This way is usually for developers only.
The build process is trivial, but you have to manage the dependencies on your own.
See the [OBS package specs](https://build.opensuse.org/package/show/home:manuelschneid3r/albert) for up to date build and runtime dependencies.

```bash
git clone --recursive https://github.com/albertlauncher/albert.git
cmake -B build -S albert -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug
cmake --build build
cmake --install build
```
Loading

0 comments on commit 9e092cc

Please sign in to comment.