Add syntax highlighting, edit theme, and revise AdvMake documentation
@ -4,7 +4,7 @@
|
||||
|
||||
$body-bg-dark: $gray-900;
|
||||
$body-overlay-dark: darken($body-bg-dark, 2.5%);
|
||||
$border-dark: darken($body-bg-dark, 2.5%);
|
||||
$border-dark: lighten($body-bg-dark, 8%);
|
||||
$body-color-dark: $gray-300;
|
||||
$dots-dark: darken($body-color-dark, 50%);
|
||||
|
||||
@ -179,13 +179,17 @@ body.dark ::selection {
|
||||
}
|
||||
|
||||
body.dark pre {
|
||||
background: $body-overlay-dark;
|
||||
color: $body-color-dark;
|
||||
background: #282a36;
|
||||
color: #f8f8f2;
|
||||
}
|
||||
|
||||
body.dark code {
|
||||
background: $body-overlay-dark;
|
||||
color: $body-color-dark;
|
||||
background: #282a36;
|
||||
color: #f8f8f2;
|
||||
}
|
||||
|
||||
body.dark hr {
|
||||
border-top: 1px solid $border-dark;
|
||||
}
|
||||
|
||||
body.dark blockquote {
|
||||
|
@ -8,8 +8,8 @@ samp {
|
||||
}
|
||||
|
||||
pre {
|
||||
background: $beige;
|
||||
color: $black;
|
||||
background: #282a36;
|
||||
color: #f8f8f2;
|
||||
line-height: $line-height-lg;
|
||||
margin: 2rem 0;
|
||||
overflow: auto;
|
||||
@ -18,8 +18,8 @@ pre {
|
||||
}
|
||||
|
||||
code {
|
||||
background: $beige;
|
||||
color: $black;
|
||||
background: #282a36;
|
||||
color: #f8f8f2;
|
||||
padding: 0.25rem 0.5rem;
|
||||
}
|
||||
|
||||
|
@ -85,6 +85,10 @@ a.docs-link {
|
||||
font-size: $font-size-base * 0.9375;
|
||||
}
|
||||
|
||||
.page-links a code {
|
||||
color: #dee2e6;
|
||||
}
|
||||
|
||||
.docs-link:hover,
|
||||
.docs-link.active,
|
||||
.page-links a:hover {
|
||||
|
@ -14,12 +14,6 @@
|
||||
url = "/docs/"
|
||||
weight = 20
|
||||
|
||||
# [[social]]
|
||||
# name = "Twitter"
|
||||
# pre = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"feather feather-twitter\"><path d=\"M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z\"></path></svg>"
|
||||
# url = "https://twitter.com/gethyas"
|
||||
# weight = 10
|
||||
|
||||
[[social]]
|
||||
name = "GitLab"
|
||||
pre = "<span class='iconify' data-icon='fa-brands:gitlab' data-inline='false'></span>"
|
||||
|
@ -7,13 +7,13 @@ description: "Understanding AdvMake Build Files"
|
||||
{{< button-gitlab color="OrangeRed" project="advmake" text="AdvMake" >}}
|
||||
|
||||
|
||||
### Format
|
||||
## Format
|
||||
AdvMake uses [Starlark](https://github.com/bazelbuild/starlark) as the format for its build files.
|
||||
Extra builtins are also defined for both convenience and extra functionality.
|
||||
Modules are also defined for both convenience and extra functionality.
|
||||
|
||||
Starlark is a Python-like language meant for configuration files.
|
||||
|
||||
### Configuration
|
||||
## Configuration
|
||||
Build files are by default called `AdvMakefile`, but that can be set via `-f`
|
||||
|
||||
An AdvMakefile example can be found at AdvMake's repo as it uses AdvMake itself.
|
||||
@ -33,210 +33,442 @@ so in that case, it would run `advmake_install()`.
|
||||
If run with two arguments, AdvMake will use the first argument as the name and the second as the target.
|
||||
So, running `advmake hello world` would run the function `hello_world()`.
|
||||
|
||||
### Builtins
|
||||
As previously mentioned, AdvMake comes with extra builtins. Those are as follows:
|
||||
## Modules
|
||||
As previously mentioned, AdvMake comes with modules. Those are as follows:
|
||||
|
||||
#### `log()`
|
||||
### `runtime`
|
||||
|
||||
The log function uses zerolog in go to log a message to STDOUT. It has two arguments.
|
||||
The first is a string with the message to log, and the second is `level` which is optional
|
||||
The runtime module exposes some of golang's runtime methods and variables.
|
||||
|
||||
---
|
||||
|
||||
#### `runtime.GOOS`
|
||||
|
||||
Stores a string denoting the operating system being used.
|
||||
|
||||
{{< button text="Godoc" bgcolor="#00ACD7" fgcolor="white" icon="cib:go" link="https://pkg.go.dev/runtime#GOOS" >}}
|
||||
|
||||
---
|
||||
|
||||
#### `runtime.GOARCH`
|
||||
|
||||
Stores a string denoting the CPU architecture being used.
|
||||
|
||||
{{< button text="Godoc" bgcolor="#00ACD7" fgcolor="white" icon="cib:go" link="https://pkg.go.dev/runtime#GOARCH" >}}
|
||||
|
||||
---
|
||||
|
||||
#### `runtime.NumCPU()`
|
||||
|
||||
Get the number of logical CPUs available to the current process
|
||||
|
||||
{{< button text="Godoc" bgcolor="#00ACD7" fgcolor="white" icon="cib:go" link="https://pkg.go.dev/runtime#NumCPU" >}}
|
||||
|
||||
---
|
||||
|
||||
#### `runtime.GOMAXPROCS()`
|
||||
|
||||
Definition: `runtime.GOMAXPROCS(n)`
|
||||
|
||||
Get or set the value of the GOMAXPROCS environment variable. This variable controls the maximum number of CPUs that can execute. This function will set GOMAXPROCS to n and then return the previous value. If `n<1`, this function will not set the variable and will instead return the current setting
|
||||
|
||||
{{< button text="Godoc" bgcolor="#00ACD7" fgcolor="white" icon="cib:go" link="https://pkg.go.dev/runtime#GOMAXPROCS" >}}
|
||||
|
||||
|
||||
---
|
||||
|
||||
### `encoding`
|
||||
|
||||
The strings module contains functions for encoding and decoding various formats. This module contains submodules for the various formats
|
||||
|
||||
Available submodules:
|
||||
|
||||
- `Json`
|
||||
- `Yaml`
|
||||
- `Toml`
|
||||
- `Hex`
|
||||
|
||||
---
|
||||
|
||||
#### `encoding.<Submodule>.Load()`
|
||||
|
||||
Load a string formatted as the submodule format into a dictionary or string.
|
||||
|
||||
Examples:
|
||||
```python
|
||||
log("Info log") # Default level is info
|
||||
log("Warn log", level="warn") # Warn level log
|
||||
log("Debug log", level="debug") # Debug level log
|
||||
log("Fatal log", level="fatal") # Fatal level log. This will exit the program when executed
|
||||
x = encoding.Json.Load('{"encoding": "json"}')
|
||||
# x["encoding"] == "json"
|
||||
y = encoding.Hex.Load('546573740a')
|
||||
# y == "Test"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `execute()`
|
||||
#### `encoding.<Submodule>.Dump()`
|
||||
|
||||
The execute function runs a script using `sh -c`. This function has three arguments.
|
||||
The first is required and is a string with the script to run, the second is `output`
|
||||
which is optional. It can be set to `return`, `stdout`, or `both`, and the default is `both`.
|
||||
|
||||
The `output` argument controls where the script's output will be directed:
|
||||
- `return`: Returns script output as string
|
||||
- `stdout`: Prints script output to STDOUT, returning nothing
|
||||
- `both`: Prints to STDOUT and returns as string
|
||||
|
||||
The third argument is `concurrent` which can be either `True` or `False`, default `False`.
|
||||
If `concurrent` is set to `True`, all the lines in the script will be split and run concurrently
|
||||
via goroutines. The maximum threads for goroutines can be controlled using the `GOMAXPROCS` environment
|
||||
variable and is by default the amount of CPU cores present.
|
||||
Dump a string formatted as the submodule format from a dictionary or string
|
||||
|
||||
Examples:
|
||||
```python
|
||||
user = execute("whoami") # This will print the username to STDOUT and set the user variable to it
|
||||
user = execute("whoami", output="return") # This will set the user variable to the username but not print it
|
||||
|
||||
execute("""
|
||||
cp file destination
|
||||
mv destination destination-1
|
||||
echo 'hello world'
|
||||
""") # Example of a multiline script
|
||||
|
||||
execute("""
|
||||
install -Dm755 program /usr/bin
|
||||
install -Dm755 program.cfg /etc
|
||||
""", concurrent=True) # Example of a concurrent multiline script
|
||||
xDict = {"encoding": {"type": "toml"}}
|
||||
x = encoding.Toml.Dump(xDict)
|
||||
# x == '''
|
||||
#
|
||||
# [encoding]
|
||||
# type = "toml"
|
||||
#
|
||||
# '''
|
||||
y = encoding.Hex.Dump("Test")
|
||||
# y = "546573740a"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `getEnv()`
|
||||
### `file`
|
||||
|
||||
The getEnv function simply returns the value of the environment variable specified in its first argument.
|
||||
The file module contains functions for manipulation and checking of files
|
||||
|
||||
---
|
||||
|
||||
#### `file.Expand()`
|
||||
|
||||
Definition: `file.Expand(file, mappings)`
|
||||
|
||||
Expand any instances of `$VAR` in a file according to provided mappings.
|
||||
|
||||
Examples:
|
||||
|
||||
`file.txt` before:
|
||||
```text
|
||||
I am running on $OS and architecture $arch
|
||||
```
|
||||
|
||||
Code:
|
||||
```python
|
||||
file.Expand("file.txt", {"OS": runtime.GOOS, "arch": runtime.GOARCH})
|
||||
```
|
||||
|
||||
`file.txt` after:
|
||||
|
||||
```text
|
||||
I am running on linux and architecture x86_64
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `file.Exists()`
|
||||
|
||||
Definition: `file.Exists(filepath)`
|
||||
|
||||
Check whether a file exists
|
||||
|
||||
Example:
|
||||
```python
|
||||
term = getEnv("TERM") # Sets variable term to value of $TERM
|
||||
print("Nice " + term) # Prints "Nice $TERM"
|
||||
file.Exists("/etc/fstab") # True
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `setEnv()`
|
||||
#### `file.Content()`
|
||||
|
||||
The setEnv function sets an environment variable. It has three arguments.
|
||||
The first is the key, it is the name of the environment variable.
|
||||
The second is the new value, what the key should be set to.
|
||||
The third is optional, it is `onlyIfUnset` and it can be set to `True` or `False`, default `False`
|
||||
Definition: `file.Content(filepath)`
|
||||
|
||||
`onlyIfUnset` checks that the variable is not already set before setting it, this can be useful for
|
||||
setting defaults.
|
||||
Returns contents of a file as a string
|
||||
|
||||
Example:
|
||||
|
||||
file.txt:
|
||||
```text
|
||||
This is a file
|
||||
```
|
||||
|
||||
Code:
|
||||
```python
|
||||
file.Content("file.txt") # "This is a file"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `strings`
|
||||
|
||||
The strings module contains functions for the manipulation of strings
|
||||
|
||||
---
|
||||
|
||||
#### `strings.Regex()`
|
||||
|
||||
Definition: `strings.Regex(string, pattern, regex)`
|
||||
|
||||
Parse a string using a regular expression and return the result in the specified format.
|
||||
|
||||
Examples:
|
||||
```python
|
||||
setEnv("MY_ENV_VAR", "Hello, World") # Sets $MY_ENV_VAR to "Hello, World"
|
||||
setEnv("CC", "gcc", onlyIfUnset=True) # Sets $CC to "gcc", but only if $CC is not already set
|
||||
x = strings.Regex("Hello, World", "$2, $1", "(.+), (.+)")
|
||||
# x == "World, Hello"
|
||||
y = strings.Regex("Hello, World", "$y, $x", "(?P<x>.+), (?P<y>.+)")
|
||||
# y == "World, Hello"
|
||||
z = strings.Regex("Hello, World", "$match, $2, $1", "(.+), (.+)")
|
||||
# z == "Hello, World, World, Hello"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `expandFile()`
|
||||
#### `strings.HasSuffix()`
|
||||
|
||||
The expandFile function replaces all instances of $VAR with the value specified.
|
||||
Definition: `strings.HasSuffix(string, suffix)`
|
||||
|
||||
expandFile has two arguments. The first accepts a filename to modify.
|
||||
The second accepts a dictionary to act as mappings for value replacements.
|
||||
|
||||
Example:
|
||||
```python
|
||||
expandFile("a.txt", {"A": "Hello", "B": "World"}) # Replace $A with Hello and $B with world in file a.txt
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `download()`
|
||||
|
||||
The download function downloads a file at a URL.
|
||||
|
||||
download has two arguments. The first is a URL, and the second is an optional
|
||||
argument called `filename`. If `filename` is not provided, the filename will
|
||||
be taken from the URL.
|
||||
Check whether a string ends with a suffix.
|
||||
|
||||
Examples:
|
||||
```python
|
||||
download("https://www.arsenm.dev/logo-white.png") # Downloads logo-white.png
|
||||
download("https://www.arsenm.dev/logo-white.png", filename="logo.png") # Downloads logo-white.png as logo.png
|
||||
strings.HasSuffix("doc.pdf", ".pdf") # True
|
||||
strings.HasSuffix("doc.pdf", ".md") # False
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `lookPath()`
|
||||
#### `strings.HasPrefix()`
|
||||
|
||||
The lookPath function uses go's `exec.LookPath()` to find the absolute path of a command.
|
||||
It has a single argument which is the command to look for. If a command is not found, lookPath
|
||||
returns `-1`.
|
||||
Definition: `strings.HasPrefix(string, prefix)`
|
||||
|
||||
Check whether a string starts with a prefix.
|
||||
|
||||
Example:
|
||||
```python
|
||||
strings.HasPrefix("doc.pdf", "doc") # True
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `strings.TrimSuffix()`
|
||||
|
||||
Definition: `strings.HasSuffix(string, suffix)`
|
||||
|
||||
Remove suffix from string if it exists. If it does not exist, the string is returned unchanged.
|
||||
|
||||
Example:
|
||||
```python
|
||||
strings.TrimSuffix("doc.pdf", ".pdf") # "doc"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `strings.TrimPrefix()`
|
||||
|
||||
Definition: `strings.TrimPrefix(string, prefix)`
|
||||
|
||||
Remove prefix from string if it exists. If it does not exist, the string is returned unchanged.
|
||||
|
||||
Example:
|
||||
```python
|
||||
strings.TrimPrefix("doc.pdf", "doc") # ".pdf"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `strings.TrimSpace()`
|
||||
|
||||
Definition: `strings.TrimSpace(string)`
|
||||
|
||||
Trim leading and trailing white space, as defined by Unicode
|
||||
|
||||
Example:
|
||||
```python
|
||||
strings.TrimSpace(" Hi ") # "Hi"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `input`
|
||||
|
||||
The input module prompts the user for input
|
||||
|
||||
---
|
||||
|
||||
#### `input.Prompt()`
|
||||
|
||||
Definition: `input.Prompt(prompt)`
|
||||
|
||||
Print prompt and wait for input, returning on newline
|
||||
|
||||
Example:
|
||||
```python
|
||||
input.Prompt("Enter number: ")
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `input.Choice()`
|
||||
|
||||
Definition: `input.Choice(prompt, choices)`
|
||||
|
||||
Assign number to each choice and prompt user to choose one
|
||||
|
||||
Example:
|
||||
```python
|
||||
input.Choice("Choose greeting", ["Hi", "Hello", "Good morning"])
|
||||
```
|
||||
The above example looks like this to the user:
|
||||
```text
|
||||
[1] "Hi"
|
||||
[2] "Hello"
|
||||
[3] "Good Morning"
|
||||
Choose greeting:
|
||||
```
|
||||
|
||||
When the user chooses a number, the function will return the associated string. So, if the user chooses 1, `"Hi"` will be returned.
|
||||
|
||||
---
|
||||
|
||||
### `url`
|
||||
|
||||
The url module contains functions for the manipulation of URLs
|
||||
|
||||
---
|
||||
|
||||
#### `url.Parse()`
|
||||
|
||||
Definition: `url.Parse(urlString)`
|
||||
|
||||
Parses a URL and returns its components
|
||||
|
||||
Example:
|
||||
```python
|
||||
parsed = url.Parse("https://www.arsenm.dev/docs/advmake/build-files")
|
||||
# parsed.Scheme == "https"
|
||||
# parsed.Host == "www.arsenm.dev"
|
||||
# parsed.Path == "/docs/advmake/build-files"
|
||||
```
|
||||
|
||||
{{< button text="Godoc" bgcolor="#00ACD7" fgcolor="white" icon="cib:go" link="https://pkg.go.dev/net/url#URL" >}}
|
||||
|
||||
---
|
||||
|
||||
### `shell`
|
||||
|
||||
The shell module contains functions for accessing and utilizing the shell.
|
||||
|
||||
---
|
||||
|
||||
#### `shell.Exec()`
|
||||
|
||||
Definition: `shell.Exec(command, output?, concurrent?)`
|
||||
|
||||
Runs a command or script using `sh -c`, sending the output to `STDOUT` and returning it unless set otherwise. It can also be concurrent.
|
||||
|
||||
Examples:
|
||||
|
||||
Code:
|
||||
```python
|
||||
x = shell.Exec("date +%r") # "12:00:00 AM"
|
||||
y = shell.Exec("date +%r", output='return') # "12:00:00 AM"
|
||||
z = shell.Exec("date +%r | base64", output='stdout') # None
|
||||
shell.Exec("""
|
||||
sleep 1
|
||||
sleep 2
|
||||
""", concurrent=True) # Sleeps for two seconds
|
||||
```
|
||||
|
||||
STDOUT:
|
||||
```text
|
||||
12:00:00 AM
|
||||
MTI6MDA6MDAgQU0K
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `shell.Getenv()`
|
||||
|
||||
Definition: `shell.Getenv(key)`
|
||||
|
||||
Returns the value of an environment variable
|
||||
|
||||
Example:
|
||||
```python
|
||||
shell.Getenv('TERM') # "xterm"
|
||||
```
|
||||
|
||||
{{< button text="Godoc" bgcolor="#00ACD7" fgcolor="white" icon="cib:go" link="https://pkg.go.dev/os#Getenv" >}}
|
||||
|
||||
---
|
||||
|
||||
#### `shell.Setenv()`
|
||||
|
||||
Definition: `shell.Setenv(key, value, onlyIfUnset?)`
|
||||
|
||||
Sets the value of an environment variable. It can be configured not to set the value if it is already set
|
||||
|
||||
Examples:
|
||||
```python
|
||||
lookPath("sh") # /bin/sh
|
||||
lookPath("nonExistentCommand") # -1
|
||||
shell.Setenv("X", "x") # $X = x
|
||||
shell.Setenv("CC", "gcc") # if $CC unset, $CC = gcc
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `userChoice()`
|
||||
#### `shell.LookPath()`
|
||||
|
||||
The userChoice function presents the user with a choice. It has two arguments. The first
|
||||
is a prompt to be displayed to the user, and the second is a list of choices.
|
||||
Definition: `shell.LookPath(command)`
|
||||
|
||||
Example:
|
||||
```python
|
||||
userChoice("Choose command", ["find", "ls"])
|
||||
# This returns:
|
||||
|
||||
# [1] "find"
|
||||
# [2] "ls"
|
||||
# Choose command:
|
||||
```
|
||||
The function will return the chosen object (if input to above is `1`, function returns `"find"`)
|
||||
|
||||
---
|
||||
|
||||
#### `input()`
|
||||
|
||||
The input function is a simple function that uses go's `fmt.Print()` and `fmt.Scanln()` to replicate
|
||||
the functionality of python's `input()` function. It has a single argument, which is the prompt and returns
|
||||
the inputted text.
|
||||
|
||||
Example:
|
||||
```python
|
||||
x = input("Name: ") # This will print "Name: " and then wait for input.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `fileExists()`
|
||||
|
||||
The fileExists function checks if a specified file exists and is accessible in the filesystem. It has a single
|
||||
argument which is the path to the file being checked, and returns a boolean reflecting the state of the file.
|
||||
Returns the path to the executable of the specified command. Returns `-1` if the command is not found in `PATH`.
|
||||
|
||||
Examples:
|
||||
```python
|
||||
if fileExists("/etc/passwd"):
|
||||
print("/etc/passwd exists!") # /etc/passwd exists!
|
||||
if fileExists("/abcdef"):
|
||||
print("/abcdef exists!") # No output because /abcdef most likely does not exist
|
||||
shell.LookPath('sh') # "/bin/sh"
|
||||
shell.LookPath('nonExistentCommand') # -1
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `getOS()`
|
||||
### `net`
|
||||
|
||||
The getOS function returns the value of `runtime.GOOS`. It has no arguments.
|
||||
The net module contains various network functions
|
||||
|
||||
Example:
|
||||
---
|
||||
|
||||
#### `net.Download()`
|
||||
|
||||
Download a file from a URL, optionally specifying the filename. It will show progress if the `Content-Length` header is present.
|
||||
|
||||
Examples:
|
||||
```python
|
||||
if getOS() == "linux":
|
||||
print("This is Linux!")
|
||||
net.Download("https://minio.arsenm.dev/advmake/0.0.1/advmake-linux-x86_64")
|
||||
net.Download("https://minio.arsenm.dev/advmake/0.0.1/advmake-linux-x86_64", filename="advmake")
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `getArch()`
|
||||
### `log`
|
||||
|
||||
The getArch function returns the value of `runtime.GOARCH`. It has no arguments.
|
||||
The log module contains functions to log events at various levels
|
||||
|
||||
Example:
|
||||
The available levels are:
|
||||
|
||||
- `Info`
|
||||
- `Debug`
|
||||
- `Warn`
|
||||
- `Fatal`
|
||||
|
||||
---
|
||||
|
||||
#### `log.<Level>()`
|
||||
|
||||
Definition: `log.<Level>(message)`
|
||||
|
||||
Logs a message at the specified level. The fatal level quits after logging the message.
|
||||
|
||||
Examples:
|
||||
```python
|
||||
if getArch() == "386":
|
||||
print("x86 32-bit")
|
||||
log.Info("Test log")
|
||||
log.Fatal("Error")
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `getCPUNum()`
|
||||
### `fmt`
|
||||
|
||||
The getCPUNum function returns the amount of CPUs available to AdvMake. It has no arguments.
|
||||
The fmt module exposes all the text functions from the golang fmt package except for all the `Fprint` and `Fscan` functions.
|
||||
|
||||
Example:
|
||||
```python
|
||||
print(getCPUNum() + " CPUs available!")
|
||||
```
|
||||
|
||||
---
|
||||
fmt.Sprintf("Print %s string", "formatted") # "Print formatted string"
|
||||
```
|
@ -1 +0,0 @@
|
||||
!function(e,t){for(var n in t)e[n]=t[n]}(exports,function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t){t.handler=(e,t,n)=>{n(null,{statusCode:200,headers:{"Content-Type":"application/json"},body:JSON.stringify({message:"Hi from Lambda."})})}}]));
|
@ -24,7 +24,6 @@
|
||||
{{ if .Site.Params.editPage -}}
|
||||
{{ partial "main/edit-page.html" . }}
|
||||
{{ end -}}
|
||||
|
||||
</main>
|
||||
</div>
|
||||
{{ end }}
|
@ -8,4 +8,5 @@
|
||||
{{ block "head/seo" . }}{{ partial "head/seo.html" . }}{{ end }}
|
||||
{{ block "head/favicons" . }}{{ partial "head/favicons.html" . }}{{ end }}
|
||||
{{ block "head/script-header" . }}{{ partial "head/script-header.html" . }}{{ end }}
|
||||
{{ block "head/highlight" . }}{{ partial "head/highlight.html" . }}{{ end }}
|
||||
</head>
|
3
layouts/partials/head/highlight.html
Normal file
@ -0,0 +1,3 @@
|
||||
<link rel="stylesheet" href="/css/highlightjs/dracula.min.css">
|
||||
<script src="/js/highlightjs/highlight.min.js"></script>
|
||||
<script>hljs.initHighlightingOnLoad();</script>
|
@ -1,3 +1,6 @@
|
||||
<a class="f6 link dim ph3 pv2 mb2 dib white bg-{{ .Get "color" }}" style="color: white;" href="{{ .Get "link" }}">
|
||||
<a class="btn" style="color: {{ .Get "fgcolor" }}; background-color: {{ .Get "bgcolor" }};" href="{{ .Get "link" }}">
|
||||
{{if or (.Get "icon")}}
|
||||
<span class="iconify icon:{{.Get "icon"}}"></span>
|
||||
{{end}}
|
||||
{{ .Get "text" }}
|
||||
</a>
|
||||
|
@ -1,4 +0,0 @@
|
||||
<!doctype html><html lang=en-us><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><script src=https://code.iconify.design/1/1.0.7/iconify.min.js></script><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-regular.woff2 type=font/woff2 crossorigin><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-700.woff2 type=font/woff2 crossorigin><link rel=stylesheet href=/main.7eddbef50c63a34a7ce8d3d4323fd9d90d4a1ed40f1dac16e7f06f603627c8fcb7a465d753bb51709c98661474547c7972beae0a5876e777466d416c709dea36.css integrity="sha512-ft2+9Qxjo0p86NPUMj/Z2Q1KHtQPHawW5/BvYDYnyPy3pGXXU7tRcJyYZhR0VHx5cr6uClh253dGbUFscJ3qNg==" crossorigin=anonymous><noscript><style>img.lazyload{display:none}</style></noscript><meta name=robots content="noindex, follow"><title>404 Page not found | Arsen Dev</title><meta name=description content="Doks is a Hugo theme helping you build modern docu`tation websites that are secure, fast, and SEO-ready — by default."><link rel=canonical href=/404.html><meta name=twitter:card content="summary"><meta name=twitter:title content="404 Page not found"><meta name=twitter:description content="Doks is a Hugo theme helping you build modern docu`tation websites that are secure, fast, and SEO-ready — by default."><meta name=twitter:site content="@"><meta name=twitter:creator content="@"><meta property="og:title" content="404 Page not found"><meta property="og:description" content="Doks is a Hugo theme helping you build modern docu`tation websites that are secure, fast, and SEO-ready — by default."><meta property="og:type" content="website"><meta property="og:url" content="/404.html"><meta property="og:site_name" content="Arsen Dev"><meta property="article:publisher" content="https://www.facebook.com/"><meta property="article:author" content="https://www.facebook.com/"><meta property="og:locale" content><script type=application/ld+json>{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"\/"},{"@type":"ListItem","position":2,"name":"404.html","item":"\/404.html\/"}]}</script><meta name=theme-color content="#fff"><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest></head><body class=error404><div class="header-bar fixed-top"></div><header class="navbar fixed-top navbar-expand-md navbar-light"><div class=container><input class="menu-btn order-0" type=checkbox id=menu-btn>
|
||||
<label class="menu-icon d-md-none" for=menu-btn><span class=navicon></span></label><a class="navbar-brand order-1 order-md-0 mr-auto" href=/>Arsen Dev</a>
|
||||
<button id=mode class="btn btn-link order-2 order-md-4" type=button aria-label="Toggle mode">
|
||||
<span class=toggle-dark><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg></span><span class=toggle-light><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></span></button><ul class="navbar-nav social-nav order-3 order-md-5"><li class=nav-item><a class=nav-link href=https://gitea.arsenm.dev/Arsen6331><span class=iconify data-icon=cib:gitea data-inline=false></span><span class="ml-2 sr-only">Gitea</span></a></li><li class=nav-item><a class=nav-link href=https://gitlab.com/moussaelianarsen><span class=iconify data-icon=fa-brands:gitlab data-inline=false></span><span class="ml-2 sr-only">GitLab</span></a></li></ul><div class="collapse navbar-collapse order-4 order-md-1"><ul class="navbar-nav main-nav mr-auto order-5 order-md-2"><li class=nav-item><a class=nav-link href=/>Home</a></li><li class=nav-item><a class=nav-link href=/docs/>Docs</a></li></ul><div class="break order-6 d-md-none"></div><form class="navbar-form flex-grow-1 order-7 order-md-3"><input id=userinput class="form-control is-search" type=search placeholder="Search docs..." aria-label="Search docs..." autocomplete=off><div id=suggestions class="shadow bg-white rounded"></div></form></div></div></header><div class="wrap container" role=document><div class=content><div class="row justify-content-center"><div class="col-md-12 col-lg-10 col-xl-8"><article><h1 class=text-center>Page not found :(</h1><p class=text-center>The page you are looking for doesn't exist or has been moved.</p></article></div></div></div></div><script src=/main.f6b484f556ad1f3bcf6061082139a2f21fa759f13930c39a25fe4a9f78f35e64122c2d86dffd56e67b292dabbda4095d8077194f196e0e348441c106a9f3d40e.js integrity="sha512-9rSE9VatHzvPYGEIITmi8h+nWfE5MMOaJf5Kn3jzXmQSLC2G3/1W5nspLau9pAldgHcZTxluDjSEQcEGqfPUDg==" crossorigin=anonymous defer></script><script src=/index.min.9cdd9b109f38962a87d37988a029187e94afa0a8cfd065a128ca9a3d3fff9550b5d90c1ff03fc65f1fa346b6c43c29c1ccbb7e4bb0a2f4be5619da0b1085c564.js integrity="sha512-nN2bEJ84liqH03mIoCkYfpSvoKjP0GWhKMqaPT//lVC12Qwf8D/GXx+jRrbEPCnBzLt+S7Ci9L5WGdoLEIXFZA==" crossorigin=anonymous defer></script></body></html>
|
@ -1,9 +0,0 @@
|
||||
/*
|
||||
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
|
||||
X-Content-Type-Options: nosniff
|
||||
X-XSS-Protection: 1; mode=block
|
||||
Content-Security-Policy: default-src 'self'; frame-ancestors https://jamstackthemes.dev; manifest-src 'self'; connect-src 'self'; font-src 'self'; img-src 'self' data:; script-src 'self'; style-src 'self'
|
||||
X-Frame-Options: SAMEORIGIN
|
||||
Referrer-Policy: strict-origin
|
||||
Feature-Policy: geolocation 'self'
|
||||
Cache-Control: public, max-age=31536000
|
@ -1 +0,0 @@
|
||||
# redirects for Netlify - https://www.netlify.com/docs/redirects/
|
Before Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 5.0 KiB |
@ -1,4 +0,0 @@
|
||||
<!doctype html><html lang=en-us><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><script src=https://code.iconify.design/1/1.0.7/iconify.min.js></script><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-regular.woff2 type=font/woff2 crossorigin><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-700.woff2 type=font/woff2 crossorigin><link rel=stylesheet href=/main.7eddbef50c63a34a7ce8d3d4323fd9d90d4a1ed40f1dac16e7f06f603627c8fcb7a465d753bb51709c98661474547c7972beae0a5876e777466d416c709dea36.css integrity="sha512-ft2+9Qxjo0p86NPUMj/Z2Q1KHtQPHawW5/BvYDYnyPy3pGXXU7tRcJyYZhR0VHx5cr6uClh253dGbUFscJ3qNg==" crossorigin=anonymous><noscript><style>img.lazyload{display:none}</style></noscript><meta name=robots content="index, follow"><meta name=googlebot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><meta name=bingbot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><title>Contributors | Arsen Dev</title><meta name=description content="Doks is a Hugo theme helping you build modern docu`tation websites that are secure, fast, and SEO-ready — by default."><link rel=canonical href=/contributors/><meta name=twitter:card content="summary"><meta name=twitter:title content="Contributors"><meta name=twitter:description content="Doks is a Hugo theme helping you build modern docu`tation websites that are secure, fast, and SEO-ready — by default."><meta name=twitter:site content="@"><meta name=twitter:creator content="@"><meta property="og:title" content="Contributors"><meta property="og:description" content="Doks is a Hugo theme helping you build modern docu`tation websites that are secure, fast, and SEO-ready — by default."><meta property="og:type" content="website"><meta property="og:url" content="/contributors/"><meta property="og:site_name" content="Arsen Dev"><meta property="article:publisher" content="https://www.facebook.com/"><meta property="article:author" content="https://www.facebook.com/"><meta property="og:locale" content><link rel=alternate type=application/rss+xml href=/contributors/index.xml><script type=application/ld+json>{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"\/"},{"@type":"ListItem","position":2,"name":"Contributors","item":"\/contributors\/"}]}</script><meta name=theme-color content="#fff"><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest></head><body class="contributors list"><div class="header-bar fixed-top"></div><header class="navbar fixed-top navbar-expand-md navbar-light"><div class=container><input class="menu-btn order-0" type=checkbox id=menu-btn>
|
||||
<label class="menu-icon d-md-none" for=menu-btn><span class=navicon></span></label><a class="navbar-brand order-1 order-md-0 mr-auto" href=/>Arsen Dev</a>
|
||||
<button id=mode class="btn btn-link order-2 order-md-4" type=button aria-label="Toggle mode">
|
||||
<span class=toggle-dark><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg></span><span class=toggle-light><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></span></button><ul class="navbar-nav social-nav order-3 order-md-5"><li class=nav-item><a class=nav-link href=https://gitea.arsenm.dev/Arsen6331><span class=iconify data-icon=cib:gitea data-inline=false></span><span class="ml-2 sr-only">Gitea</span></a></li><li class=nav-item><a class=nav-link href=https://gitlab.com/moussaelianarsen><span class=iconify data-icon=fa-brands:gitlab data-inline=false></span><span class="ml-2 sr-only">GitLab</span></a></li></ul><div class="collapse navbar-collapse order-4 order-md-1"><ul class="navbar-nav main-nav mr-auto order-5 order-md-2"><li class=nav-item><a class=nav-link href=/>Home</a></li><li class=nav-item><a class=nav-link href=/docs/>Docs</a></li></ul><div class="break order-6 d-md-none"></div><form class="navbar-form flex-grow-1 order-7 order-md-3"><input id=userinput class="form-control is-search" type=search placeholder="Search docs..." aria-label="Search docs..." autocomplete=off><div id=suggestions class="shadow bg-white rounded"></div></form></div></div></header><div class="wrap container" role=document><div class=content><div class="row justify-content-center"><div class="col-md-12 col-lg-10 col-xl-8"><article><h1 class=text-center>Contributors</h1><div class=text-center></div><div class=card-list></div></article></div></div></div></div><script src=/main.f6b484f556ad1f3bcf6061082139a2f21fa759f13930c39a25fe4a9f78f35e64122c2d86dffd56e67b292dabbda4095d8077194f196e0e348441c106a9f3d40e.js integrity="sha512-9rSE9VatHzvPYGEIITmi8h+nWfE5MMOaJf5Kn3jzXmQSLC2G3/1W5nspLau9pAldgHcZTxluDjSEQcEGqfPUDg==" crossorigin=anonymous defer></script><script src=/index.min.9cdd9b109f38962a87d37988a029187e94afa0a8cfd065a128ca9a3d3fff9550b5d90c1ff03fc65f1fa346b6c43c29c1ccbb7e4bb0a2f4be5619da0b1085c564.js integrity="sha512-nN2bEJ84liqH03mIoCkYfpSvoKjP0GWhKMqaPT//lVC12Qwf8D/GXx+jRrbEPCnBzLt+S7Ci9L5WGdoLEIXFZA==" crossorigin=anonymous defer></script></body></html>
|
@ -1 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Contributors on</title><link>/contributors/</link><description>Recent content in Contributors on</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><atom:link href="/contributors/index.xml" rel="self" type="application/rss+xml"/></channel></rss>
|
0
public/css/vendor/.gitkeep
vendored
@ -1,73 +0,0 @@
|
||||
<!doctype html><html lang=en-us><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><script src=https://code.iconify.design/1/1.0.7/iconify.min.js></script><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-regular.woff2 type=font/woff2 crossorigin><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-700.woff2 type=font/woff2 crossorigin><link rel=stylesheet href=/main.7eddbef50c63a34a7ce8d3d4323fd9d90d4a1ed40f1dac16e7f06f603627c8fcb7a465d753bb51709c98661474547c7972beae0a5876e777466d416c709dea36.css integrity="sha512-ft2+9Qxjo0p86NPUMj/Z2Q1KHtQPHawW5/BvYDYnyPy3pGXXU7tRcJyYZhR0VHx5cr6uClh253dGbUFscJ3qNg==" crossorigin=anonymous><noscript><style>img.lazyload{display:none}</style></noscript><meta name=robots content="index, follow"><meta name=googlebot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><meta name=bingbot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><title>Build Files | Arsen Dev</title><meta name=description content="Understanding AdvMake Build Files"><link rel=canonical href=/docs/advmake/build-files/><meta name=twitter:card content="summary"><meta name=twitter:title content="Build Files"><meta name=twitter:description content="Understanding AdvMake Build Files"><meta name=twitter:site content="@"><meta name=twitter:creator content="@"><meta property="og:title" content="Build Files"><meta property="og:description" content="Understanding AdvMake Build Files"><meta property="og:type" content="article"><meta property="og:url" content="/docs/advmake/build-files/"><meta property="og:site_name" content="Arsen Dev"><meta property="article:publisher" content="https://www.facebook.com/"><meta property="article:author" content="https://www.facebook.com/"><meta property="og:locale" content><script type=application/ld+json>{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"\/"},{"@type":"ListItem","position":2,"name":"Docsadvmakebuild Files","item":"\/docsadvmakebuild-files\/"}]}</script><meta name=theme-color content="#fff"><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest></head><body class="docs single"><div class="header-bar fixed-top"></div><header class="navbar fixed-top navbar-expand-md navbar-light"><div class=container><input class="menu-btn order-0" type=checkbox id=menu-btn>
|
||||
<label class="menu-icon d-md-none" for=menu-btn><span class=navicon></span></label><a class="navbar-brand order-1 order-md-0 mr-auto" href=/>Arsen Dev</a>
|
||||
<button id=mode class="btn btn-link order-2 order-md-4" type=button aria-label="Toggle mode">
|
||||
<span class=toggle-dark><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg></span><span class=toggle-light><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></span></button><ul class="navbar-nav social-nav order-3 order-md-5"><li class=nav-item><a class=nav-link href=https://gitea.arsenm.dev/Arsen6331><span class=iconify data-icon=cib:gitea data-inline=false></span><span class="ml-2 sr-only">Gitea</span></a></li><li class=nav-item><a class=nav-link href=https://gitlab.com/moussaelianarsen><span class=iconify data-icon=fa-brands:gitlab data-inline=false></span><span class="ml-2 sr-only">GitLab</span></a></li></ul><div class="collapse navbar-collapse order-4 order-md-1"><ul class="navbar-nav main-nav mr-auto order-5 order-md-2"><li class=nav-item><a class=nav-link href=/>Home</a></li><li class="nav-item active"><a class=nav-link href=/docs/>Docs</a></li></ul><div class="break order-6 d-md-none"></div><form class="navbar-form flex-grow-1 order-7 order-md-3"><input id=userinput class="form-control is-search" type=search placeholder="Search docs..." aria-label="Search docs..." autocomplete=off><div id=suggestions class="shadow bg-white rounded"></div></form></div></div></header><div class="wrap container" role=document><div class=content><div class="row flex-xl-nowrap"><div class="col-lg-5 col-xl-4 docs-sidebar"><nav class=docs-links aria-label="Main navigation"><h3>Docs</h3><ul class=list-unstyled><li><a class=docs-link href=/docs/advmake/>AdvMake Docs</a></li><li><a class=docs-link href=/docs/opensend/>OpenSend Docs</a></li><li><a class=docs-link href=/docs/pak/>Pak Docs</a></li></ul></nav></div><nav class="docs-toc d-none d-xl-block col-xl-3" aria-label="Secondary navigation"><div class=page-links><h3>On this page</h3><nav id=TableOfContents><ul><li><ul><li><a href=#format>Format</a></li><li><a href=#configuration>Configuration</a></li><li><a href=#builtins>Builtins</a></li></ul></li></ul></nav></div></nav><main class="docs-content col-lg-11 col-xl-9 mx-xl-auto"><a href=..>⇐ AdvMake Docs</a><h1 style=margin-top:.2rem>Build Files</h1><p class=lead></p><p><a class=btn style=color:#fff;background-color:green href=https://gitea.arsenm.dev/Arsen6331/advmake><span class=iconify data-icon=cib:gitea></span> AdvMake</a>
|
||||
<a class=btn style=color:#fff;background-color:OrangeRed href=https://www.gitlab.com/moussaelianarsen/advmake><span class=iconify data-icon=fa-brands:gitlab></span> AdvMake</a></p><h3 id=format>Format<a href=#format class=anchor aria-hidden=true>#</a></h3><p>AdvMake uses <a href=https://github.com/bazelbuild/starlark>Starlark</a> as the format for its build files.
|
||||
Extra builtins are also defined for both convenience and extra functionality.</p><p>Starlark is a Python-like language meant for configuration files.</p><h3 id=configuration>Configuration<a href=#configuration class=anchor aria-hidden=true>#</a></h3><p>Build files are by default called <code>AdvMakefile</code>, but that can be set via <code>-f</code></p><p>An AdvMakefile example can be found at AdvMake’s repo as it uses AdvMake itself.</p><p>AdvMake runs functions exposed by starlark in the format <code><name>_<target></code>.
|
||||
To set the default name and target, the global variables <code>defaultName</code>, and <code>defaultTarget</code> must be set.
|
||||
Here is an example from AdvMake’s AdvMakefile:</p><div class=highlight><pre class=chroma><code class=language-python data-lang=python><span class=n>defaultName</span> <span class=o>=</span> <span class=s2>"advmake"</span>
|
||||
<span class=n>defaultTarget</span> <span class=o>=</span> <span class=s2>"build"</span>
|
||||
</code></pre></div><p>This will tell AdvMake to run the function <code>advmake_build()</code> when run with no arguments.</p><p>If AdvMake is run with one argument (such as <code>advmake install</code>), it will use the default name with the specified target,
|
||||
so in that case, it would run <code>advmake_install()</code>.</p><p>If run with two arguments, AdvMake will use the first argument as the name and the second as the target.
|
||||
So, running <code>advmake hello world</code> would run the function <code>hello_world()</code>.</p><h3 id=builtins>Builtins<a href=#builtins class=anchor aria-hidden=true>#</a></h3><p>As previously mentioned, AdvMake comes with extra builtins. Those are as follows:</p><h4 id=log><code>log()</code><a href=#log class=anchor aria-hidden=true>#</a></h4><p>The log function uses zerolog in go to log a message to STDOUT. It has two arguments.
|
||||
The first is a string with the message to log, and the second is <code>level</code> which is optional</p><p>Examples:</p><div class=highlight><pre class=chroma><code class=language-python data-lang=python><span class=n>log</span><span class=p>(</span><span class=s2>"Info log"</span><span class=p>)</span> <span class=c1># Default level is info</span>
|
||||
<span class=n>log</span><span class=p>(</span><span class=s2>"Warn log"</span><span class=p>,</span> <span class=n>level</span><span class=o>=</span><span class=s2>"warn"</span><span class=p>)</span> <span class=c1># Warn level log</span>
|
||||
<span class=n>log</span><span class=p>(</span><span class=s2>"Debug log"</span><span class=p>,</span> <span class=n>level</span><span class=o>=</span><span class=s2>"debug"</span><span class=p>)</span> <span class=c1># Debug level log</span>
|
||||
<span class=n>log</span><span class=p>(</span><span class=s2>"Fatal log"</span><span class=p>,</span> <span class=n>level</span><span class=o>=</span><span class=s2>"fatal"</span><span class=p>)</span> <span class=c1># Fatal level log. This will exit the program when executed</span>
|
||||
</code></pre></div><hr><h4 id=execute><code>execute()</code><a href=#execute class=anchor aria-hidden=true>#</a></h4><p>The execute function runs a script using <code>sh -c</code>. This function has three arguments.
|
||||
The first is required and is a string with the script to run, the second is <code>output</code>
|
||||
which is optional. It can be set to <code>return</code>, <code>stdout</code>, or <code>both</code>, and the default is <code>both</code>.</p><p>The <code>output</code> argument controls where the script’s output will be directed:</p><ul><li><code>return</code>: Returns script output as string</li><li><code>stdout</code>: Prints script output to STDOUT, returning nothing</li><li><code>both</code>: Prints to STDOUT and returns as string</li></ul><p>The third argument is <code>concurrent</code> which can be either <code>True</code> or <code>False</code>, default <code>False</code>.
|
||||
If <code>concurrent</code> is set to <code>True</code>, all the lines in the script will be split and run concurrently
|
||||
via goroutines. The maximum threads for goroutines can be controlled using the <code>GOMAXPROCS</code> environment
|
||||
variable and is by default the amount of CPU cores present.</p><p>Examples:</p><div class=highlight><pre class=chroma><code class=language-python data-lang=python><span class=n>user</span> <span class=o>=</span> <span class=n>execute</span><span class=p>(</span><span class=s2>"whoami"</span><span class=p>)</span> <span class=c1># This will print the username to STDOUT and set the user variable to it</span>
|
||||
<span class=n>user</span> <span class=o>=</span> <span class=n>execute</span><span class=p>(</span><span class=s2>"whoami"</span><span class=p>,</span> <span class=n>output</span><span class=o>=</span><span class=s2>"return"</span><span class=p>)</span> <span class=c1># This will set the user variable to the username but not print it</span>
|
||||
|
||||
<span class=n>execute</span><span class=p>(</span><span class=s2>"""
|
||||
</span><span class=s2>cp file destination
|
||||
</span><span class=s2>mv destination destination-1
|
||||
</span><span class=s2>echo 'hello world'
|
||||
</span><span class=s2>"""</span><span class=p>)</span> <span class=c1># Example of a multiline script</span>
|
||||
|
||||
<span class=n>execute</span><span class=p>(</span><span class=s2>"""
|
||||
</span><span class=s2>install -Dm755 program /usr/bin
|
||||
</span><span class=s2>install -Dm755 program.cfg /etc
|
||||
</span><span class=s2>"""</span><span class=p>,</span> <span class=n>concurrent</span><span class=o>=</span><span class=bp>True</span><span class=p>)</span> <span class=c1># Example of a concurrent multiline script</span>
|
||||
</code></pre></div><hr><h4 id=getenv><code>getEnv()</code><a href=#getenv class=anchor aria-hidden=true>#</a></h4><p>The getEnv function simply returns the value of the environment variable specified in its first argument.</p><p>Example:</p><div class=highlight><pre class=chroma><code class=language-python data-lang=python><span class=n>term</span> <span class=o>=</span> <span class=n>getEnv</span><span class=p>(</span><span class=s2>"TERM"</span><span class=p>)</span> <span class=c1># Sets variable term to value of $TERM</span>
|
||||
<span class=k>print</span><span class=p>(</span><span class=s2>"Nice "</span> <span class=o>+</span> <span class=n>term</span><span class=p>)</span> <span class=c1># Prints "Nice $TERM"</span>
|
||||
</code></pre></div><hr><h4 id=setenv><code>setEnv()</code><a href=#setenv class=anchor aria-hidden=true>#</a></h4><p>The setEnv function sets an environment variable. It has three arguments.
|
||||
The first is the key, it is the name of the environment variable.
|
||||
The second is the new value, what the key should be set to.
|
||||
The third is optional, it is <code>onlyIfUnset</code> and it can be set to <code>True</code> or <code>False</code>, default <code>False</code></p><p><code>onlyIfUnset</code> checks that the variable is not already set before setting it, this can be useful for
|
||||
setting defaults.</p><p>Examples:</p><div class=highlight><pre class=chroma><code class=language-python data-lang=python><span class=n>setEnv</span><span class=p>(</span><span class=s2>"MY_ENV_VAR"</span><span class=p>,</span> <span class=s2>"Hello, World"</span><span class=p>)</span> <span class=c1># Sets $MY_ENV_VAR to "Hello, World"</span>
|
||||
<span class=n>setEnv</span><span class=p>(</span><span class=s2>"CC"</span><span class=p>,</span> <span class=s2>"gcc"</span><span class=p>,</span> <span class=n>onlyIfUnset</span><span class=o>=</span><span class=bp>True</span><span class=p>)</span> <span class=c1># Sets $CC to "gcc", but only if $CC is not already set</span>
|
||||
</code></pre></div><hr><h4 id=expandfile><code>expandFile()</code><a href=#expandfile class=anchor aria-hidden=true>#</a></h4><p>The expandFile function replaces all instances of $VAR with the value specified.</p><p>expandFile has two arguments. The first accepts a filename to modify.
|
||||
The second accepts a dictionary to act as mappings for value replacements.</p><p>Example:</p><div class=highlight><pre class=chroma><code class=language-python data-lang=python><span class=n>expandFile</span><span class=p>(</span><span class=s2>"a.txt"</span><span class=p>,</span> <span class=p>{</span><span class=s2>"A"</span><span class=p>:</span> <span class=s2>"Hello"</span><span class=p>,</span> <span class=s2>"B"</span><span class=p>:</span> <span class=s2>"World"</span><span class=p>})</span> <span class=c1># Replace $A with Hello and $B with world in file a.txt</span>
|
||||
</code></pre></div><hr><h4 id=download><code>download()</code><a href=#download class=anchor aria-hidden=true>#</a></h4><p>The download function downloads a file at a URL.</p><p>download has two arguments. The first is a URL, and the second is an optional
|
||||
argument called <code>filename</code>. If <code>filename</code> is not provided, the filename will
|
||||
be taken from the URL.</p><p>Examples:</p><div class=highlight><pre class=chroma><code class=language-python data-lang=python><span class=n>download</span><span class=p>(</span><span class=s2>"https://www.arsenm.dev/logo-white.png"</span><span class=p>)</span> <span class=c1># Downloads logo-white.png</span>
|
||||
<span class=n>download</span><span class=p>(</span><span class=s2>"https://www.arsenm.dev/logo-white.png"</span><span class=p>,</span> <span class=n>filename</span><span class=o>=</span><span class=s2>"logo.png"</span><span class=p>)</span> <span class=c1># Downloads logo-white.png as logo.png</span>
|
||||
</code></pre></div><hr><h4 id=lookpath><code>lookPath()</code><a href=#lookpath class=anchor aria-hidden=true>#</a></h4><p>The lookPath function uses go’s <code>exec.LookPath()</code> to find the absolute path of a command.
|
||||
It has a single argument which is the command to look for. If a command is not found, lookPath
|
||||
returns <code>-1</code>.</p><p>Examples:</p><div class=highlight><pre class=chroma><code class=language-python data-lang=python><span class=n>lookPath</span><span class=p>(</span><span class=s2>"sh"</span><span class=p>)</span> <span class=c1># /bin/sh</span>
|
||||
<span class=n>lookPath</span><span class=p>(</span><span class=s2>"nonExistentCommand"</span><span class=p>)</span> <span class=c1># -1</span>
|
||||
</code></pre></div><hr><h4 id=userchoice><code>userChoice()</code><a href=#userchoice class=anchor aria-hidden=true>#</a></h4><p>The userChoice function presents the user with a choice. It has two arguments. The first
|
||||
is a prompt to be displayed to the user, and the second is a list of choices.</p><p>Example:</p><div class=highlight><pre class=chroma><code class=language-python data-lang=python><span class=n>userChoice</span><span class=p>(</span><span class=s2>"Choose command"</span><span class=p>,</span> <span class=p>[</span><span class=s2>"find"</span><span class=p>,</span> <span class=s2>"ls"</span><span class=p>])</span>
|
||||
<span class=c1># This returns:</span>
|
||||
|
||||
<span class=c1># [1] "find"</span>
|
||||
<span class=c1># [2] "ls"</span>
|
||||
<span class=c1># Choose command:</span>
|
||||
</code></pre></div><p>The function will return the chosen object (if input to above is <code>1</code>, function returns <code>"find"</code>)</p><hr><h4 id=input><code>input()</code><a href=#input class=anchor aria-hidden=true>#</a></h4><p>The input function is a simple function that uses go’s <code>fmt.Print()</code> and <code>fmt.Scanln()</code> to replicate
|
||||
the functionality of python’s <code>input()</code> function. It has a single argument, which is the prompt and returns
|
||||
the inputted text.</p><p>Example:</p><div class=highlight><pre class=chroma><code class=language-python data-lang=python><span class=n>x</span> <span class=o>=</span> <span class=nb>input</span><span class=p>(</span><span class=s2>"Name: "</span><span class=p>)</span> <span class=c1># This will print "Name: " and then wait for input.</span>
|
||||
</code></pre></div><hr><h4 id=fileexists><code>fileExists()</code><a href=#fileexists class=anchor aria-hidden=true>#</a></h4><p>The fileExists function checks if a specified file exists and is accessible in the filesystem. It has a single
|
||||
argument which is the path to the file being checked, and returns a boolean reflecting the state of the file.</p><p>Examples:</p><div class=highlight><pre class=chroma><code class=language-python data-lang=python><span class=k>if</span> <span class=n>fileExists</span><span class=p>(</span><span class=s2>"/etc/passwd"</span><span class=p>):</span>
|
||||
<span class=k>print</span><span class=p>(</span><span class=s2>"/etc/passwd exists!"</span><span class=p>)</span> <span class=c1># /etc/passwd exists!</span>
|
||||
<span class=k>if</span> <span class=n>fileExists</span><span class=p>(</span><span class=s2>"/abcdef"</span><span class=p>):</span>
|
||||
<span class=k>print</span><span class=p>(</span><span class=s2>"/abcdef exists!"</span><span class=p>)</span> <span class=c1># No output because /abcdef most likely does not exist</span>
|
||||
</code></pre></div><hr><h4 id=getos><code>getOS()</code><a href=#getos class=anchor aria-hidden=true>#</a></h4><p>The getOS function returns the value of <code>runtime.GOOS</code>. It has no arguments.</p><p>Example:</p><div class=highlight><pre class=chroma><code class=language-python data-lang=python><span class=k>if</span> <span class=n>getOS</span><span class=p>()</span> <span class=o>==</span> <span class=s2>"linux"</span><span class=p>:</span>
|
||||
<span class=k>print</span><span class=p>(</span><span class=s2>"This is Linux!"</span><span class=p>)</span>
|
||||
</code></pre></div><hr><h4 id=getarch><code>getArch()</code><a href=#getarch class=anchor aria-hidden=true>#</a></h4><p>The getArch function returns the value of <code>runtime.GOARCH</code>. It has no arguments.</p><p>Example:</p><div class=highlight><pre class=chroma><code class=language-python data-lang=python><span class=k>if</span> <span class=n>getArch</span><span class=p>()</span> <span class=o>==</span> <span class=s2>"386"</span><span class=p>:</span>
|
||||
<span class=k>print</span><span class=p>(</span><span class=s2>"x86 32-bit"</span><span class=p>)</span>
|
||||
</code></pre></div><hr><h4 id=getcpunum><code>getCPUNum()</code><a href=#getcpunum class=anchor aria-hidden=true>#</a></h4><p>The getCPUNum function returns the amount of CPUs available to AdvMake. It has no arguments.</p><p>Example:</p><div class=highlight><pre class=chroma><code class=language-python data-lang=python><span class=k>print</span><span class=p>(</span><span class=n>getCPUNum</span><span class=p>()</span> <span class=o>+</span> <span class=s2>" CPUs available!"</span><span class=p>)</span>
|
||||
</code></pre></div><hr></main></div></div></div><script src=/main.f6b484f556ad1f3bcf6061082139a2f21fa759f13930c39a25fe4a9f78f35e64122c2d86dffd56e67b292dabbda4095d8077194f196e0e348441c106a9f3d40e.js integrity="sha512-9rSE9VatHzvPYGEIITmi8h+nWfE5MMOaJf5Kn3jzXmQSLC2G3/1W5nspLau9pAldgHcZTxluDjSEQcEGqfPUDg==" crossorigin=anonymous defer></script><script src=/index.min.9cdd9b109f38962a87d37988a029187e94afa0a8cfd065a128ca9a3d3fff9550b5d90c1ff03fc65f1fa346b6c43c29c1ccbb7e4bb0a2f4be5619da0b1085c564.js integrity="sha512-nN2bEJ84liqH03mIoCkYfpSvoKjP0GWhKMqaPT//lVC12Qwf8D/GXx+jRrbEPCnBzLt+S7Ci9L5WGdoLEIXFZA==" crossorigin=anonymous defer></script></body></html>
|
@ -1,4 +0,0 @@
|
||||
<!doctype html><html lang=en-us><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><script src=https://code.iconify.design/1/1.0.7/iconify.min.js></script><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-regular.woff2 type=font/woff2 crossorigin><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-700.woff2 type=font/woff2 crossorigin><link rel=stylesheet href=/main.7eddbef50c63a34a7ce8d3d4323fd9d90d4a1ed40f1dac16e7f06f603627c8fcb7a465d753bb51709c98661474547c7972beae0a5876e777466d416c709dea36.css integrity="sha512-ft2+9Qxjo0p86NPUMj/Z2Q1KHtQPHawW5/BvYDYnyPy3pGXXU7tRcJyYZhR0VHx5cr6uClh253dGbUFscJ3qNg==" crossorigin=anonymous><noscript><style>img.lazyload{display:none}</style></noscript><meta name=robots content="index, follow"><meta name=googlebot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><meta name=bingbot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><title>AdvMake Docs | Arsen Dev</title><meta name=description content="Documentation for the AdvMake build system"><link rel=canonical href=/docs/advmake/><meta name=twitter:card content="summary"><meta name=twitter:title content="AdvMake Docs"><meta name=twitter:description content="Documentation for the AdvMake build system"><meta name=twitter:site content="@"><meta name=twitter:creator content="@"><meta property="og:title" content="AdvMake Docs"><meta property="og:description" content="Documentation for the AdvMake build system"><meta property="og:type" content="website"><meta property="og:url" content="/docs/advmake/"><meta property="og:site_name" content="Arsen Dev"><meta property="article:publisher" content="https://www.facebook.com/"><meta property="article:author" content="https://www.facebook.com/"><meta property="og:locale" content><link rel=alternate type=application/rss+xml href=/docs/advmake/index.xml><link rel=sitemap type=application/xml href=/docs/advmake/sitemap.xml><script type=application/ld+json>{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"\/"},{"@type":"ListItem","position":2,"name":"Docsadvmake","item":"\/docsadvmake\/"}]}</script><meta name=theme-color content="#fff"><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest></head><body class="docs list"><div class="header-bar fixed-top"></div><header class="navbar fixed-top navbar-expand-md navbar-light"><div class=container><input class="menu-btn order-0" type=checkbox id=menu-btn>
|
||||
<label class="menu-icon d-md-none" for=menu-btn><span class=navicon></span></label><a class="navbar-brand order-1 order-md-0 mr-auto" href=/>Arsen Dev</a>
|
||||
<button id=mode class="btn btn-link order-2 order-md-4" type=button aria-label="Toggle mode">
|
||||
<span class=toggle-dark><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg></span><span class=toggle-light><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></span></button><ul class="navbar-nav social-nav order-3 order-md-5"><li class=nav-item><a class=nav-link href=https://gitea.arsenm.dev/Arsen6331><span class=iconify data-icon=cib:gitea data-inline=false></span><span class="ml-2 sr-only">Gitea</span></a></li><li class=nav-item><a class=nav-link href=https://gitlab.com/moussaelianarsen><span class=iconify data-icon=fa-brands:gitlab data-inline=false></span><span class="ml-2 sr-only">GitLab</span></a></li></ul><div class="collapse navbar-collapse order-4 order-md-1"><ul class="navbar-nav main-nav mr-auto order-5 order-md-2"><li class=nav-item><a class=nav-link href=/>Home</a></li><li class="nav-item active"><a class=nav-link href=/docs/>Docs</a></li></ul><div class="break order-6 d-md-none"></div><form class="navbar-form flex-grow-1 order-7 order-md-3"><input id=userinput class="form-control is-search" type=search placeholder="Search docs..." aria-label="Search docs..." autocomplete=off><div id=suggestions class="shadow bg-white rounded"></div></form></div></div></header><div class="wrap container" role=document><div class=content><div class="row justify-content-center"><div class="col-md-12 col-lg-10 col-xl-8"><article><a href=..><p class=text-center>⇐ Docs</p></a><h1 style=margin:0 class=text-center>AdvMake Docs</h1><div class=text-center></div><div class=card-list><div class="card my-3"><div class=card-body><a class=stretched-link href=/docs/advmake/build-files/>Build Files ⇒</a></div></div><div class="card my-3"><div class=card-body><a class=stretched-link href=/docs/advmake/installation/>Installation ⇒</a></div></div></div></article></div></div></div></div><script src=/main.f6b484f556ad1f3bcf6061082139a2f21fa759f13930c39a25fe4a9f78f35e64122c2d86dffd56e67b292dabbda4095d8077194f196e0e348441c106a9f3d40e.js integrity="sha512-9rSE9VatHzvPYGEIITmi8h+nWfE5MMOaJf5Kn3jzXmQSLC2G3/1W5nspLau9pAldgHcZTxluDjSEQcEGqfPUDg==" crossorigin=anonymous defer></script><script src=/index.min.9cdd9b109f38962a87d37988a029187e94afa0a8cfd065a128ca9a3d3fff9550b5d90c1ff03fc65f1fa346b6c43c29c1ccbb7e4bb0a2f4be5619da0b1085c564.js integrity="sha512-nN2bEJ84liqH03mIoCkYfpSvoKjP0GWhKMqaPT//lVC12Qwf8D/GXx+jRrbEPCnBzLt+S7Ci9L5WGdoLEIXFZA==" crossorigin=anonymous defer></script></body></html>
|
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>AdvMake Docs on</title><link>/docs/advmake/</link><description>Recent content in AdvMake Docs on</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><atom:link href="/docs/advmake/index.xml" rel="self" type="application/rss+xml"/><item><title>Build Files</title><link>/docs/advmake/build-files/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/advmake/build-files/</guid><description>&nbsp;AdvMake &nbsp;AdvMake Format AdvMake uses Starlark as the format for its build files. Extra builtins are also defined for both convenience and extra functionality.
|
||||
Starlark is a Python-like language meant for configuration files.
|
||||
Configuration Build files are by default called AdvMakefile, but that can be set via -f
|
||||
An AdvMakefile example can be found at AdvMake&rsquo;s repo as it uses AdvMake itself.
|
||||
AdvMake runs functions exposed by starlark in the format &lt;name&gt;_&lt;target&gt;.</description></item><item><title>Installation</title><link>/docs/advmake/installation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/advmake/installation/</guid><description>&nbsp;AdvMake &nbsp;AdvMake Building from source Downloading AdvMake is hosted on my Gitea instance. If that is down, it is also mirrored on Gitlab.
|
||||
To download AdvMake, you can either use the download button on Gitea or Gitlab, or you can use the git CLI
|
||||
To clone AdvMake using the CLI, run one of the following commands:
|
||||
git clone https://gitea.arsenm.dev/Arsen6331/advmake.git OR git clone https://gitlab.com/moussaelianarsen/advmake.git Building AdvMake is written in Go.</description></item></channel></rss>
|
@ -1,14 +0,0 @@
|
||||
<!doctype html><html lang=en-us><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><script src=https://code.iconify.design/1/1.0.7/iconify.min.js></script><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-regular.woff2 type=font/woff2 crossorigin><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-700.woff2 type=font/woff2 crossorigin><link rel=stylesheet href=/main.7eddbef50c63a34a7ce8d3d4323fd9d90d4a1ed40f1dac16e7f06f603627c8fcb7a465d753bb51709c98661474547c7972beae0a5876e777466d416c709dea36.css integrity="sha512-ft2+9Qxjo0p86NPUMj/Z2Q1KHtQPHawW5/BvYDYnyPy3pGXXU7tRcJyYZhR0VHx5cr6uClh253dGbUFscJ3qNg==" crossorigin=anonymous><noscript><style>img.lazyload{display:none}</style></noscript><meta name=robots content="index, follow"><meta name=googlebot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><meta name=bingbot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><title>Installation | Arsen Dev</title><meta name=description content="Installing AdvMake"><link rel=canonical href=/docs/advmake/installation/><meta name=twitter:card content="summary"><meta name=twitter:title content="Installation"><meta name=twitter:description content="Installing AdvMake"><meta name=twitter:site content="@"><meta name=twitter:creator content="@"><meta property="og:title" content="Installation"><meta property="og:description" content="Installing AdvMake"><meta property="og:type" content="article"><meta property="og:url" content="/docs/advmake/installation/"><meta property="og:site_name" content="Arsen Dev"><meta property="article:publisher" content="https://www.facebook.com/"><meta property="article:author" content="https://www.facebook.com/"><meta property="og:locale" content><script type=application/ld+json>{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"\/"},{"@type":"ListItem","position":2,"name":"Docsadvmakeinstallation","item":"\/docsadvmakeinstallation\/"}]}</script><meta name=theme-color content="#fff"><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest></head><body class="docs single"><div class="header-bar fixed-top"></div><header class="navbar fixed-top navbar-expand-md navbar-light"><div class=container><input class="menu-btn order-0" type=checkbox id=menu-btn>
|
||||
<label class="menu-icon d-md-none" for=menu-btn><span class=navicon></span></label><a class="navbar-brand order-1 order-md-0 mr-auto" href=/>Arsen Dev</a>
|
||||
<button id=mode class="btn btn-link order-2 order-md-4" type=button aria-label="Toggle mode">
|
||||
<span class=toggle-dark><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg></span><span class=toggle-light><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></span></button><ul class="navbar-nav social-nav order-3 order-md-5"><li class=nav-item><a class=nav-link href=https://gitea.arsenm.dev/Arsen6331><span class=iconify data-icon=cib:gitea data-inline=false></span><span class="ml-2 sr-only">Gitea</span></a></li><li class=nav-item><a class=nav-link href=https://gitlab.com/moussaelianarsen><span class=iconify data-icon=fa-brands:gitlab data-inline=false></span><span class="ml-2 sr-only">GitLab</span></a></li></ul><div class="collapse navbar-collapse order-4 order-md-1"><ul class="navbar-nav main-nav mr-auto order-5 order-md-2"><li class=nav-item><a class=nav-link href=/>Home</a></li><li class="nav-item active"><a class=nav-link href=/docs/>Docs</a></li></ul><div class="break order-6 d-md-none"></div><form class="navbar-form flex-grow-1 order-7 order-md-3"><input id=userinput class="form-control is-search" type=search placeholder="Search docs..." aria-label="Search docs..." autocomplete=off><div id=suggestions class="shadow bg-white rounded"></div></form></div></div></header><div class="wrap container" role=document><div class=content><div class="row flex-xl-nowrap"><div class="col-lg-5 col-xl-4 docs-sidebar"><nav class=docs-links aria-label="Main navigation"><h3>Docs</h3><ul class=list-unstyled><li><a class=docs-link href=/docs/advmake/>AdvMake Docs</a></li><li><a class=docs-link href=/docs/opensend/>OpenSend Docs</a></li><li><a class=docs-link href=/docs/pak/>Pak Docs</a></li></ul></nav></div><nav class="docs-toc d-none d-xl-block col-xl-3" aria-label="Secondary navigation"><div class=page-links><h3>On this page</h3><nav id=TableOfContents><ul><li><a href=#building-from-source>Building from source</a><ul><li><a href=#downloading>Downloading</a></li><li><a href=#building>Building</a></li><li><a href=#installing>Installing</a></li></ul></li></ul></nav></div></nav><main class="docs-content col-lg-11 col-xl-9 mx-xl-auto"><a href=..>⇐ AdvMake Docs</a><h1 style=margin-top:.2rem>Installation</h1><p class=lead></p><p><a class=btn style=color:#fff;background-color:green href=https://gitea.arsenm.dev/Arsen6331/advmake><span class=iconify data-icon=cib:gitea></span> AdvMake</a>
|
||||
<a class=btn style=color:#fff;background-color:OrangeRed href=https://www.gitlab.com/moussaelianarsen/advmake><span class=iconify data-icon=fa-brands:gitlab></span> AdvMake</a></p><h2 id=building-from-source>Building from source<a href=#building-from-source class=anchor aria-hidden=true>#</a></h2><h3 id=downloading>Downloading<a href=#downloading class=anchor aria-hidden=true>#</a></h3><p>AdvMake is hosted on my Gitea instance. If that is down, it is also mirrored on Gitlab.</p><p>To download AdvMake, you can either use the download button on Gitea or Gitlab, or
|
||||
you can use the git CLI</p><p>To clone AdvMake using the CLI, run one of the following commands:</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>git clone https://gitea.arsenm.dev/Arsen6331/advmake.git
|
||||
OR
|
||||
git clone https://gitlab.com/moussaelianarsen/advmake.git
|
||||
</code></pre></div><h3 id=building>Building<a href=#building class=anchor aria-hidden=true>#</a></h3><p>AdvMake is written in Go. This means go must be installed on your computer. Most
|
||||
linux distros call the package that provides it either <code>go</code> or <code>golang</code>.</p><p>Once go is installed, you can check that it runs by running</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>go version
|
||||
</code></pre></div><p>To compile AdvMake, run</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>go build
|
||||
</code></pre></div><h3 id=installing>Installing<a href=#installing class=anchor aria-hidden=true>#</a></h3><p>To install AdvMake, run:</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>sudo install -Dm755 advmake /usr/bin
|
||||
</code></pre></div><p>Once the command completes, AdvMake should be ready and you can run the following to make sure it works:</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>advmake -h
|
||||
</code></pre></div></main></div></div></div><script src=/main.f6b484f556ad1f3bcf6061082139a2f21fa759f13930c39a25fe4a9f78f35e64122c2d86dffd56e67b292dabbda4095d8077194f196e0e348441c106a9f3d40e.js integrity="sha512-9rSE9VatHzvPYGEIITmi8h+nWfE5MMOaJf5Kn3jzXmQSLC2G3/1W5nspLau9pAldgHcZTxluDjSEQcEGqfPUDg==" crossorigin=anonymous defer></script><script src=/index.min.9cdd9b109f38962a87d37988a029187e94afa0a8cfd065a128ca9a3d3fff9550b5d90c1ff03fc65f1fa346b6c43c29c1ccbb7e4bb0a2f4be5619da0b1085c564.js integrity="sha512-nN2bEJ84liqH03mIoCkYfpSvoKjP0GWhKMqaPT//lVC12Qwf8D/GXx+jRrbEPCnBzLt+S7Ci9L5WGdoLEIXFZA==" crossorigin=anonymous defer></script></body></html>
|
@ -1 +0,0 @@
|
||||
<!doctype html><html><head><title>/docs/advmake/</title><link rel=canonical href=/docs/advmake/><meta name=robots content="noindex"><meta charset=utf-8><meta http-equiv=refresh content="0; url=/docs/advmake/"></head></html>
|
@ -1 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>/docs/advmake/build-files/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/advmake/installation/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url></urlset>
|
@ -1,4 +0,0 @@
|
||||
<!doctype html><html lang=en-us><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><script src=https://code.iconify.design/1/1.0.7/iconify.min.js></script><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-regular.woff2 type=font/woff2 crossorigin><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-700.woff2 type=font/woff2 crossorigin><link rel=stylesheet href=/main.7eddbef50c63a34a7ce8d3d4323fd9d90d4a1ed40f1dac16e7f06f603627c8fcb7a465d753bb51709c98661474547c7972beae0a5876e777466d416c709dea36.css integrity="sha512-ft2+9Qxjo0p86NPUMj/Z2Q1KHtQPHawW5/BvYDYnyPy3pGXXU7tRcJyYZhR0VHx5cr6uClh253dGbUFscJ3qNg==" crossorigin=anonymous><noscript><style>img.lazyload{display:none}</style></noscript><meta name=robots content="index, follow"><meta name=googlebot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><meta name=bingbot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><title>Docs | Arsen Dev</title><meta name=description content="Doks is a Hugo theme helping you build modern docu`tation websites that are secure, fast, and SEO-ready — by default."><link rel=canonical href=/docs/><meta name=twitter:card content="summary"><meta name=twitter:title content="Docs"><meta name=twitter:description content="Doks is a Hugo theme helping you build modern docu`tation websites that are secure, fast, and SEO-ready — by default."><meta name=twitter:site content="@"><meta name=twitter:creator content="@"><meta property="og:title" content="Docs"><meta property="og:description" content="Doks is a Hugo theme helping you build modern docu`tation websites that are secure, fast, and SEO-ready — by default."><meta property="og:type" content="website"><meta property="og:url" content="/docs/"><meta property="og:site_name" content="Arsen Dev"><meta property="article:publisher" content="https://www.facebook.com/"><meta property="article:author" content="https://www.facebook.com/"><meta property="og:locale" content><link rel=alternate type=application/rss+xml href=/docs/index.xml><link rel=sitemap type=application/xml href=/docs/sitemap.xml><script type=application/ld+json>{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"\/"},{"@type":"ListItem","position":2,"name":"Docs","item":"\/docs\/"}]}</script><meta name=theme-color content="#fff"><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest></head><body class="docs list"><div class="header-bar fixed-top"></div><header class="navbar fixed-top navbar-expand-md navbar-light"><div class=container><input class="menu-btn order-0" type=checkbox id=menu-btn>
|
||||
<label class="menu-icon d-md-none" for=menu-btn><span class=navicon></span></label><a class="navbar-brand order-1 order-md-0 mr-auto" href=/>Arsen Dev</a>
|
||||
<button id=mode class="btn btn-link order-2 order-md-4" type=button aria-label="Toggle mode">
|
||||
<span class=toggle-dark><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg></span><span class=toggle-light><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></span></button><ul class="navbar-nav social-nav order-3 order-md-5"><li class=nav-item><a class=nav-link href=https://gitea.arsenm.dev/Arsen6331><span class=iconify data-icon=cib:gitea data-inline=false></span><span class="ml-2 sr-only">Gitea</span></a></li><li class=nav-item><a class=nav-link href=https://gitlab.com/moussaelianarsen><span class=iconify data-icon=fa-brands:gitlab data-inline=false></span><span class="ml-2 sr-only">GitLab</span></a></li></ul><div class="collapse navbar-collapse order-4 order-md-1"><ul class="navbar-nav main-nav mr-auto order-5 order-md-2"><li class=nav-item><a class=nav-link href=/>Home</a></li><li class="nav-item active"><a class=nav-link href=/docs/>Docs</a></li></ul><div class="break order-6 d-md-none"></div><form class="navbar-form flex-grow-1 order-7 order-md-3"><input id=userinput class="form-control is-search" type=search placeholder="Search docs..." aria-label="Search docs..." autocomplete=off><div id=suggestions class="shadow bg-white rounded"></div></form></div></div></header><div class="wrap container" role=document><div class=content><div class="row justify-content-center"><div class="col-md-12 col-lg-10 col-xl-8"><article><a href=..><p class=text-center>⇐ Home</p></a><h1 style=margin:0 class=text-center>Docs</h1><div class=text-center></div><div class=card-list><div class="card my-3"><div class=card-body><a class=stretched-link href=/docs/advmake/>AdvMake Docs ⇒</a></div></div><div class="card my-3"><div class=card-body><a class=stretched-link href=/docs/opensend/>OpenSend Docs ⇒</a></div></div><div class="card my-3"><div class=card-body><a class=stretched-link href=/docs/pak/>Pak Docs ⇒</a></div></div></div></article></div></div></div></div><script src=/main.f6b484f556ad1f3bcf6061082139a2f21fa759f13930c39a25fe4a9f78f35e64122c2d86dffd56e67b292dabbda4095d8077194f196e0e348441c106a9f3d40e.js integrity="sha512-9rSE9VatHzvPYGEIITmi8h+nWfE5MMOaJf5Kn3jzXmQSLC2G3/1W5nspLau9pAldgHcZTxluDjSEQcEGqfPUDg==" crossorigin=anonymous defer></script><script src=/index.min.9cdd9b109f38962a87d37988a029187e94afa0a8cfd065a128ca9a3d3fff9550b5d90c1ff03fc65f1fa346b6c43c29c1ccbb7e4bb0a2f4be5619da0b1085c564.js integrity="sha512-nN2bEJ84liqH03mIoCkYfpSvoKjP0GWhKMqaPT//lVC12Qwf8D/GXx+jRrbEPCnBzLt+S7Ci9L5WGdoLEIXFZA==" crossorigin=anonymous defer></script></body></html>
|
@ -1 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Docs on</title><link>/docs/</link><description>Recent content in Docs on</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><atom:link href="/docs/index.xml" rel="self" type="application/rss+xml"/></channel></rss>
|
@ -1,8 +0,0 @@
|
||||
<!doctype html><html lang=en-us><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><script src=https://code.iconify.design/1/1.0.7/iconify.min.js></script><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-regular.woff2 type=font/woff2 crossorigin><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-700.woff2 type=font/woff2 crossorigin><link rel=stylesheet href=/main.7eddbef50c63a34a7ce8d3d4323fd9d90d4a1ed40f1dac16e7f06f603627c8fcb7a465d753bb51709c98661474547c7972beae0a5876e777466d416c709dea36.css integrity="sha512-ft2+9Qxjo0p86NPUMj/Z2Q1KHtQPHawW5/BvYDYnyPy3pGXXU7tRcJyYZhR0VHx5cr6uClh253dGbUFscJ3qNg==" crossorigin=anonymous><noscript><style>img.lazyload{display:none}</style></noscript><meta name=robots content="index, follow"><meta name=googlebot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><meta name=bingbot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><title>GUI | Arsen Dev</title><meta name=description content="Opensend fyne GUI"><link rel=canonical href=/docs/opensend/gui/><meta name=twitter:card content="summary"><meta name=twitter:title content="GUI"><meta name=twitter:description content="Opensend fyne GUI"><meta name=twitter:site content="@"><meta name=twitter:creator content="@"><meta property="og:title" content="GUI"><meta property="og:description" content="Opensend fyne GUI"><meta property="og:type" content="article"><meta property="og:url" content="/docs/opensend/gui/"><meta property="og:site_name" content="Arsen Dev"><meta property="article:publisher" content="https://www.facebook.com/"><meta property="article:author" content="https://www.facebook.com/"><meta property="og:locale" content><script type=application/ld+json>{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"\/"},{"@type":"ListItem","position":2,"name":"Docsopensendgui","item":"\/docsopensendgui\/"}]}</script><meta name=theme-color content="#fff"><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest></head><body class="docs single"><div class="header-bar fixed-top"></div><header class="navbar fixed-top navbar-expand-md navbar-light"><div class=container><input class="menu-btn order-0" type=checkbox id=menu-btn>
|
||||
<label class="menu-icon d-md-none" for=menu-btn><span class=navicon></span></label><a class="navbar-brand order-1 order-md-0 mr-auto" href=/>Arsen Dev</a>
|
||||
<button id=mode class="btn btn-link order-2 order-md-4" type=button aria-label="Toggle mode">
|
||||
<span class=toggle-dark><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg></span><span class=toggle-light><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></span></button><ul class="navbar-nav social-nav order-3 order-md-5"><li class=nav-item><a class=nav-link href=https://gitea.arsenm.dev/Arsen6331><span class=iconify data-icon=cib:gitea data-inline=false></span><span class="ml-2 sr-only">Gitea</span></a></li><li class=nav-item><a class=nav-link href=https://gitlab.com/moussaelianarsen><span class=iconify data-icon=fa-brands:gitlab data-inline=false></span><span class="ml-2 sr-only">GitLab</span></a></li></ul><div class="collapse navbar-collapse order-4 order-md-1"><ul class="navbar-nav main-nav mr-auto order-5 order-md-2"><li class=nav-item><a class=nav-link href=/>Home</a></li><li class="nav-item active"><a class=nav-link href=/docs/>Docs</a></li></ul><div class="break order-6 d-md-none"></div><form class="navbar-form flex-grow-1 order-7 order-md-3"><input id=userinput class="form-control is-search" type=search placeholder="Search docs..." aria-label="Search docs..." autocomplete=off><div id=suggestions class="shadow bg-white rounded"></div></form></div></div></header><div class="wrap container" role=document><div class=content><div class="row flex-xl-nowrap"><div class="col-lg-5 col-xl-4 docs-sidebar"><nav class=docs-links aria-label="Main navigation"><h3>Docs</h3><ul class=list-unstyled><li><a class=docs-link href=/docs/advmake/>AdvMake Docs</a></li><li><a class=docs-link href=/docs/opensend/>OpenSend Docs</a></li><li><a class=docs-link href=/docs/pak/>Pak Docs</a></li></ul></nav></div><nav class="docs-toc d-none d-xl-block col-xl-3" aria-label="Secondary navigation"><div class=page-links><h3>On this page</h3><nav id=TableOfContents><ul><li><ul><li><a href=#gui-installation>GUI Installation</a></li></ul></li></ul></nav></div></nav><main class="docs-content col-lg-11 col-xl-9 mx-xl-auto"><a href=..>⇐ OpenSend Docs</a><h1 style=margin-top:.2rem>GUI</h1><p class=lead></p><p><a style=margin-left:1px;margin-right:1px;display:inline-block href=https://ci.appveyor.com/project/moussaelianarsen/opensend><img style=height:18px;width:100px src="https://ci.appveyor.com/api/projects/status/wrv3bbuujw57578h?svg=true"></a>
|
||||
<a style=margin-left:1px;margin-right:1px;display:inline-block href=https://minio.arsenm.dev/minio/opensend><img style=height:18px;width:100px src="https://img.shields.io/static/v1.svg?label=download&message=binary&color=blue"></a></p><p>This page assumes you have already installed Opensend. If not, follow the installation
|
||||
instructions on the installation page.</p><a class="f6 link dim ph3 pv2 mb2 dib white bg-blue" style=color:#fff href=../installation>Installation</a><h3 id=gui-installation>GUI Installation<a href=#gui-installation class=anchor aria-hidden=true>#</a></h3><p>Opensend GUI has been written in golang using <a href=https://fyne.io>fyne</a>. Its source code can be found here:</p><a class=btn style=color:#fff;background-color:green href=https://gitea.arsenm.dev/opensend/opensend-gui><span class=iconify data-icon=cib:gitea></span> Opensend GUI</a><p>To download Opensend GUI, run the following command</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>git clone https://gitea.arsenm.dev/opensend/opensend-gui.git
|
||||
</code></pre></div><p>To build Opensend GUI, <code>go</code> must be installed. The process for that is explained in the installation instructions for Opensend. Once <code>go</code> is installed, run:</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>go build
|
||||
</code></pre></div><p>This may take a while as <code>go</code> downloads and compiles Opensend GUI and Fyne.</p><p>Once the build is complete, there should be a file named <code>opensend-gui</code> in the directory. Run this file to open the GUI which should look like this:</p><img src=/opensend/gui_start.webp alt="Opensend GUI on start"></main></div></div></div><script src=/main.f6b484f556ad1f3bcf6061082139a2f21fa759f13930c39a25fe4a9f78f35e64122c2d86dffd56e67b292dabbda4095d8077194f196e0e348441c106a9f3d40e.js integrity="sha512-9rSE9VatHzvPYGEIITmi8h+nWfE5MMOaJf5Kn3jzXmQSLC2G3/1W5nspLau9pAldgHcZTxluDjSEQcEGqfPUDg==" crossorigin=anonymous defer></script><script src=/index.min.9cdd9b109f38962a87d37988a029187e94afa0a8cfd065a128ca9a3d3fff9550b5d90c1ff03fc65f1fa346b6c43c29c1ccbb7e4bb0a2f4be5619da0b1085c564.js integrity="sha512-nN2bEJ84liqH03mIoCkYfpSvoKjP0GWhKMqaPT//lVC12Qwf8D/GXx+jRrbEPCnBzLt+S7Ci9L5WGdoLEIXFZA==" crossorigin=anonymous defer></script></body></html>
|
@ -1,4 +0,0 @@
|
||||
<!doctype html><html lang=en-us><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><script src=https://code.iconify.design/1/1.0.7/iconify.min.js></script><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-regular.woff2 type=font/woff2 crossorigin><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-700.woff2 type=font/woff2 crossorigin><link rel=stylesheet href=/main.7eddbef50c63a34a7ce8d3d4323fd9d90d4a1ed40f1dac16e7f06f603627c8fcb7a465d753bb51709c98661474547c7972beae0a5876e777466d416c709dea36.css integrity="sha512-ft2+9Qxjo0p86NPUMj/Z2Q1KHtQPHawW5/BvYDYnyPy3pGXXU7tRcJyYZhR0VHx5cr6uClh253dGbUFscJ3qNg==" crossorigin=anonymous><noscript><style>img.lazyload{display:none}</style></noscript><meta name=robots content="index, follow"><meta name=googlebot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><meta name=bingbot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><title>OpenSend Docs | Arsen Dev</title><meta name=description content="Documentation for the OpenSend file sharing program"><link rel=canonical href=/docs/opensend/><meta name=twitter:card content="summary"><meta name=twitter:title content="OpenSend Docs"><meta name=twitter:description content="Documentation for the OpenSend file sharing program"><meta name=twitter:site content="@"><meta name=twitter:creator content="@"><meta property="og:title" content="OpenSend Docs"><meta property="og:description" content="Documentation for the OpenSend file sharing program"><meta property="og:type" content="website"><meta property="og:url" content="/docs/opensend/"><meta property="og:site_name" content="Arsen Dev"><meta property="article:publisher" content="https://www.facebook.com/"><meta property="article:author" content="https://www.facebook.com/"><meta property="og:locale" content><link rel=alternate type=application/rss+xml href=/docs/opensend/index.xml><link rel=sitemap type=application/xml href=/docs/opensend/sitemap.xml><script type=application/ld+json>{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"\/"},{"@type":"ListItem","position":2,"name":"Docsopensend","item":"\/docsopensend\/"}]}</script><meta name=theme-color content="#fff"><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest></head><body class="docs list"><div class="header-bar fixed-top"></div><header class="navbar fixed-top navbar-expand-md navbar-light"><div class=container><input class="menu-btn order-0" type=checkbox id=menu-btn>
|
||||
<label class="menu-icon d-md-none" for=menu-btn><span class=navicon></span></label><a class="navbar-brand order-1 order-md-0 mr-auto" href=/>Arsen Dev</a>
|
||||
<button id=mode class="btn btn-link order-2 order-md-4" type=button aria-label="Toggle mode">
|
||||
<span class=toggle-dark><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg></span><span class=toggle-light><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></span></button><ul class="navbar-nav social-nav order-3 order-md-5"><li class=nav-item><a class=nav-link href=https://gitea.arsenm.dev/Arsen6331><span class=iconify data-icon=cib:gitea data-inline=false></span><span class="ml-2 sr-only">Gitea</span></a></li><li class=nav-item><a class=nav-link href=https://gitlab.com/moussaelianarsen><span class=iconify data-icon=fa-brands:gitlab data-inline=false></span><span class="ml-2 sr-only">GitLab</span></a></li></ul><div class="collapse navbar-collapse order-4 order-md-1"><ul class="navbar-nav main-nav mr-auto order-5 order-md-2"><li class=nav-item><a class=nav-link href=/>Home</a></li><li class="nav-item active"><a class=nav-link href=/docs/>Docs</a></li></ul><div class="break order-6 d-md-none"></div><form class="navbar-form flex-grow-1 order-7 order-md-3"><input id=userinput class="form-control is-search" type=search placeholder="Search docs..." aria-label="Search docs..." autocomplete=off><div id=suggestions class="shadow bg-white rounded"></div></form></div></div></header><div class="wrap container" role=document><div class=content><div class="row justify-content-center"><div class="col-md-12 col-lg-10 col-xl-8"><article><a href=..><p class=text-center>⇐ Docs</p></a><h1 style=margin:0 class=text-center>OpenSend Docs</h1><div class=text-center></div><div class=card-list><div class="card my-3"><div class=card-body><a class=stretched-link href=/docs/opensend/gui/>GUI ⇒</a></div></div><div class="card my-3"><div class=card-body><a class=stretched-link href=/docs/opensend/installation/>Installation ⇒</a></div></div><div class="card my-3"><div class=card-body><a class=stretched-link href=/docs/opensend/usage/>Usage ⇒</a></div></div></div></article></div></div></div></div><script src=/main.f6b484f556ad1f3bcf6061082139a2f21fa759f13930c39a25fe4a9f78f35e64122c2d86dffd56e67b292dabbda4095d8077194f196e0e348441c106a9f3d40e.js integrity="sha512-9rSE9VatHzvPYGEIITmi8h+nWfE5MMOaJf5Kn3jzXmQSLC2G3/1W5nspLau9pAldgHcZTxluDjSEQcEGqfPUDg==" crossorigin=anonymous defer></script><script src=/index.min.9cdd9b109f38962a87d37988a029187e94afa0a8cfd065a128ca9a3d3fff9550b5d90c1ff03fc65f1fa346b6c43c29c1ccbb7e4bb0a2f4be5619da0b1085c564.js integrity="sha512-nN2bEJ84liqH03mIoCkYfpSvoKjP0GWhKMqaPT//lVC12Qwf8D/GXx+jRrbEPCnBzLt+S7Ci9L5WGdoLEIXFZA==" crossorigin=anonymous defer></script></body></html>
|
@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>OpenSend Docs on</title><link>/docs/opensend/</link><description>Recent content in OpenSend Docs on</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><atom:link href="/docs/opensend/index.xml" rel="self" type="application/rss+xml"/><item><title>GUI</title><link>/docs/opensend/gui/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/opensend/gui/</guid><description>This page assumes you have already installed Opensend. If not, follow the installation instructions on the installation page.
|
||||
Installation GUI Installation Opensend GUI has been written in golang using fyne. Its source code can be found here:
|
||||
&nbsp;Opensend GUI To download Opensend GUI, run the following command
|
||||
git clone https://gitea.arsenm.dev/opensend/opensend-gui.git To build Opensend GUI, go must be installed. The process for that is explained in the installation instructions for Opensend.</description></item><item><title>Installation</title><link>/docs/opensend/installation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/opensend/installation/</guid><description>Using precompiled binary Opensend uses continuous integration to compile. You can find the binary by clicking the download binary badge above.
|
||||
Building from source Downloading Opensend is hosted on Gitea.
|
||||
&nbsp;Opensend &nbsp;Opensend To download opensend, you can either use the download button on one of the above, or you can use the git command
|
||||
To clone opensend using the command, run the following command:</description></item><item><title>Usage</title><link>/docs/opensend/usage/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/opensend/usage/</guid><description>This page assumes you have already installed Opensend. If not, follow the installation instructions on the installation page.
|
||||
Installation Configuration Opensend allows configuration by TOML and by command line flags. It looks at the following paths for configs in the specified order:
|
||||
Config files Config path from --config flag ~/.config/opensend.toml /etc/opensend.toml Command line flags Usage of opensend: -d string Data to send -dest-dir string Destination directory for files or dirs sent over opensend (default &#34;/home/arsen/Downloads&#34;) -r Receive data -s Send data -send-to string Use IP address of receiver instead of mDNS -skip-mdns Skip zeroconf service registration (use if mdns fails) -t string Type of data being sent The purpose of the mdns-skipping flags is to account for the iSH app in iOS, as the mdns resolver and registration fails on it.</description></item></channel></rss>
|
@ -1,16 +0,0 @@
|
||||
<!doctype html><html lang=en-us><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><script src=https://code.iconify.design/1/1.0.7/iconify.min.js></script><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-regular.woff2 type=font/woff2 crossorigin><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-700.woff2 type=font/woff2 crossorigin><link rel=stylesheet href=/main.7eddbef50c63a34a7ce8d3d4323fd9d90d4a1ed40f1dac16e7f06f603627c8fcb7a465d753bb51709c98661474547c7972beae0a5876e777466d416c709dea36.css integrity="sha512-ft2+9Qxjo0p86NPUMj/Z2Q1KHtQPHawW5/BvYDYnyPy3pGXXU7tRcJyYZhR0VHx5cr6uClh253dGbUFscJ3qNg==" crossorigin=anonymous><noscript><style>img.lazyload{display:none}</style></noscript><meta name=robots content="index, follow"><meta name=googlebot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><meta name=bingbot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><title>Installation | Arsen Dev</title><meta name=description content="Installing opensend"><link rel=canonical href=/docs/opensend/installation/><meta name=twitter:card content="summary"><meta name=twitter:title content="Installation"><meta name=twitter:description content="Installing opensend"><meta name=twitter:site content="@"><meta name=twitter:creator content="@"><meta property="og:title" content="Installation"><meta property="og:description" content="Installing opensend"><meta property="og:type" content="article"><meta property="og:url" content="/docs/opensend/installation/"><meta property="og:site_name" content="Arsen Dev"><meta property="article:publisher" content="https://www.facebook.com/"><meta property="article:author" content="https://www.facebook.com/"><meta property="og:locale" content><script type=application/ld+json>{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"\/"},{"@type":"ListItem","position":2,"name":"Docsopensendinstallation","item":"\/docsopensendinstallation\/"}]}</script><meta name=theme-color content="#fff"><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest></head><body class="docs single"><div class="header-bar fixed-top"></div><header class="navbar fixed-top navbar-expand-md navbar-light"><div class=container><input class="menu-btn order-0" type=checkbox id=menu-btn>
|
||||
<label class="menu-icon d-md-none" for=menu-btn><span class=navicon></span></label><a class="navbar-brand order-1 order-md-0 mr-auto" href=/>Arsen Dev</a>
|
||||
<button id=mode class="btn btn-link order-2 order-md-4" type=button aria-label="Toggle mode">
|
||||
<span class=toggle-dark><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg></span><span class=toggle-light><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></span></button><ul class="navbar-nav social-nav order-3 order-md-5"><li class=nav-item><a class=nav-link href=https://gitea.arsenm.dev/Arsen6331><span class=iconify data-icon=cib:gitea data-inline=false></span><span class="ml-2 sr-only">Gitea</span></a></li><li class=nav-item><a class=nav-link href=https://gitlab.com/moussaelianarsen><span class=iconify data-icon=fa-brands:gitlab data-inline=false></span><span class="ml-2 sr-only">GitLab</span></a></li></ul><div class="collapse navbar-collapse order-4 order-md-1"><ul class="navbar-nav main-nav mr-auto order-5 order-md-2"><li class=nav-item><a class=nav-link href=/>Home</a></li><li class="nav-item active"><a class=nav-link href=/docs/>Docs</a></li></ul><div class="break order-6 d-md-none"></div><form class="navbar-form flex-grow-1 order-7 order-md-3"><input id=userinput class="form-control is-search" type=search placeholder="Search docs..." aria-label="Search docs..." autocomplete=off><div id=suggestions class="shadow bg-white rounded"></div></form></div></div></header><div class="wrap container" role=document><div class=content><div class="row flex-xl-nowrap"><div class="col-lg-5 col-xl-4 docs-sidebar"><nav class=docs-links aria-label="Main navigation"><h3>Docs</h3><ul class=list-unstyled><li><a class=docs-link href=/docs/advmake/>AdvMake Docs</a></li><li><a class=docs-link href=/docs/opensend/>OpenSend Docs</a></li><li><a class=docs-link href=/docs/pak/>Pak Docs</a></li></ul></nav></div><nav class="docs-toc d-none d-xl-block col-xl-3" aria-label="Secondary navigation"><div class=page-links><h3>On this page</h3><nav id=TableOfContents><ul><li><a href=#using-precompiled-binary>Using precompiled binary</a></li><li><a href=#building-from-source>Building from source</a><ul><li><a href=#downloading>Downloading</a></li><li><a href=#building>Building</a></li><li><a href=#installing>Installing</a></li></ul></li></ul></nav></div></nav><main class="docs-content col-lg-11 col-xl-9 mx-xl-auto"><a href=..>⇐ OpenSend Docs</a><h1 style=margin-top:.2rem>Installation</h1><p class=lead></p><p><a style=margin-left:1px;margin-right:1px;display:inline-block href=https://ci.appveyor.com/project/moussaelianarsen/opensend><img style=height:18px;width:100px src="https://ci.appveyor.com/api/projects/status/wrv3bbuujw57578h?svg=true"></a>
|
||||
<a style=margin-left:1px;margin-right:1px;display:inline-block href=https://minio.arsenm.dev/minio/opensend><img style=height:18px;width:100px src="https://img.shields.io/static/v1.svg?label=download&message=binary&color=blue"></a></p><h2 id=using-precompiled-binary>Using precompiled binary<a href=#using-precompiled-binary class=anchor aria-hidden=true>#</a></h2><p>Opensend uses continuous integration to compile. You can find the binary by clicking the download binary badge above.</p><h2 id=building-from-source>Building from source<a href=#building-from-source class=anchor aria-hidden=true>#</a></h2><h3 id=downloading>Downloading<a href=#downloading class=anchor aria-hidden=true>#</a></h3><p>Opensend is hosted on Gitea.</p><p><a class=btn style=color:#fff;background-color:green href=https://gitea.arsenm.dev/opensend/opensend><span class=iconify data-icon=cib:gitea></span> Opensend</a>
|
||||
<a class=btn style=color:#fff;background-color:OrangeRed href=https://www.gitlab.com/moussaelianarsen/opensend><span class=iconify data-icon=fa-brands:gitlab></span> Opensend</a></p><p>To download opensend, you can either use the download button on one of the above, or
|
||||
you can use the git command</p><p>To clone opensend using the command, run the following command:</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>git clone https://gitea.arsenm.dev/opensend/opensend.git
|
||||
</code></pre></div><p>Now, you will want to <code>cd</code> into the root of this repo before completing the rest
|
||||
of these instructions</p><h3 id=building>Building<a href=#building class=anchor aria-hidden=true>#</a></h3><p>Since Opensend is written in go, you will need go installed in order to compile it.
|
||||
Most linux distros call the package providing it either <code>go</code> or <code>golang</code>.</p><p>Once go is installed, you can check that it runs by running</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>go version
|
||||
</code></pre></div><p>To compile Opensend, run the following command:</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>make
|
||||
</code></pre></div><h3 id=installing>Installing<a href=#installing class=anchor aria-hidden=true>#</a></h3><p>To install opensend, run one of the following commands:</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>sudo make install <span class=c1># Linux</span>
|
||||
sudo make install-macos <span class=c1># macOS</span>
|
||||
</code></pre></div><p>Once this command completes, to test whether opensend was installed properly, run
|
||||
this command:</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>opensend -h
|
||||
</code></pre></div><p>You should get the usage for opensend.</p></main></div></div></div><script src=/main.f6b484f556ad1f3bcf6061082139a2f21fa759f13930c39a25fe4a9f78f35e64122c2d86dffd56e67b292dabbda4095d8077194f196e0e348441c106a9f3d40e.js integrity="sha512-9rSE9VatHzvPYGEIITmi8h+nWfE5MMOaJf5Kn3jzXmQSLC2G3/1W5nspLau9pAldgHcZTxluDjSEQcEGqfPUDg==" crossorigin=anonymous defer></script><script src=/index.min.9cdd9b109f38962a87d37988a029187e94afa0a8cfd065a128ca9a3d3fff9550b5d90c1ff03fc65f1fa346b6c43c29c1ccbb7e4bb0a2f4be5619da0b1085c564.js integrity="sha512-nN2bEJ84liqH03mIoCkYfpSvoKjP0GWhKMqaPT//lVC12Qwf8D/GXx+jRrbEPCnBzLt+S7Ci9L5WGdoLEIXFZA==" crossorigin=anonymous defer></script></body></html>
|
@ -1 +0,0 @@
|
||||
<!doctype html><html><head><title>/docs/opensend/</title><link rel=canonical href=/docs/opensend/><meta name=robots content="noindex"><meta charset=utf-8><meta http-equiv=refresh content="0; url=/docs/opensend/"></head></html>
|
@ -1 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>/docs/opensend/gui/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/opensend/installation/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/opensend/usage/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url></urlset>
|
@ -1,19 +0,0 @@
|
||||
<!doctype html><html lang=en-us><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><script src=https://code.iconify.design/1/1.0.7/iconify.min.js></script><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-regular.woff2 type=font/woff2 crossorigin><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-700.woff2 type=font/woff2 crossorigin><link rel=stylesheet href=/main.7eddbef50c63a34a7ce8d3d4323fd9d90d4a1ed40f1dac16e7f06f603627c8fcb7a465d753bb51709c98661474547c7972beae0a5876e777466d416c709dea36.css integrity="sha512-ft2+9Qxjo0p86NPUMj/Z2Q1KHtQPHawW5/BvYDYnyPy3pGXXU7tRcJyYZhR0VHx5cr6uClh253dGbUFscJ3qNg==" crossorigin=anonymous><noscript><style>img.lazyload{display:none}</style></noscript><meta name=robots content="index, follow"><meta name=googlebot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><meta name=bingbot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><title>Usage | Arsen Dev</title><meta name=description content="Using opensend"><link rel=canonical href=/docs/opensend/usage/><meta name=twitter:card content="summary"><meta name=twitter:title content="Usage"><meta name=twitter:description content="Using opensend"><meta name=twitter:site content="@"><meta name=twitter:creator content="@"><meta property="og:title" content="Usage"><meta property="og:description" content="Using opensend"><meta property="og:type" content="article"><meta property="og:url" content="/docs/opensend/usage/"><meta property="og:site_name" content="Arsen Dev"><meta property="article:publisher" content="https://www.facebook.com/"><meta property="article:author" content="https://www.facebook.com/"><meta property="og:locale" content><script type=application/ld+json>{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"\/"},{"@type":"ListItem","position":2,"name":"Docsopensendusage","item":"\/docsopensendusage\/"}]}</script><meta name=theme-color content="#fff"><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest></head><body class="docs single"><div class="header-bar fixed-top"></div><header class="navbar fixed-top navbar-expand-md navbar-light"><div class=container><input class="menu-btn order-0" type=checkbox id=menu-btn>
|
||||
<label class="menu-icon d-md-none" for=menu-btn><span class=navicon></span></label><a class="navbar-brand order-1 order-md-0 mr-auto" href=/>Arsen Dev</a>
|
||||
<button id=mode class="btn btn-link order-2 order-md-4" type=button aria-label="Toggle mode">
|
||||
<span class=toggle-dark><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg></span><span class=toggle-light><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></span></button><ul class="navbar-nav social-nav order-3 order-md-5"><li class=nav-item><a class=nav-link href=https://gitea.arsenm.dev/Arsen6331><span class=iconify data-icon=cib:gitea data-inline=false></span><span class="ml-2 sr-only">Gitea</span></a></li><li class=nav-item><a class=nav-link href=https://gitlab.com/moussaelianarsen><span class=iconify data-icon=fa-brands:gitlab data-inline=false></span><span class="ml-2 sr-only">GitLab</span></a></li></ul><div class="collapse navbar-collapse order-4 order-md-1"><ul class="navbar-nav main-nav mr-auto order-5 order-md-2"><li class=nav-item><a class=nav-link href=/>Home</a></li><li class="nav-item active"><a class=nav-link href=/docs/>Docs</a></li></ul><div class="break order-6 d-md-none"></div><form class="navbar-form flex-grow-1 order-7 order-md-3"><input id=userinput class="form-control is-search" type=search placeholder="Search docs..." aria-label="Search docs..." autocomplete=off><div id=suggestions class="shadow bg-white rounded"></div></form></div></div></header><div class="wrap container" role=document><div class=content><div class="row flex-xl-nowrap"><div class="col-lg-5 col-xl-4 docs-sidebar"><nav class=docs-links aria-label="Main navigation"><h3>Docs</h3><ul class=list-unstyled><li><a class=docs-link href=/docs/advmake/>AdvMake Docs</a></li><li><a class=docs-link href=/docs/opensend/>OpenSend Docs</a></li><li><a class=docs-link href=/docs/pak/>Pak Docs</a></li></ul></nav></div><nav class="docs-toc d-none d-xl-block col-xl-3" aria-label="Secondary navigation"><div class=page-links><h3>On this page</h3><nav id=TableOfContents><ul><li><ul><li><a href=#configuration>Configuration</a></li><li><a href=#algorithms-and-software-used>Algorithms and software used</a></li></ul></li></ul></nav></div></nav><main class="docs-content col-lg-11 col-xl-9 mx-xl-auto"><a href=..>⇐ OpenSend Docs</a><h1 style=margin-top:.2rem>Usage</h1><p class=lead></p><p><a style=margin-left:1px;margin-right:1px;display:inline-block href=https://ci.appveyor.com/project/moussaelianarsen/opensend><img style=height:18px;width:100px src="https://ci.appveyor.com/api/projects/status/wrv3bbuujw57578h?svg=true"></a>
|
||||
<a style=margin-left:1px;margin-right:1px;display:inline-block href=https://minio.arsenm.dev/minio/opensend><img style=height:18px;width:100px src="https://img.shields.io/static/v1.svg?label=download&message=binary&color=blue"></a></p><p>This page assumes you have already installed Opensend. If not, follow the installation
|
||||
instructions on the installation page.</p><a class="f6 link dim ph3 pv2 mb2 dib white bg-blue" style=color:#fff href=../installation>Installation</a><h3 id=configuration>Configuration<a href=#configuration class=anchor aria-hidden=true>#</a></h3><p>Opensend allows configuration by TOML and by command line flags. It looks at the following paths for configs in the specified order:</p><h4 id=config-files>Config files<a href=#config-files class=anchor aria-hidden=true>#</a></h4><ol><li>Config path from <code>--config</code> flag</li><li><code>~/.config/opensend.toml</code></li><li><code>/etc/opensend.toml</code></li></ol><h4 id=command-line-flags>Command line flags<a href=#command-line-flags class=anchor aria-hidden=true>#</a></h4><div class=highlight><pre class=chroma><code class=language-text data-lang=text>Usage of opensend:
|
||||
-d string
|
||||
Data to send
|
||||
-dest-dir string
|
||||
Destination directory for files or dirs sent over opensend (default "/home/arsen/Downloads")
|
||||
-r Receive data
|
||||
-s Send data
|
||||
-send-to string
|
||||
Use IP address of receiver instead of mDNS
|
||||
-skip-mdns
|
||||
Skip zeroconf service registration (use if mdns fails)
|
||||
-t string
|
||||
Type of data being sent
|
||||
</code></pre></div><p>The purpose of the mdns-skipping flags is to account for the iSH app in iOS, as the mdns resolver and registration fails on it.</p><h3 id=algorithms-and-software-used>Algorithms and software used<a href=#algorithms-and-software-used class=anchor aria-hidden=true>#</a></h3><ul><li>RSA for asymmetric encryption</li><li>AES for symmetric encryption</li><li>Tar for archiving directories</li><li>Zstandard for compression</li><li>Base91 for encoding</li><li>Gob for serialization</li><li>JSON for serialization</li><li>TCP sockets for transfer</li><li>Zeroconf/mDNS for device discovery</li></ul></main></div></div></div><script src=/main.f6b484f556ad1f3bcf6061082139a2f21fa759f13930c39a25fe4a9f78f35e64122c2d86dffd56e67b292dabbda4095d8077194f196e0e348441c106a9f3d40e.js integrity="sha512-9rSE9VatHzvPYGEIITmi8h+nWfE5MMOaJf5Kn3jzXmQSLC2G3/1W5nspLau9pAldgHcZTxluDjSEQcEGqfPUDg==" crossorigin=anonymous defer></script><script src=/index.min.9cdd9b109f38962a87d37988a029187e94afa0a8cfd065a128ca9a3d3fff9550b5d90c1ff03fc65f1fa346b6c43c29c1ccbb7e4bb0a2f4be5619da0b1085c564.js integrity="sha512-nN2bEJ84liqH03mIoCkYfpSvoKjP0GWhKMqaPT//lVC12Qwf8D/GXx+jRrbEPCnBzLt+S7Ci9L5WGdoLEIXFZA==" crossorigin=anonymous defer></script></body></html>
|
@ -1 +0,0 @@
|
||||
<!doctype html><html><head><title>/docs/</title><link rel=canonical href=/docs/><meta name=robots content="noindex"><meta charset=utf-8><meta http-equiv=refresh content="0; url=/docs/"></head></html>
|
@ -1,22 +0,0 @@
|
||||
<!doctype html><html lang=en-us><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><script src=https://code.iconify.design/1/1.0.7/iconify.min.js></script><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-regular.woff2 type=font/woff2 crossorigin><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-700.woff2 type=font/woff2 crossorigin><link rel=stylesheet href=/main.7eddbef50c63a34a7ce8d3d4323fd9d90d4a1ed40f1dac16e7f06f603627c8fcb7a465d753bb51709c98661474547c7972beae0a5876e777466d416c709dea36.css integrity="sha512-ft2+9Qxjo0p86NPUMj/Z2Q1KHtQPHawW5/BvYDYnyPy3pGXXU7tRcJyYZhR0VHx5cr6uClh253dGbUFscJ3qNg==" crossorigin=anonymous><noscript><style>img.lazyload{display:none}</style></noscript><meta name=robots content="index, follow"><meta name=googlebot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><meta name=bingbot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><title>Configuration | Arsen Dev</title><meta name=description content="Configuring pak"><link rel=canonical href=/docs/pak/configuration/><meta name=twitter:card content="summary"><meta name=twitter:title content="Configuration"><meta name=twitter:description content="Configuring pak"><meta name=twitter:site content="@"><meta name=twitter:creator content="@"><meta property="og:title" content="Configuration"><meta property="og:description" content="Configuring pak"><meta property="og:type" content="article"><meta property="og:url" content="/docs/pak/configuration/"><meta property="og:site_name" content="Arsen Dev"><meta property="article:publisher" content="https://www.facebook.com/"><meta property="article:author" content="https://www.facebook.com/"><meta property="og:locale" content><script type=application/ld+json>{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"\/"},{"@type":"ListItem","position":2,"name":"Docspakconfiguration","item":"\/docspakconfiguration\/"}]}</script><meta name=theme-color content="#fff"><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest></head><body class="docs single"><div class="header-bar fixed-top"></div><header class="navbar fixed-top navbar-expand-md navbar-light"><div class=container><input class="menu-btn order-0" type=checkbox id=menu-btn>
|
||||
<label class="menu-icon d-md-none" for=menu-btn><span class=navicon></span></label><a class="navbar-brand order-1 order-md-0 mr-auto" href=/>Arsen Dev</a>
|
||||
<button id=mode class="btn btn-link order-2 order-md-4" type=button aria-label="Toggle mode">
|
||||
<span class=toggle-dark><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg></span><span class=toggle-light><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></span></button><ul class="navbar-nav social-nav order-3 order-md-5"><li class=nav-item><a class=nav-link href=https://gitea.arsenm.dev/Arsen6331><span class=iconify data-icon=cib:gitea data-inline=false></span><span class="ml-2 sr-only">Gitea</span></a></li><li class=nav-item><a class=nav-link href=https://gitlab.com/moussaelianarsen><span class=iconify data-icon=fa-brands:gitlab data-inline=false></span><span class="ml-2 sr-only">GitLab</span></a></li></ul><div class="collapse navbar-collapse order-4 order-md-1"><ul class="navbar-nav main-nav mr-auto order-5 order-md-2"><li class=nav-item><a class=nav-link href=/>Home</a></li><li class="nav-item active"><a class=nav-link href=/docs/>Docs</a></li></ul><div class="break order-6 d-md-none"></div><form class="navbar-form flex-grow-1 order-7 order-md-3"><input id=userinput class="form-control is-search" type=search placeholder="Search docs..." aria-label="Search docs..." autocomplete=off><div id=suggestions class="shadow bg-white rounded"></div></form></div></div></header><div class="wrap container" role=document><div class=content><div class="row flex-xl-nowrap"><div class="col-lg-5 col-xl-4 docs-sidebar"><nav class=docs-links aria-label="Main navigation"><h3>Docs</h3><ul class=list-unstyled><li><a class=docs-link href=/docs/advmake/>AdvMake Docs</a></li><li><a class=docs-link href=/docs/opensend/>OpenSend Docs</a></li><li><a class=docs-link href=/docs/pak/>Pak Docs</a></li></ul></nav></div><nav class="docs-toc d-none d-xl-block col-xl-3" aria-label="Secondary navigation"><div class=page-links><h3>On this page</h3><nav id=TableOfContents><ul><li><ul><li><a href=#config-file>Config file</a></li></ul></li></ul></nav></div></nav><main class="docs-content col-lg-11 col-xl-9 mx-xl-auto"><a href=..>⇐ Pak Docs</a><h1 style=margin-top:.2rem>Configuration</h1><p class=lead></p><p><a style=margin-left:1px;margin-right:1px;display:inline-block href=https://ci.appveyor.com/project/moussaelianarsen/pak><img style=height:18px;width:100px src="https://ci.appveyor.com/api/projects/status/e4yacqd78gkte8a0?svg=true"></a>
|
||||
<a style=margin-left:1px;margin-right:1px;display:inline-block href=https://minio.arsenm.dev/minio/pak><img style=height:18px;width:100px src="https://img.shields.io/static/v1.svg?label=download&message=binary&color=blue"></a></p><h3 id=config-file>Config file<a href=#config-file class=anchor aria-hidden=true>#</a></h3><p>Pak uses a custom config file at <code>/etc/pak.cfg</code>. For example, this is what the
|
||||
apt config looks like:</p><div class=highlight><pre class=chroma><code class=language-cfg data-lang=cfg><span class=c1># Write the name of the package manager in all lowercase below</span>
|
||||
<span class=na>apt</span>
|
||||
<span class=c1># Write a comma separated list of commands from the manager below</span>
|
||||
<span class=na>install,remove,update,upgrade,search,download</span>
|
||||
<span class=c1># Write "yes" or "no" depending on whether you want to use root</span>
|
||||
<span class=na>yes</span>
|
||||
<span class=c1># Write command to use for root</span>
|
||||
<span class=na>sudo</span>
|
||||
<span class=c1># Write a comma separated list of shortcuts below</span>
|
||||
<span class=na>rm,inst</span>
|
||||
<span class=c1># Write a comma separated list of shortcut mappings from the manager below</span>
|
||||
<span class=na>remove,install</span>
|
||||
|
||||
</code></pre></div><p>This file is read by pak to tell it what to do. The comments above each keyword
|
||||
explain what it’s for.</p><p>Here is a list of all the fields and their uses:</p><ol><li>Command to invoke the package manager.</li><li>Comma-separated list of commands supported by the package manager.</li><li>Whether or not to invoke the root command.</li><li>Command to use for root invocation (<code>sudo</code>, <code>doas</code>, etc.)</li><li>Comma-separated list of shortcuts for pak to accept</li><li>Comma-separated list of shortcut mappings (what each shortcut sends to the
|
||||
package manager). These do not necessarily need to be in the commands list.</li></ol><p>Once you have made the config, just place it at <code>/etc/pak.cfg</code> and pak will
|
||||
automatically use it.</p></main></div></div></div><script src=/main.f6b484f556ad1f3bcf6061082139a2f21fa759f13930c39a25fe4a9f78f35e64122c2d86dffd56e67b292dabbda4095d8077194f196e0e348441c106a9f3d40e.js integrity="sha512-9rSE9VatHzvPYGEIITmi8h+nWfE5MMOaJf5Kn3jzXmQSLC2G3/1W5nspLau9pAldgHcZTxluDjSEQcEGqfPUDg==" crossorigin=anonymous defer></script><script src=/index.min.9cdd9b109f38962a87d37988a029187e94afa0a8cfd065a128ca9a3d3fff9550b5d90c1ff03fc65f1fa346b6c43c29c1ccbb7e4bb0a2f4be5619da0b1085c564.js integrity="sha512-nN2bEJ84liqH03mIoCkYfpSvoKjP0GWhKMqaPT//lVC12Qwf8D/GXx+jRrbEPCnBzLt+S7Ci9L5WGdoLEIXFZA==" crossorigin=anonymous defer></script></body></html>
|
@ -1,4 +0,0 @@
|
||||
<!doctype html><html lang=en-us><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><script src=https://code.iconify.design/1/1.0.7/iconify.min.js></script><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-regular.woff2 type=font/woff2 crossorigin><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-700.woff2 type=font/woff2 crossorigin><link rel=stylesheet href=/main.7eddbef50c63a34a7ce8d3d4323fd9d90d4a1ed40f1dac16e7f06f603627c8fcb7a465d753bb51709c98661474547c7972beae0a5876e777466d416c709dea36.css integrity="sha512-ft2+9Qxjo0p86NPUMj/Z2Q1KHtQPHawW5/BvYDYnyPy3pGXXU7tRcJyYZhR0VHx5cr6uClh253dGbUFscJ3qNg==" crossorigin=anonymous><noscript><style>img.lazyload{display:none}</style></noscript><meta name=robots content="index, follow"><meta name=googlebot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><meta name=bingbot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><title>Pak Docs | Arsen Dev</title><meta name=description content="Documentation for the Pak package manager wrapper"><link rel=canonical href=/docs/pak/><meta name=twitter:card content="summary"><meta name=twitter:title content="Pak Docs"><meta name=twitter:description content="Documentation for the Pak package manager wrapper"><meta name=twitter:site content="@"><meta name=twitter:creator content="@"><meta property="og:title" content="Pak Docs"><meta property="og:description" content="Documentation for the Pak package manager wrapper"><meta property="og:type" content="website"><meta property="og:url" content="/docs/pak/"><meta property="og:site_name" content="Arsen Dev"><meta property="article:publisher" content="https://www.facebook.com/"><meta property="article:author" content="https://www.facebook.com/"><meta property="og:locale" content><link rel=alternate type=application/rss+xml href=/docs/pak/index.xml><link rel=sitemap type=application/xml href=/docs/pak/sitemap.xml><script type=application/ld+json>{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"\/"},{"@type":"ListItem","position":2,"name":"Docspak","item":"\/docspak\/"}]}</script><meta name=theme-color content="#fff"><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest></head><body class="docs list"><div class="header-bar fixed-top"></div><header class="navbar fixed-top navbar-expand-md navbar-light"><div class=container><input class="menu-btn order-0" type=checkbox id=menu-btn>
|
||||
<label class="menu-icon d-md-none" for=menu-btn><span class=navicon></span></label><a class="navbar-brand order-1 order-md-0 mr-auto" href=/>Arsen Dev</a>
|
||||
<button id=mode class="btn btn-link order-2 order-md-4" type=button aria-label="Toggle mode">
|
||||
<span class=toggle-dark><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg></span><span class=toggle-light><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></span></button><ul class="navbar-nav social-nav order-3 order-md-5"><li class=nav-item><a class=nav-link href=https://gitea.arsenm.dev/Arsen6331><span class=iconify data-icon=cib:gitea data-inline=false></span><span class="ml-2 sr-only">Gitea</span></a></li><li class=nav-item><a class=nav-link href=https://gitlab.com/moussaelianarsen><span class=iconify data-icon=fa-brands:gitlab data-inline=false></span><span class="ml-2 sr-only">GitLab</span></a></li></ul><div class="collapse navbar-collapse order-4 order-md-1"><ul class="navbar-nav main-nav mr-auto order-5 order-md-2"><li class=nav-item><a class=nav-link href=/>Home</a></li><li class="nav-item active"><a class=nav-link href=/docs/>Docs</a></li></ul><div class="break order-6 d-md-none"></div><form class="navbar-form flex-grow-1 order-7 order-md-3"><input id=userinput class="form-control is-search" type=search placeholder="Search docs..." aria-label="Search docs..." autocomplete=off><div id=suggestions class="shadow bg-white rounded"></div></form></div></div></header><div class="wrap container" role=document><div class=content><div class="row justify-content-center"><div class="col-md-12 col-lg-10 col-xl-8"><article><a href=..><p class=text-center>⇐ Docs</p></a><h1 style=margin:0 class=text-center>Pak Docs</h1><div class=text-center></div><div class=card-list><div class="card my-3"><div class=card-body><a class=stretched-link href=/docs/pak/configuration/>Configuration ⇒</a></div></div><div class="card my-3"><div class=card-body><a class=stretched-link href=/docs/pak/installation/>Installation ⇒</a></div></div><div class="card my-3"><div class=card-body><a class=stretched-link href=/docs/pak/usage/>Usage ⇒</a></div></div></div></article></div></div></div></div><script src=/main.f6b484f556ad1f3bcf6061082139a2f21fa759f13930c39a25fe4a9f78f35e64122c2d86dffd56e67b292dabbda4095d8077194f196e0e348441c106a9f3d40e.js integrity="sha512-9rSE9VatHzvPYGEIITmi8h+nWfE5MMOaJf5Kn3jzXmQSLC2G3/1W5nspLau9pAldgHcZTxluDjSEQcEGqfPUDg==" crossorigin=anonymous defer></script><script src=/index.min.9cdd9b109f38962a87d37988a029187e94afa0a8cfd065a128ca9a3d3fff9550b5d90c1ff03fc65f1fa346b6c43c29c1ccbb7e4bb0a2f4be5619da0b1085c564.js integrity="sha512-nN2bEJ84liqH03mIoCkYfpSvoKjP0GWhKMqaPT//lVC12Qwf8D/GXx+jRrbEPCnBzLt+S7Ci9L5WGdoLEIXFZA==" crossorigin=anonymous defer></script></body></html>
|
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Pak Docs on</title><link>/docs/pak/</link><description>Recent content in Pak Docs on</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><atom:link href="/docs/pak/index.xml" rel="self" type="application/rss+xml"/><item><title>Configuration</title><link>/docs/pak/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/pak/configuration/</guid><description>Config file Pak uses a custom config file at /etc/pak.cfg. For example, this is what the apt config looks like:
|
||||
# Write the name of the package manager in all lowercase below apt # Write a comma separated list of commands from the manager below install,remove,update,upgrade,search,download # Write &#34;yes&#34; or &#34;no&#34; depending on whether you want to use root yes # Write command to use for root sudo # Write a comma separated list of shortcuts below rm,inst # Write a comma separated list of shortcut mappings from the manager below remove,install This file is read by pak to tell it what to do.</description></item><item><title>Installation</title><link>/docs/pak/installation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/pak/installation/</guid><description>Using precompiled binary Pak uses continuous integration to compile. You can find the binary by clicking the download badge above.
|
||||
Using the AUR If you are running an arch-based linux distro, you can use the Arch User Repository to install pak. First, make sure the yay AUR helper is installed, then run the following:
|
||||
yay -S pak Building from source Downloading Pak is hosted on my Gitea instance. If that is down, it is also mirrored on Gitlab.</description></item><item><title>Usage</title><link>/docs/pak/usage/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/pak/usage/</guid><description>Using pak is simple, just run pak and one of the commands from the config file. Pak understands partial commands, so these commands will be identical:
|
||||
pak in &lt;package&gt; OR pak inst &lt;package&gt; OR pak install &lt;package&gt; The lack of sudo is intentional. Pak will not allow running from root by default as it already invokes root internally. To bypass this, simply give pak the -r flag.
|
||||
Using shortcuts in pak is just as simple as commands, just run pak and a shortcut, like this:</description></item></channel></rss>
|
@ -1,20 +0,0 @@
|
||||
<!doctype html><html lang=en-us><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><script src=https://code.iconify.design/1/1.0.7/iconify.min.js></script><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-regular.woff2 type=font/woff2 crossorigin><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-700.woff2 type=font/woff2 crossorigin><link rel=stylesheet href=/main.7eddbef50c63a34a7ce8d3d4323fd9d90d4a1ed40f1dac16e7f06f603627c8fcb7a465d753bb51709c98661474547c7972beae0a5876e777466d416c709dea36.css integrity="sha512-ft2+9Qxjo0p86NPUMj/Z2Q1KHtQPHawW5/BvYDYnyPy3pGXXU7tRcJyYZhR0VHx5cr6uClh253dGbUFscJ3qNg==" crossorigin=anonymous><noscript><style>img.lazyload{display:none}</style></noscript><meta name=robots content="index, follow"><meta name=googlebot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><meta name=bingbot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><title>Installation | Arsen Dev</title><meta name=description content="Installing pak"><link rel=canonical href=/docs/pak/installation/><meta name=twitter:card content="summary"><meta name=twitter:title content="Installation"><meta name=twitter:description content="Installing pak"><meta name=twitter:site content="@"><meta name=twitter:creator content="@"><meta property="og:title" content="Installation"><meta property="og:description" content="Installing pak"><meta property="og:type" content="article"><meta property="og:url" content="/docs/pak/installation/"><meta property="og:site_name" content="Arsen Dev"><meta property="article:publisher" content="https://www.facebook.com/"><meta property="article:author" content="https://www.facebook.com/"><meta property="og:locale" content><script type=application/ld+json>{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"\/"},{"@type":"ListItem","position":2,"name":"Docspakinstallation","item":"\/docspakinstallation\/"}]}</script><meta name=theme-color content="#fff"><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest></head><body class="docs single"><div class="header-bar fixed-top"></div><header class="navbar fixed-top navbar-expand-md navbar-light"><div class=container><input class="menu-btn order-0" type=checkbox id=menu-btn>
|
||||
<label class="menu-icon d-md-none" for=menu-btn><span class=navicon></span></label><a class="navbar-brand order-1 order-md-0 mr-auto" href=/>Arsen Dev</a>
|
||||
<button id=mode class="btn btn-link order-2 order-md-4" type=button aria-label="Toggle mode">
|
||||
<span class=toggle-dark><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg></span><span class=toggle-light><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></span></button><ul class="navbar-nav social-nav order-3 order-md-5"><li class=nav-item><a class=nav-link href=https://gitea.arsenm.dev/Arsen6331><span class=iconify data-icon=cib:gitea data-inline=false></span><span class="ml-2 sr-only">Gitea</span></a></li><li class=nav-item><a class=nav-link href=https://gitlab.com/moussaelianarsen><span class=iconify data-icon=fa-brands:gitlab data-inline=false></span><span class="ml-2 sr-only">GitLab</span></a></li></ul><div class="collapse navbar-collapse order-4 order-md-1"><ul class="navbar-nav main-nav mr-auto order-5 order-md-2"><li class=nav-item><a class=nav-link href=/>Home</a></li><li class="nav-item active"><a class=nav-link href=/docs/>Docs</a></li></ul><div class="break order-6 d-md-none"></div><form class="navbar-form flex-grow-1 order-7 order-md-3"><input id=userinput class="form-control is-search" type=search placeholder="Search docs..." aria-label="Search docs..." autocomplete=off><div id=suggestions class="shadow bg-white rounded"></div></form></div></div></header><div class="wrap container" role=document><div class=content><div class="row flex-xl-nowrap"><div class="col-lg-5 col-xl-4 docs-sidebar"><nav class=docs-links aria-label="Main navigation"><h3>Docs</h3><ul class=list-unstyled><li><a class=docs-link href=/docs/advmake/>AdvMake Docs</a></li><li><a class=docs-link href=/docs/opensend/>OpenSend Docs</a></li><li><a class=docs-link href=/docs/pak/>Pak Docs</a></li></ul></nav></div><nav class="docs-toc d-none d-xl-block col-xl-3" aria-label="Secondary navigation"><div class=page-links><h3>On this page</h3><nav id=TableOfContents><ul><li><a href=#using-precompiled-binary>Using precompiled binary</a></li><li><a href=#using-the-aur>Using the AUR</a></li><li><a href=#building-from-source>Building from source</a><ul><li><a href=#downloading>Downloading</a></li><li><a href=#building>Building</a></li><li><a href=#installing>Installing</a></li></ul></li></ul></nav></div></nav><main class="docs-content col-lg-11 col-xl-9 mx-xl-auto"><a href=..>⇐ Pak Docs</a><h1 style=margin-top:.2rem>Installation</h1><p class=lead></p><p><a style=margin-left:1px;margin-right:1px;display:inline-block href=https://ci.appveyor.com/project/moussaelianarsen/pak><img style=height:18px;width:100px src="https://ci.appveyor.com/api/projects/status/e4yacqd78gkte8a0?svg=true"></a>
|
||||
<a style=margin-left:1px;margin-right:1px;display:inline-block href=https://minio.arsenm.dev/minio/pak><img style=height:18px;width:100px src="https://img.shields.io/static/v1.svg?label=download&message=binary&color=blue"></a></p><h2 id=using-precompiled-binary>Using precompiled binary<a href=#using-precompiled-binary class=anchor aria-hidden=true>#</a></h2><p>Pak uses continuous integration to compile. You can find the binary by clicking the download badge above.</p><h2 id=using-the-aur>Using the AUR<a href=#using-the-aur class=anchor aria-hidden=true>#</a></h2><p>If you are running an arch-based linux distro, you can use the Arch User Repository
|
||||
to install pak. First, make sure the <code>yay</code> AUR helper is installed, then run the following:</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>yay -S pak
|
||||
</code></pre></div><h2 id=building-from-source>Building from source<a href=#building-from-source class=anchor aria-hidden=true>#</a></h2><h3 id=downloading>Downloading<a href=#downloading class=anchor aria-hidden=true>#</a></h3><p>Pak is hosted on my Gitea instance. If that is down, it is also mirrored on Gitlab.</p><p><a class=btn style=color:#fff;background-color:green href=https://gitea.arsenm.dev/Arsen6331/pak><span class=iconify data-icon=cib:gitea></span> Pak</a>
|
||||
<a class=btn style=color:#fff;background-color:OrangeRed href=https://www.gitlab.com/moussaelianarsen/pak><span class=iconify data-icon=fa-brands:gitlab></span> Pak</a></p><p>To download pak, you can either use the download button on Gitea or Gitlab, or
|
||||
you can use the git CLI</p><p>To clone pak using the CLI, run one of the following commands:</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>git clone https://gitea.arsenm.dev/Arsen6331/pak
|
||||
OR
|
||||
git clone https://gitlab.com/moussaelianarsen/pak
|
||||
</code></pre></div><h3 id=building>Building<a href=#building class=anchor aria-hidden=true>#</a></h3><p>Pak is written in Go. This means go must be installed on your computer. Most
|
||||
linux distros call the package that provides it either <code>go</code> or <code>golang</code>.</p><p>Once go is installed, you can check that it runs by running</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>go version
|
||||
</code></pre></div><p>To compile pak, run</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>make
|
||||
</code></pre></div><p>Then, you will need to figure out which package manager you have. Here is a list
|
||||
of package managers with ready to use configs:</p><ul><li>apt</li><li>aptitude</li><li>brew</li><li>yay (with wrapper)</li><li>pacman (with wrapper)</li><li>zypper</li><li>snap</li></ul><p>If your package manager is not in the list, you can make a config for it. Go to
|
||||
the Configuration page for more information.</p><h3 id=installing>Installing<a href=#installing class=anchor aria-hidden=true>#</a></h3><p>If your package manager is in the list, use one of these:</p><ul><li>apt: <code>sudo make aptinstall</code></li><li>aptitude: <code>sudo make aptitude</code></li><li>brew: <code>sudo make brewinstall</code></li><li>yay: <code>sudo make yayinstall</code></li><li>pacman: <code>sudo make pacinstall</code></li><li>zypper: <code>sudo make zyppinstall</code></li><li>snap: <code>sudo make snapinstall</code></li><li>custom: <code>sudo make installbinonly</code></li></ul><p>Once the command completes, unless you’re using a custom config, pak should be ready
|
||||
and you can run the following to make sure it works:</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>pak
|
||||
</code></pre></div><p>Go to the Configuration page for instructions on making a custom config, you <strong>must</strong>
|
||||
have a config for pak to function.</p></main></div></div></div><script src=/main.f6b484f556ad1f3bcf6061082139a2f21fa759f13930c39a25fe4a9f78f35e64122c2d86dffd56e67b292dabbda4095d8077194f196e0e348441c106a9f3d40e.js integrity="sha512-9rSE9VatHzvPYGEIITmi8h+nWfE5MMOaJf5Kn3jzXmQSLC2G3/1W5nspLau9pAldgHcZTxluDjSEQcEGqfPUDg==" crossorigin=anonymous defer></script><script src=/index.min.9cdd9b109f38962a87d37988a029187e94afa0a8cfd065a128ca9a3d3fff9550b5d90c1ff03fc65f1fa346b6c43c29c1ccbb7e4bb0a2f4be5619da0b1085c564.js integrity="sha512-nN2bEJ84liqH03mIoCkYfpSvoKjP0GWhKMqaPT//lVC12Qwf8D/GXx+jRrbEPCnBzLt+S7Ci9L5WGdoLEIXFZA==" crossorigin=anonymous defer></script></body></html>
|
@ -1 +0,0 @@
|
||||
<!doctype html><html><head><title>/docs/pak/</title><link rel=canonical href=/docs/pak/><meta name=robots content="noindex"><meta charset=utf-8><meta http-equiv=refresh content="0; url=/docs/pak/"></head></html>
|
@ -1 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>/docs/pak/configuration/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/pak/installation/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/pak/usage/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url></urlset>
|
@ -1,14 +0,0 @@
|
||||
<!doctype html><html lang=en-us><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><script src=https://code.iconify.design/1/1.0.7/iconify.min.js></script><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-regular.woff2 type=font/woff2 crossorigin><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-700.woff2 type=font/woff2 crossorigin><link rel=stylesheet href=/main.7eddbef50c63a34a7ce8d3d4323fd9d90d4a1ed40f1dac16e7f06f603627c8fcb7a465d753bb51709c98661474547c7972beae0a5876e777466d416c709dea36.css integrity="sha512-ft2+9Qxjo0p86NPUMj/Z2Q1KHtQPHawW5/BvYDYnyPy3pGXXU7tRcJyYZhR0VHx5cr6uClh253dGbUFscJ3qNg==" crossorigin=anonymous><noscript><style>img.lazyload{display:none}</style></noscript><meta name=robots content="index, follow"><meta name=googlebot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><meta name=bingbot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><title>Usage | Arsen Dev</title><meta name=description content="Using pak"><link rel=canonical href=/docs/pak/usage/><meta name=twitter:card content="summary"><meta name=twitter:title content="Usage"><meta name=twitter:description content="Using pak"><meta name=twitter:site content="@"><meta name=twitter:creator content="@"><meta property="og:title" content="Usage"><meta property="og:description" content="Using pak"><meta property="og:type" content="article"><meta property="og:url" content="/docs/pak/usage/"><meta property="og:site_name" content="Arsen Dev"><meta property="article:publisher" content="https://www.facebook.com/"><meta property="article:author" content="https://www.facebook.com/"><meta property="og:locale" content><script type=application/ld+json>{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"\/"},{"@type":"ListItem","position":2,"name":"Docspakusage","item":"\/docspakusage\/"}]}</script><meta name=theme-color content="#fff"><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest></head><body class="docs single"><div class="header-bar fixed-top"></div><header class="navbar fixed-top navbar-expand-md navbar-light"><div class=container><input class="menu-btn order-0" type=checkbox id=menu-btn>
|
||||
<label class="menu-icon d-md-none" for=menu-btn><span class=navicon></span></label><a class="navbar-brand order-1 order-md-0 mr-auto" href=/>Arsen Dev</a>
|
||||
<button id=mode class="btn btn-link order-2 order-md-4" type=button aria-label="Toggle mode">
|
||||
<span class=toggle-dark><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg></span><span class=toggle-light><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></span></button><ul class="navbar-nav social-nav order-3 order-md-5"><li class=nav-item><a class=nav-link href=https://gitea.arsenm.dev/Arsen6331><span class=iconify data-icon=cib:gitea data-inline=false></span><span class="ml-2 sr-only">Gitea</span></a></li><li class=nav-item><a class=nav-link href=https://gitlab.com/moussaelianarsen><span class=iconify data-icon=fa-brands:gitlab data-inline=false></span><span class="ml-2 sr-only">GitLab</span></a></li></ul><div class="collapse navbar-collapse order-4 order-md-1"><ul class="navbar-nav main-nav mr-auto order-5 order-md-2"><li class=nav-item><a class=nav-link href=/>Home</a></li><li class="nav-item active"><a class=nav-link href=/docs/>Docs</a></li></ul><div class="break order-6 d-md-none"></div><form class="navbar-form flex-grow-1 order-7 order-md-3"><input id=userinput class="form-control is-search" type=search placeholder="Search docs..." aria-label="Search docs..." autocomplete=off><div id=suggestions class="shadow bg-white rounded"></div></form></div></div></header><div class="wrap container" role=document><div class=content><div class="row flex-xl-nowrap"><div class="col-lg-5 col-xl-4 docs-sidebar"><nav class=docs-links aria-label="Main navigation"><h3>Docs</h3><ul class=list-unstyled><li><a class=docs-link href=/docs/advmake/>AdvMake Docs</a></li><li><a class=docs-link href=/docs/opensend/>OpenSend Docs</a></li><li><a class=docs-link href=/docs/pak/>Pak Docs</a></li></ul></nav></div><nav class="docs-toc d-none d-xl-block col-xl-3" aria-label="Secondary navigation"><div class=page-links><h3>On this page</h3><nav id=TableOfContents></nav></div></nav><main class="docs-content col-lg-11 col-xl-9 mx-xl-auto"><a href=..>⇐ Pak Docs</a><h1 style=margin-top:.2rem>Usage</h1><p class=lead></p><p><a style=margin-left:1px;margin-right:1px;display:inline-block href=https://ci.appveyor.com/project/moussaelianarsen/pak><img style=height:18px;width:100px src="https://ci.appveyor.com/api/projects/status/e4yacqd78gkte8a0?svg=true"></a>
|
||||
<a style=margin-left:1px;margin-right:1px;display:inline-block href=https://minio.arsenm.dev/minio/pak><img style=height:18px;width:100px src="https://img.shields.io/static/v1.svg?label=download&message=binary&color=blue"></a></p><p>Using pak is simple, just run <code>pak</code> and one of the commands from the config file.
|
||||
Pak understands partial commands, so these commands will be identical:</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>pak in <package>
|
||||
OR
|
||||
pak inst <package>
|
||||
OR
|
||||
pak install <package>
|
||||
</code></pre></div><p>The lack of <code>sudo</code> is intentional. Pak will not allow running from root by default
|
||||
as it already invokes root internally. To bypass this, simply give pak the <code>-r</code> flag.</p><p>Using shortcuts in pak is just as simple as commands, just run <code>pak</code> and a shortcut,
|
||||
like this:</p><div class=highlight><pre class=chroma><code class=language-bash data-lang=bash>pak rm <package>
|
||||
</code></pre></div></main></div></div></div><script src=/main.f6b484f556ad1f3bcf6061082139a2f21fa759f13930c39a25fe4a9f78f35e64122c2d86dffd56e67b292dabbda4095d8077194f196e0e348441c106a9f3d40e.js integrity="sha512-9rSE9VatHzvPYGEIITmi8h+nWfE5MMOaJf5Kn3jzXmQSLC2G3/1W5nspLau9pAldgHcZTxluDjSEQcEGqfPUDg==" crossorigin=anonymous defer></script><script src=/index.min.9cdd9b109f38962a87d37988a029187e94afa0a8cfd065a128ca9a3d3fff9550b5d90c1ff03fc65f1fa346b6c43c29c1ccbb7e4bb0a2f4be5619da0b1085c564.js integrity="sha512-nN2bEJ84liqH03mIoCkYfpSvoKjP0GWhKMqaPT//lVC12Qwf8D/GXx+jRrbEPCnBzLt+S7Ci9L5WGdoLEIXFZA==" crossorigin=anonymous defer></script></body></html>
|
@ -1 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>/docs/advmake/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/opensend/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/pak/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/advmake/build-files/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/advmake/installation/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/opensend/gui/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/opensend/installation/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/opensend/usage/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/pak/configuration/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/pak/installation/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/pak/usage/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url></urlset>
|
BIN
public/doks.png
Before Width: | Height: | Size: 8.0 KiB |
@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#E1E8ED" d="M32.415 9.586l-9-9C23.054.225 22.553 0 22 0c-1.104 0-1.999.896-2 2 0 .552.224 1.053.586 1.415l-3.859 3.859 9 9 3.859-3.859c.362.361.862.585 1.414.585 1.104 0 2.001-.896 2-2 0-.552-.224-1.052-.585-1.414z"/><path fill="#CCD6DD" d="M22 0H7C4.791 0 3 1.791 3 4v28c0 2.209 1.791 4 4 4h22c2.209 0 4-1.791 4-4V11h-9c-1 0-2-1-2-2V0z"/><path fill="#99AAB5" d="M22 0h-2v9c0 2.209 1.791 4 4 4h9v-2h-9c-1 0-2-1-2-2V0zm-5 8c0 .552-.448 1-1 1H8c-.552 0-1-.448-1-1s.448-1 1-1h8c.552 0 1 .448 1 1zm0 4c0 .552-.448 1-1 1H8c-.552 0-1-.448-1-1s.448-1 1-1h8c.552 0 1 .448 1 1zm12 4c0 .552-.447 1-1 1H8c-.552 0-1-.448-1-1s.448-1 1-1h20c.553 0 1 .448 1 1zm0 4c0 .553-.447 1-1 1H8c-.552 0-1-.447-1-1 0-.553.448-1 1-1h20c.553 0 1 .447 1 1zm0 4c0 .553-.447 1-1 1H8c-.552 0-1-.447-1-1 0-.553.448-1 1-1h20c.553 0 1 .447 1 1zm0 4c0 .553-.447 1-1 1H8c-.552 0-1-.447-1-1 0-.553.448-1 1-1h20c.553 0 1 .447 1 1z"/></svg>
|
Before Width: | Height: | Size: 972 B |
Before Width: | Height: | Size: 416 B |
Before Width: | Height: | Size: 773 B |
Before Width: | Height: | Size: 15 KiB |
0
public/fonts/vendor/.gitkeep
vendored
BIN
public/fonts/vendor/jost/jost-v4-latin-500.woff
vendored
BIN
public/fonts/vendor/jost/jost-v4-latin-500.woff2
vendored
BIN
public/fonts/vendor/jost/jost-v4-latin-700.woff
vendored
BIN
public/fonts/vendor/jost/jost-v4-latin-700.woff2
vendored
BIN
public/fonts/vendor/jost/jost-v4-latin-italic.woff
vendored
BIN
public/fonts/vendor/jost/jost-v4-latin-italic.woff2
vendored
BIN
public/fonts/vendor/jost/jost-v4-latin-regular.woff
vendored
BIN
public/fonts/vendor/jost/jost-v4-latin-regular.woff2
vendored
0
public/images/vendor/.gitkeep
vendored
@ -1,7 +0,0 @@
|
||||
<!doctype html><html lang=en-us><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><script src=https://code.iconify.design/1/1.0.7/iconify.min.js></script><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-regular.woff2 type=font/woff2 crossorigin><link rel=preload as=font href=/fonts/vendor/jost/jost-v4-latin-700.woff2 type=font/woff2 crossorigin><link rel=stylesheet href=/main.7eddbef50c63a34a7ce8d3d4323fd9d90d4a1ed40f1dac16e7f06f603627c8fcb7a465d753bb51709c98661474547c7972beae0a5876e777466d416c709dea36.css integrity="sha512-ft2+9Qxjo0p86NPUMj/Z2Q1KHtQPHawW5/BvYDYnyPy3pGXXU7tRcJyYZhR0VHx5cr6uClh253dGbUFscJ3qNg==" crossorigin=anonymous><noscript><style>img.lazyload{display:none}</style></noscript><meta name=robots content="index, follow"><meta name=googlebot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><meta name=bingbot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><title>Arsen Dev | Home</title><meta name=description content="Doks is a Hugo theme helping you build modern docu`tation websites that are secure, fast, and SEO-ready — by default."><link rel=canonical href=/><meta name=twitter:card content="summary"><meta name=twitter:title content="Home"><meta name=twitter:description content="Doks is a Hugo theme helping you build modern docu`tation websites that are secure, fast, and SEO-ready — by default."><meta name=twitter:site content="@"><meta name=twitter:creator content="@"><meta property="og:title" content="Home"><meta property="og:description" content="Doks is a Hugo theme helping you build modern docu`tation websites that are secure, fast, and SEO-ready — by default."><meta property="og:type" content="website"><meta property="og:url" content="/"><meta property="og:site_name" content="Arsen Dev"><meta property="article:publisher" content="https://www.facebook.com/"><meta property="article:author" content="https://www.facebook.com/"><meta property="og:locale" content><link rel=alternate type=application/rss+xml href=/index.xml><script type=application/ld+json>{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"\/"}]}</script><meta name=theme-color content="#fff"><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest></head><body class=home><div class="header-bar fixed-top"></div><header class="navbar fixed-top navbar-expand-md navbar-light"><div class=container><input class="menu-btn order-0" type=checkbox id=menu-btn>
|
||||
<label class="menu-icon d-md-none" for=menu-btn><span class=navicon></span></label><a class="navbar-brand order-1 order-md-0 mr-auto" href=/>Arsen Dev</a>
|
||||
<button id=mode class="btn btn-link order-2 order-md-4" type=button aria-label="Toggle mode">
|
||||
<span class=toggle-dark><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg></span><span class=toggle-light><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></span></button><ul class="navbar-nav social-nav order-3 order-md-5"><li class=nav-item><a class=nav-link href=https://gitea.arsenm.dev/Arsen6331><span class=iconify data-icon=cib:gitea data-inline=false></span><span class="ml-2 sr-only">Gitea</span></a></li><li class=nav-item><a class=nav-link href=https://gitlab.com/moussaelianarsen><span class=iconify data-icon=fa-brands:gitlab data-inline=false></span><span class="ml-2 sr-only">GitLab</span></a></li></ul><div class="collapse navbar-collapse order-4 order-md-1"><ul class="navbar-nav main-nav mr-auto order-5 order-md-2"><li class="nav-item active"><a class=nav-link href=/>Home</a></li><li class=nav-item><a class=nav-link href=/docs/>Docs</a></li></ul><div class="break order-6 d-md-none"></div><form class="navbar-form flex-grow-1 order-7 order-md-3"><input id=userinput class="form-control is-search" type=search placeholder="Search docs..." aria-label="Search docs..." autocomplete=off><div id=suggestions class="shadow bg-white rounded"></div></form></div></div></header><div class="wrap container" role=document><div class=content><section class="section container-fluid mt-n3 pb-3"><div class="row justify-content-center"><div class="col-lg-12 text-center"><h1 class=mt-0>Home</h1></div><div class="col-lg-9 col-xl-8 text-center"><p class=lead></p></div></div></section></div></div><section class="section section-sm container-fluid"><div class="row justify-content-center text-center"><div class=col-lg-9><h3 id=my-projects>My Projects</h3><hr><ul><li>Pak: A cross-platform wrapper written in go designed to unify package managers. It uses TOML configs to define package managers. Options include commands, shortcuts, root user invocation, root user invocation command, and package manager command.</li></ul><p><a class=btn style=color:#fff;background-color:green href=https://gitea.arsenm.dev/Arsen6331/pak><span class=iconify data-icon=cib:gitea></span> Pak</a>
|
||||
<a class=btn style=color:#fff;background-color:OrangeRed href=https://www.gitlab.com/moussaelianarsen/pak><span class=iconify data-icon=fa-brands:gitlab></span> Pak</a></p><ul><li>Opensend: A program made to share files and websites between computers securely and reliably, written in go, using zeroconf for discovery, AES and RSA for encryption, and Tar + Zstandard for compression.</li></ul><p><a class=btn style=color:#fff;background-color:green href=https://gitea.arsenm.dev/opensend/opensend><span class=iconify data-icon=cib:gitea></span> Opensend</a>
|
||||
<a class=btn style=color:#fff;background-color:OrangeRed href=https://www.gitlab.com/moussaelianarsen/opensend><span class=iconify data-icon=fa-brands:gitlab></span> Opensend</a></p><ul><li>Statusboard: A full-stack web application that tracks website status written in Swift, Swift Crypto, and the Vapor stack. It uses a tabler web UI for the dashboard, a JSON config to define servers to track, and an SQLite database to keep track of log-ins and show private servers. My instance can be found <a href=https://status.arsenm.dev>here</a></li></ul><p><a class=btn style=color:#fff;background-color:green href=https://gitea.arsenm.dev/Arsen6331/statusboard><span class=iconify data-icon=cib:gitea></span> Statusboard</a>
|
||||
<a class=btn style=color:#fff;background-color:OrangeRed href=https://www.gitlab.com/moussaelianarsen/statusboard><span class=iconify data-icon=fa-brands:gitlab></span> Statusboard</a></p><ul><li>Chromebook Linux Audio: A collection of bash scripts to compile and install the required kernel and audio server to enable audio and other chromebook features in a mainline linux distro.</li></ul><a class=btn style=color:#fff;background-color:OrangeRed href=https://www.gitlab.com/moussaelianarsen/chromebook-linux-audio><span class=iconify data-icon=fa-brands:gitlab></span> Chromebook Linux Audio</a></div></div></section><br><script src=/main.f6b484f556ad1f3bcf6061082139a2f21fa759f13930c39a25fe4a9f78f35e64122c2d86dffd56e67b292dabbda4095d8077194f196e0e348441c106a9f3d40e.js integrity="sha512-9rSE9VatHzvPYGEIITmi8h+nWfE5MMOaJf5Kn3jzXmQSLC2G3/1W5nspLau9pAldgHcZTxluDjSEQcEGqfPUDg==" crossorigin=anonymous defer></script><script src=/index.min.9cdd9b109f38962a87d37988a029187e94afa0a8cfd065a128ca9a3d3fff9550b5d90c1ff03fc65f1fa346b6c43c29c1ccbb7e4bb0a2f4be5619da0b1085c564.js integrity="sha512-nN2bEJ84liqH03mIoCkYfpSvoKjP0GWhKMqaPT//lVC12Qwf8D/GXx+jRrbEPCnBzLt+S7Ci9L5WGdoLEIXFZA==" crossorigin=anonymous defer></script></body></html>
|
@ -1 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Home on</title><link>/</link><description>Recent content in Home on</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><atom:link href="/index.xml" rel="self" type="application/rss+xml"/><item><title>Docs</title><link>/docs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/</guid><description/></item></channel></rss>
|
0
public/js/vendor/.gitkeep
vendored
Before Width: | Height: | Size: 20 KiB |
@ -1,4 +0,0 @@
|
||||
User-agent: *
|
||||
Allow: /
|
||||
|
||||
Sitemap: /sitemap.xml
|
@ -1 +0,0 @@
|
||||
{"name":"Doks Theme","short_name":"Doks","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#fff","background_color":"#fff","display":"standalone"}
|
@ -1 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>/docs/advmake/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/advmake/build-files/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/pak/configuration/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/contributors/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/opensend/gui/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/advmake/installation/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/opensend/installation/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/pak/installation/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/opensend/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/pak/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/opensend/usage/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>/docs/pak/usage/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url></urlset>
|
@ -0,0 +1 @@
|
||||
{"Target":"main.css","MediaType":"text/css","Data":{}}
|
@ -1 +0,0 @@
|
||||
{"Target":"main.7eddbef50c63a34a7ce8d3d4323fd9d90d4a1ed40f1dac16e7f06f603627c8fcb7a465d753bb51709c98661474547c7972beae0a5876e777466d416c709dea36.css","MediaType":"text/css","Data":{"Integrity":"sha512-ft2+9Qxjo0p86NPUMj/Z2Q1KHtQPHawW5/BvYDYnyPy3pGXXU7tRcJyYZhR0VHx5cr6uClh253dGbUFscJ3qNg=="}}
|
1
static/css/highlightjs/dracula.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
.hljs{display:block;overflow-x:auto;padding:.5em;background:#282a36}.hljs-keyword,.hljs-link,.hljs-literal,.hljs-section,.hljs-selector-tag{color:#8be9fd}.hljs-function .hljs-keyword{color:#ff79c6}.hljs,.hljs-subst{color:#f8f8f2}.hljs-addition,.hljs-attribute,.hljs-bullet,.hljs-name,.hljs-string,.hljs-symbol,.hljs-template-tag,.hljs-template-variable,.hljs-title,.hljs-type,.hljs-variable{color:#f1fa8c}.hljs-comment,.hljs-deletion,.hljs-meta,.hljs-quote{color:#6272a4}.hljs-doctag,.hljs-keyword,.hljs-literal,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-strong,.hljs-title,.hljs-type{font-weight:700}.hljs-emphasis{font-style:italic}
|