mirror of
https://git.sr.ht/~seirdy/seirdy.one
synced 2024-11-27 22:12:10 +00:00
Compare commits
5 commits
80a437171f
...
c0904f3b32
Author | SHA1 | Date | |
---|---|---|---|
|
c0904f3b32 | ||
|
cd8d0e88ae | ||
|
0480b60aad | ||
|
a2c919ca2e | ||
|
f99c153f72 |
14 changed files with 122 additions and 34 deletions
44
.achecker.yml
Normal file
44
.achecker.yml
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
# optional - Specify the rule archive
|
||||||
|
# i.e. For march rule archive use ruleArchive: 2017MayDeploy
|
||||||
|
# Default: latest
|
||||||
|
# Refer to README.md FAQ section below to get the rule archive ID.
|
||||||
|
ruleArchive: preview
|
||||||
|
|
||||||
|
# optional - Specify one or many policies to scan.
|
||||||
|
# i.e. For one policy use policies: IBM_Accessibility_2017_02
|
||||||
|
# i.e. Multiple policies: IBM_Accessibility_2017_02,IBM_Accessibility_BETA or refer to below as a list
|
||||||
|
# Default: null (all policies)
|
||||||
|
# Refer to README.md FAQ section below to get the policy ID.
|
||||||
|
policies:
|
||||||
|
- IBM_Accessibility
|
||||||
|
- WCAG_2_1
|
||||||
|
- WCAG_2_0
|
||||||
|
|
||||||
|
# optional - Specify one or many violation levels on which to fail the test
|
||||||
|
# i.e. If specified violation then the testcase will only fail if
|
||||||
|
# a violation is found during the scan.
|
||||||
|
# i.e. failLevels: violation
|
||||||
|
# i.e. failLevels: violation,potential violation or refer to below as a list
|
||||||
|
# Default: violation, potentialviolation
|
||||||
|
failLevels:
|
||||||
|
- violation
|
||||||
|
- recommendation
|
||||||
|
|
||||||
|
# optional - Specify one or many violation levels which should be reported
|
||||||
|
# i.e. If specified violation then in the report it would only contain
|
||||||
|
# results which are level of violation.
|
||||||
|
# i.e. reportLevels: violation
|
||||||
|
# i.e. reportLevels: violation,potentialviolation or refer to below as a list
|
||||||
|
# Default: violation, potentialviolation, recommendation, potentialrecommendation, manual
|
||||||
|
reportLevels:
|
||||||
|
- violation
|
||||||
|
- potentialviolation
|
||||||
|
- recommendation
|
||||||
|
- potentialrecommendation
|
||||||
|
- manual
|
||||||
|
# - pass
|
||||||
|
|
||||||
|
# Optional - In what format types the results should be output in (json, html)
|
||||||
|
# Default: json
|
||||||
|
outputFormat:
|
||||||
|
- json
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -13,3 +13,4 @@ public_*/
|
||||||
csv/webrings.csv
|
csv/webrings.csv
|
||||||
results/
|
results/
|
||||||
linter-configs/htmltest/
|
linter-configs/htmltest/
|
||||||
|
public.eac
|
||||||
|
|
9
Makefile
9
Makefile
|
@ -43,6 +43,15 @@ lint-css: $(CSS_DIR)/*.css
|
||||||
pnpm -s dlx stylelint --config linter-configs/stylelintrc.json --di --rd --rdd $(CSS_DIR)/*.css
|
pnpm -s dlx stylelint --config linter-configs/stylelintrc.json --di --rd --rdd $(CSS_DIR)/*.css
|
||||||
@#csslint --quiet $(CSS_DIR)
|
@#csslint --quiet $(CSS_DIR)
|
||||||
|
|
||||||
|
# IBM Equal Access Accessibility Checker can't handle content-visibility,
|
||||||
|
# so run it on a special version of the site without content-visibility.
|
||||||
|
.PHONY: equal-access
|
||||||
|
equal-access:
|
||||||
|
cp -r $(OUTPUT_DIR) $(OUTPUT_DIR).eac
|
||||||
|
find $(OUTPUT_DIR).eac -type f -name "*.html" | xargs -n1 sd 'content-visibility:auto;' ''
|
||||||
|
achecker $(OUTPUT_DIR).eac/
|
||||||
|
rm -rf $(OUTPUT_DIR).eac
|
||||||
|
|
||||||
.PHONY: validate-json
|
.PHONY: validate-json
|
||||||
validate-json:
|
validate-json:
|
||||||
jq -reM '""' $(OUTPUT_DIR)/manifest.min.*.webmanifest 1>/dev/null
|
jq -reM '""' $(OUTPUT_DIR)/manifest.min.*.webmanifest 1>/dev/null
|
||||||
|
|
|
@ -17,7 +17,7 @@ CPU_SLOWDOWN=2.8
|
||||||
LIGHTHOUSE_ARGS += --view --budget-path linter-configs/budget.json --output html --output json --output-file lighthouse-results --throttling.cpuSlowdownMultiplier=$(CPU_SLOWDOWN) --chrome-flags="$(CHROME_FLAGS)"
|
LIGHTHOUSE_ARGS += --view --budget-path linter-configs/budget.json --output html --output json --output-file lighthouse-results --throttling.cpuSlowdownMultiplier=$(CPU_SLOWDOWN) --chrome-flags="$(CHROME_FLAGS)"
|
||||||
|
|
||||||
hint-online:
|
hint-online:
|
||||||
hint --config linter-configs/hintrc -f codeframe $(URL)
|
hint --config linter-configs/hintrc $(URLS)
|
||||||
lighthouse:
|
lighthouse:
|
||||||
mkdir -p $(CHROME_PROFILE)
|
mkdir -p $(CHROME_PROFILE)
|
||||||
CHROME_PATH=$(CHROME_PATH) CHROME_PROFILE=$(CHROME_PROFILE) JS_FLAGS='' lighthouse $(URLS) $(LIGHTHOUSE_ARGS)
|
CHROME_PATH=$(CHROME_PATH) CHROME_PROFILE=$(CHROME_PROFILE) JS_FLAGS='' lighthouse $(URLS) $(LIGHTHOUSE_ARGS)
|
||||||
|
@ -30,11 +30,7 @@ axe:
|
||||||
axe $(URLS) --chrome-options $(CHROME_FLAGS_COMMA) --chromedriver-path=$(CHROMEDRIVER_PATH) --show-errors
|
axe $(URLS) --chrome-options $(CHROME_FLAGS_COMMA) --chromedriver-path=$(CHROMEDRIVER_PATH) --show-errors
|
||||||
axe-ff:
|
axe-ff:
|
||||||
PATH=scripts/bin:$(PATH) axe $(URLS) -b firefox --show-errors
|
PATH=scripts/bin:$(PATH) axe $(URLS) -b firefox --show-errors
|
||||||
equal-access:
|
.PHONY: axe axe-ff
|
||||||
@echo $(URLS) | tr ' ' '\n' >urls.txt
|
|
||||||
achecker --reportLevels violation,recommendation,potentialrecommendation urls.txt
|
|
||||||
rm urls.txt
|
|
||||||
.PHONY: axe axe-ff equal-access
|
|
||||||
|
|
||||||
.validate-feed-main:
|
.validate-feed-main:
|
||||||
scripts/bin/validate-feed $(HUGO_BASEURL)atom.xml
|
scripts/bin/validate-feed $(HUGO_BASEURL)atom.xml
|
||||||
|
|
|
@ -20,7 +20,7 @@ Age
|
||||||
: 22
|
: 22
|
||||||
|
|
||||||
Location
|
Location
|
||||||
: <span class="p-region">California</span>, <abbr itemprop="nationality" itemscope="" itemtype="https://schema.org/Country" class="p-country-name">USA</abbr>
|
: <span class="p-region">California</span>, <abbr itemprop="nationality" itemscope="" itemtype="https://schema.org/Country" class="p-country-name" title="United States of America">USA</abbr>
|
||||||
|
|
||||||
Gender
|
Gender
|
||||||
: <span class="p-gender-identity" itemprop="gender">Male</span>
|
: <span class="p-gender-identity" itemprop="gender">Male</span>
|
||||||
|
|
|
@ -59,10 +59,13 @@ Finally, I supplement manual testing with the following automated tools:
|
||||||
- [AInspector](https://github.com/ainspector/ainspector-for-firefox)
|
- [AInspector](https://github.com/ainspector/ainspector-for-firefox)
|
||||||
- [WAVE Web Accessibility Evaluation Tool](https://wave.webaim.org/)
|
- [WAVE Web Accessibility Evaluation Tool](https://wave.webaim.org/)
|
||||||
- [ARC Toolkit](https://www.tpgi.com/arc-platform/arc-toolkit/)
|
- [ARC Toolkit](https://www.tpgi.com/arc-platform/arc-toolkit/)
|
||||||
|
- [webhint](https://webhint.io/)
|
||||||
|
|
||||||
WAVE reports no errors; AXE is unable to determine certain contrast errors, but it otherwise reports no errors; IBM Equal Access reports no errors but some items that need review.
|
WAVE reports no errors; AXE is unable to determine certain contrast errors, but it otherwise reports no errors; IBM Equal Access reports no errors but some items that need review.
|
||||||
|
|
||||||
I regularly run axe-core and the IBM Equal Access Accessibility Checker on every page in my sitemap, and receive no errors.
|
I regularly run axe-core, the IBM Equal Access Accessibility Checker, the Nu HTML Checker (local build, latest commit), and webhint on every page in my sitemap. After filtering out false-positives (and reporting them upstream), I receive no errors.
|
||||||
|
|
||||||
|
Due to [issue 1008 in IBM Equal Access Checker](https://github.com/IBMa/equal-access/issues/1008), I remove all instances of `content-visibility` from my site's CSS before running `achecker` from the command line.
|
||||||
|
|
||||||
Compatibility statement
|
Compatibility statement
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
title: "Minimal website responsiveness"
|
title: "Minimal website responsiveness"
|
||||||
date: 2022-06-11T13:00:26-07:00
|
date: 2022-06-11T13:00:26-07:00
|
||||||
replyURI: "https://social.treehouse.systems/@ayushnix/108460135741971671"
|
replyURI: "https://social.treehouse.systems/@ayushnix/108460135741971671"
|
||||||
replyTitle: "Can anyone explain why someone would want to scale font size using multiple media query breakpoints using different device widths or by using fluid typography?"
|
replyTitle: "I’m unable to understand why [scaling font size] would be required"
|
||||||
replyType: "SocialMediaPosting"
|
replyType: "SocialMediaPosting"
|
||||||
replyAuthor: "Ayush Agarwal"
|
replyAuthor: "Ayush Agarwal"
|
||||||
replyAuthorURI: "https://microblog.ayushnix.com/"
|
replyAuthorURI: "https://microblog.ayushnix.com/"
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
date: "2021-01-23T12:21:38-08:00"
|
date: "2021-01-23T12:21:38-08:00"
|
||||||
keywords: intern, python, golang, go, lua, moonscript, shell, bash, zsh, posix, java, haskell, C, influxdb, influxdata, chronograf, grafana, kapacitor, numpy, scipy, pandas, jupyter, docker, podman, buildah, skopeo, kubernetes, openshift, cloud native, physics, jenkins, git, gitlab, github, linux, bsd, red hat, fedora, debian, ubuntu, opensuse, suse
|
keywords: intern, python, golang, go, lua, moonscript, shell, bash, zsh, posix, java, haskell, C, influxdb, influxdata, chronograf, grafana, kapacitor, numpy, scipy, pandas, jupyter, docker, podman, buildah, skopeo, kubernetes, openshift, cloud native, physics, jenkins, git, gitlab, github, linux, bsd, red hat, fedora, debian, ubuntu, opensuse, suse
|
||||||
title: Rohan Kumar
|
title: Rohan Kumar
|
||||||
|
description: "Detail-oriented, committed, self-motivated, OSS enthusiast proficient in Python, Go, Linux/UNIX systems, and cloud-native computing looking for an internship."
|
||||||
disableMeta: true
|
disableMeta: true
|
||||||
---
|
---
|
||||||
[https://seirdy<wbr />.one](https://seirdy.one/) | [seirdy<wbr />@seirdy.one](mailto:seirdy@seirdy.one)
|
[https://seirdy<wbr />.one](https://seirdy.one/) | [seirdy<wbr />@seirdy.one](mailto:seirdy@seirdy.one)
|
||||||
|
|
|
@ -4,15 +4,19 @@
|
||||||
<h2 id="webmentions" tabindex="-1">Web­mentions</h2>
|
<h2 id="webmentions" tabindex="-1">Web­mentions</h2>
|
||||||
<p>This site supports <a href="https://indieweb.org/webmention">Webmentions</a>, a backlink-based alternative to traditional comment forms.</p>
|
<p>This site supports <a href="https://indieweb.org/webmention">Webmentions</a>, a backlink-based alternative to traditional comment forms.</p>
|
||||||
{{ partial "webmention-form.html" . }}
|
{{ partial "webmention-form.html" . }}
|
||||||
<p>Webmentions received for this post will appear in the following list after I approve them. I sometimes send Webmentions to myself on behalf of linking sites that don't support them. Check the <a href="https://web.archive.org/">Wayback Machine</a> if any links are broken.</p>
|
{{- $target := .RelPermalink | replaceRE "^/~seirdy/" "/" }}
|
||||||
|
{{ $url1 := printf "https://seirdy.one/webmentions/get?status=approved&target=https://seirdy.one%s" $target -}}
|
||||||
|
{{ $webmentions := (getJSON $url1) -}}
|
||||||
|
{{- if lt .Date.Unix 1653616670 -}}{{- /* commit c84c8d4 changed my URL schemes, so fetch menchies for the legacy scheme on old posts. */ -}}
|
||||||
|
{{- $oldTarget := $target | replaceRE "/posts" "" | replaceRE "/$" ".html" -}}
|
||||||
|
{{- $url2 := printf "https://seirdy.one/webmentions/get?status=approved&target=https://seirdy.one%s" $oldTarget -}}
|
||||||
|
{{- $webmentions = $webmentions | append (getJSON $url2) -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- if gt (len $webmentions) 0 -}}
|
||||||
|
<p>Webmentions received for this post appear in the following list after I approve them. I sometimes send Webmentions to myself on behalf of linking sites that don't support them. I replace broken links with <a href="https://web.archive.org/">Wayback Machine</a> snapshots, if they exist.</p>
|
||||||
<details>
|
<details>
|
||||||
<summary>Toggle Webmentions</summary>
|
<summary>Toggle Webmentions</summary>
|
||||||
<dl>
|
<dl>
|
||||||
{{- $target := .RelPermalink | replaceRE "^/~seirdy/" "/" }}
|
|
||||||
{{- $oldTarget := $target | replaceRE "/posts" "" | replaceRE "/$" ".html" -}}
|
|
||||||
{{ $url1 := printf "https://seirdy.one/webmentions/get?status=approved&target=https://seirdy.one%s" $target -}}
|
|
||||||
{{ $url2 := printf "https://seirdy.one/webmentions/get?status=approved&target=https://seirdy.one%s" $oldTarget -}}
|
|
||||||
{{ $webmentions := (getJSON $url1) | append (getJSON $url2) -}}
|
|
||||||
{{ range sort $webmentions "created_at" -}}
|
{{ range sort $webmentions "created_at" -}}
|
||||||
{{ $webmention := . -}}
|
{{ $webmention := . -}}
|
||||||
{{- /* Boolean: should we should handle this webmention like a comment or a linkback? */ -}}
|
{{- /* Boolean: should we should handle this webmention like a comment or a linkback? */ -}}
|
||||||
|
@ -74,16 +78,16 @@
|
||||||
{{- if findRE `^https://brid.gy/[^/]*/mastodon` $webmention.source -}}
|
{{- if findRE `^https://brid.gy/[^/]*/mastodon` $webmention.source -}}
|
||||||
<p role="doc-tip" itemprop="accessibilitySummary">This comment may have major formatting errors that could impact screen reader comprehension.</p>
|
<p role="doc-tip" itemprop="accessibilitySummary">This comment may have major formatting errors that could impact screen reader comprehension.</p>
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
<p itemprop="articleBody" class="p-content">{{ $webmention.content | replaceRE `^@Seirdy(@pleroma.envs.net)? ?` ""}}</p>
|
<p><q itemprop="articleBody" class="p-content">{{ $webmention.content | replaceRE `^@Seirdy(@pleroma.envs.net)? ?` ""}}</q></p>
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
{{ else -}}
|
{{- end -}}
|
||||||
<dt>Nothing here</dt>
|
|
||||||
<dd>This post does not have any approved Webmentions yet.</dd>
|
|
||||||
{{- end }}
|
|
||||||
</dl>
|
</dl>
|
||||||
</details>
|
</details>
|
||||||
|
{{ else -}}
|
||||||
|
<p>This post does not have any approved Webmentions yet.</p>
|
||||||
|
{{- end }}
|
||||||
<p>Feel free to contact me directly with feedback; <a href="{{ .Site.BaseURL }}about/#location-seirdy-online">here’s my contact info</a></p>
|
<p>Feel free to contact me directly with feedback; <a href="{{ .Site.BaseURL }}about/#location-seirdy-online">here’s my contact info</a></p>
|
||||||
</section>
|
</section>
|
||||||
|
|
|
@ -19,7 +19,12 @@
|
||||||
"error",
|
"error",
|
||||||
{
|
{
|
||||||
"ignore": [
|
"ignore": [
|
||||||
"filter"
|
"filter",
|
||||||
|
"contain",
|
||||||
|
"image-rendering: pixelated",
|
||||||
|
"contain-intrinsic-size",
|
||||||
|
"content-visibility",
|
||||||
|
"text-size-adjust"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -30,27 +35,51 @@
|
||||||
"time",
|
"time",
|
||||||
"picture",
|
"picture",
|
||||||
"meta[name=color-scheme]",
|
"meta[name=color-scheme]",
|
||||||
"img[decoding]"
|
"meta[name=theme-color]",
|
||||||
|
"img[decoding]",
|
||||||
|
"a[referrerpolicy]",
|
||||||
|
"code[translate]",
|
||||||
|
"a[translate]",
|
||||||
|
"span[translate]",
|
||||||
|
"samp[translate]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"doctype": "error",
|
"doctype": "error",
|
||||||
"highest-available-document-mode": "off",
|
|
||||||
"http-cache": [
|
"http-cache": [
|
||||||
"error",
|
"error",
|
||||||
{
|
{
|
||||||
"maxAgeTarget": 300
|
"maxAgeTarget": 600
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"http-compression": "off",
|
"http-compression": "off",
|
||||||
"https-only": "error",
|
"https-only": "error",
|
||||||
"manifest-file-extension": "error",
|
"manifest-file-extension": "error",
|
||||||
"manifest-is-valid": "error",
|
"manifest-is-valid": "error",
|
||||||
|
"meta-viewport": "error",
|
||||||
|
"no-bom": "error",
|
||||||
|
"no-p3p": "error",
|
||||||
|
"html-checker": "off",
|
||||||
|
"content-type": ["error", {
|
||||||
|
".*\\.svg": "image/svg+xml"
|
||||||
|
}],
|
||||||
|
"no-html-only-headers": [ "warning",
|
||||||
|
{
|
||||||
|
"ignore": ["content-security-policy"]
|
||||||
|
}],
|
||||||
"performance-budget": [
|
"performance-budget": [
|
||||||
"error",
|
"error",
|
||||||
{
|
{
|
||||||
"connectionType": "3GSlow",
|
"connectionType": "3GSlow",
|
||||||
"loadTime": 5
|
"loadTime": 10
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stylesheet-limits": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"maxRules": 100,
|
||||||
|
"maxSheets": 2,
|
||||||
|
"maxImports": 0
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"ssllabs": "off"
|
"ssllabs": "off"
|
||||||
|
|
10
package.json
10
package.json
|
@ -1,14 +1,12 @@
|
||||||
{
|
{
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@hint/formatter-codeframe": "^3.1.22",
|
"@hint/hint-doctype": "^3.3.20",
|
||||||
"@hint/hint-doctype": "^3.3.10",
|
"hint": "^7.1.0",
|
||||||
"@hint/hint-https-only": "^2.4.10",
|
|
||||||
"@hint/hint-performance-budget": "^2.4.10",
|
|
||||||
"hint": "^6.1.4",
|
|
||||||
"stylelint": "^14.8.1",
|
"stylelint": "^14.8.1",
|
||||||
"stylelint-config-standard": "^25.0.0"
|
"stylelint-config-standard": "^25.0.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"stylelint-config-recommended": "^7.0.0"
|
"stylelint-config-recommended": "^7.0.0",
|
||||||
|
"typescript": ">=2.8.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,5 +62,8 @@ base_url="${1-http://localhost:8089}"
|
||||||
# HTML validation is already parallelized, so run that single-threaded.
|
# HTML validation is already parallelized, so run that single-threaded.
|
||||||
make -j1 HUGO_FLAGS=-DF HUGO_BASEURL="$base_url" clean hugo xhtmlize validate-html
|
make -j1 HUGO_FLAGS=-DF HUGO_BASEURL="$base_url" clean hugo xhtmlize validate-html
|
||||||
make -j "$jobs" -f Makefile.online HUGO_BASEURL="$base_url" all-extra URLS="$(curl -sSL "$base_url/sitemap.xml" | htmlq loc -t | rg -v '/search/$' | tr '\n' ' ')"
|
make -j "$jobs" -f Makefile.online HUGO_BASEURL="$base_url" all-extra URLS="$(curl -sSL "$base_url/sitemap.xml" | htmlq loc -t | rg -v '/search/$' | tr '\n' ' ')"
|
||||||
|
make deploy-staging
|
||||||
|
make -f Makefile.online hint-online URLS="$(curl -sSL --compressed https://staging.seirdy.one/sitemap.xml | htmlq loc -t | rg -v '/search/$' | sort | tr '\n' ' ')"
|
||||||
|
# TODO: run lighthouse on every page in the sitemap.
|
||||||
|
|
||||||
# vi:ft=sh
|
# vi:ft=sh
|
||||||
|
|
|
@ -25,8 +25,8 @@ cleanup() {
|
||||||
trap cleanup EXIT
|
trap cleanup EXIT
|
||||||
|
|
||||||
# delete the stylesheet from the html file; we'll re-insert it later.
|
# delete the stylesheet from the html file; we'll re-insert it later.
|
||||||
# Also remove one indentation level
|
# Also remove two indentation levels
|
||||||
sed 7d "$html_file" | xmllint --format --encode UTF-8 --noent - | sd '^\t' '' >"$tmp_file"
|
sed 7d "$html_file" | xmllint --format --encode UTF-8 --noent - | sd '^\t(?:\t)?' '' >"$tmp_file"
|
||||||
{
|
{
|
||||||
head -n7 "$tmp_file" | sd -s '/>' ' />'
|
head -n7 "$tmp_file" | sd -s '/>' ' />'
|
||||||
cat tmp.css
|
cat tmp.css
|
||||||
|
|
|
@ -8,7 +8,7 @@ set -e -u
|
||||||
output_dir="$1"
|
output_dir="$1"
|
||||||
script_dir="$(dirname "$0")"
|
script_dir="$(dirname "$0")"
|
||||||
|
|
||||||
printf '\t<style>%s</style>\n' "$(htmlq -t style <"$output_dir/index.html")" >tmp.css
|
printf '<style>%s</style>\n' "$(htmlq -t style <"$output_dir/index.html")" >tmp.css
|
||||||
cleanup() {
|
cleanup() {
|
||||||
rm -f "tmp.css"
|
rm -f "tmp.css"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue