init repo
This commit is contained in:
commit
e191afbf1f
|
@ -0,0 +1,2 @@
|
||||||
|
public
|
||||||
|
.DS_Store
|
|
@ -0,0 +1,18 @@
|
||||||
|
# The URL the site will be built for
|
||||||
|
base_url = "https://bshchk.blek.codes"
|
||||||
|
|
||||||
|
# Whether to automatically compile all Sass files in the sass directory
|
||||||
|
compile_sass = true
|
||||||
|
|
||||||
|
# Whether to build a search index to be used later on by a JavaScript library
|
||||||
|
build_search_index = false
|
||||||
|
|
||||||
|
[markdown]
|
||||||
|
# Whether to do syntax highlighting
|
||||||
|
# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
|
||||||
|
highlight_code = true
|
||||||
|
|
||||||
|
minify_html = true
|
||||||
|
|
||||||
|
[extra]
|
||||||
|
# Put all your custom variables here
|
|
@ -0,0 +1,38 @@
|
||||||
|
+++
|
||||||
|
+++
|
||||||
|
|
||||||
|
## why?
|
||||||
|
lets take this script:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
rm -fr data.json
|
||||||
|
curl https://url.com/data.json -o data.json
|
||||||
|
```
|
||||||
|
|
||||||
|
the problem here is that `curl` might not be installed on second line, but the data is already deleted.
|
||||||
|
|
||||||
|
it will result in `data.json` being irreparably deleted and no way to reinstall it
|
||||||
|
|
||||||
|
## solution
|
||||||
|
you could write up something like this and put it in the start:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
if ! command -v curl; then
|
||||||
|
echo no curl!
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
```
|
||||||
|
|
||||||
|
but that's just not reliable and barely maintainable. so that's why i made this thing.
|
||||||
|
|
||||||
|
you can use it like this:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# program.sh
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
curl https://url.com
|
||||||
|
```
|
||||||
|
|
||||||
|
then compile it like that: `bshchk program.sh dist.sh`.
|
||||||
|
|
||||||
|
also you can read the script from stdin: `cat program.sh | bshchk - dist.sh`, or get the output to stdout: `bshchk program.sh > dist.sh`
|
|
@ -0,0 +1,55 @@
|
||||||
|
+++
|
||||||
|
+++
|
||||||
|
|
||||||
|
<div class='warn'>
|
||||||
|
<div class='icon'></div>
|
||||||
|
<p>
|
||||||
|
these instructions are suited for UNIX systems.<br/>
|
||||||
|
if you are on windows, idk good luck i guess
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
# getting started
|
||||||
|
## installation
|
||||||
|
there are a few ways:
|
||||||
|
|
||||||
|
1. manually, from a git repo
|
||||||
|
|
||||||
|
first, clone the damn thing: `git clone https://git.blek.codes/blek/bshchk.git`
|
||||||
|
|
||||||
|
then `cd` to that directory and compile it with `build.sh`. copy the binary to one of your `$PATH` directories
|
||||||
|
|
||||||
|
2. from a package manager
|
||||||
|
|
||||||
|
`bshchk` is not currently available on any package manager
|
||||||
|
|
||||||
|
## usage
|
||||||
|
`bshchk` supports the following comment tags:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# to add one or a bunch of CMDs to dependencies
|
||||||
|
#bshchk:add-cmd cmd1 cmd2
|
||||||
|
#bshchk:add-cmd cmd
|
||||||
|
|
||||||
|
# to exclude one or a bunch of CMDs from dependencies
|
||||||
|
#bshchk:ignore-cmd cmd1 cmd2
|
||||||
|
#bshchk:ignore-cmd cmd
|
||||||
|
```
|
||||||
|
|
||||||
|
also, `bshchk` requires for the script to have `#!/bin/bash` or `#!/usr/bin/env bash` as the first line.
|
||||||
|
|
||||||
|
if you really need, there is a CLI Option `--ignore-shebang` to ignore an invalid shebang, although it is not recommended.
|
||||||
|
|
||||||
|
## CLI options
|
||||||
|
|
||||||
|
### --yield-deps-only
|
||||||
|
will print the dependencies as a JSON array, like this: `["one", "two", "three"]`. would be useful when you want to handle the dependencies yourself
|
||||||
|
|
||||||
|
### --expose-deps
|
||||||
|
add this flag to add `deps` variable to your script with an array of dependencies
|
||||||
|
|
||||||
|
### --deps-var-name
|
||||||
|
change the `deps` variable name to your liking
|
||||||
|
|
||||||
|
### --ignore-shebang
|
||||||
|
(not recommended) if you want to use any other shebang than `#!/bin/bash` or `#!/usr/bin/env bash`
|
|
@ -0,0 +1,69 @@
|
||||||
|
html, body {
|
||||||
|
font-family: monospace;
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
background: #1b1b1b;
|
||||||
|
color: #e1ebe1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
margin-bottom: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
padding: 1em;
|
||||||
|
width: fit-content;
|
||||||
|
}
|
||||||
|
|
||||||
|
p code {
|
||||||
|
padding: 0.1em 0.4em;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre, p code {
|
||||||
|
border-radius: 0.3em;
|
||||||
|
border: 1px solid #3b404b;
|
||||||
|
}
|
||||||
|
p code {
|
||||||
|
border-color: #3b404b10;
|
||||||
|
border-radius: 0;
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
border-color: #c4bfb415;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pre.language-txt {
|
||||||
|
width: calc(100% - 2.3em);
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.warn {
|
||||||
|
border: 1px solid goldenrod;
|
||||||
|
border-radius: 0.5em;
|
||||||
|
padding: 1em;
|
||||||
|
width: fit-content;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-items: center;
|
||||||
|
align-items: center;
|
||||||
|
height: 100%;
|
||||||
|
.icon {
|
||||||
|
display: block;
|
||||||
|
content: '';
|
||||||
|
background-image: url('/warn.png');
|
||||||
|
width: 16px; height: 16px;
|
||||||
|
margin-right: 0.8em;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
padding: 0; margin: 0;
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
border-color: #885600;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
a {
|
||||||
|
color: #3391ff
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
After Width: | Height: | Size: 541 B |
|
@ -0,0 +1,19 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<meta charset="utf8">
|
||||||
|
<head>
|
||||||
|
<title>bshchk</title>
|
||||||
|
<link href="/style.css" rel="stylesheet">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<h1 style="margin-bottom:0;padding-bottom:0">bshchk</h1>
|
||||||
|
<p style="margin:0;padding:0;padding-bottom:1em;line-height:0">
|
||||||
|
<a href="/">home</a>
|
||||||
|
|
|
||||||
|
<a href="/manual">manual</a>
|
||||||
|
</p>
|
||||||
|
<p style="margin-top:0;padding-top:0">bshchk - a dependency checker for bash scripts</p>
|
||||||
|
{% block content %}{% endblock %}
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,7 @@
|
||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
{{ section.content | safe }}
|
||||||
|
|
||||||
|
{% endblock content %}
|
|
@ -0,0 +1,38 @@
|
||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
{% if page.toc %}
|
||||||
|
<h2>table of contents</h2>
|
||||||
|
<ul>
|
||||||
|
{% for h1 in page.toc %}
|
||||||
|
<li>
|
||||||
|
<a href="{{ h1.permalink | safe }}">{{ h1.title }}</a>
|
||||||
|
{% if h1.children %}
|
||||||
|
<ul>
|
||||||
|
{% for h2 in h1.children %}
|
||||||
|
<li>
|
||||||
|
<a href="{{ h2.permalink | safe }}">{{ h2.title }}</a>
|
||||||
|
{% if h2.children %}
|
||||||
|
<ul>
|
||||||
|
{% for h3 in h2.children %}
|
||||||
|
<li>
|
||||||
|
<a href="{{ h3.permalink | safe }}">{{ h3.title }}</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endif %}
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endif %}
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
<hr/>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{{ page.content | safe }}
|
||||||
|
|
||||||
|
{% endblock content %}
|
Loading…
Reference in New Issue