Compare commits
18 Commits
94950041f6
...
main
Author | SHA1 | Date | |
---|---|---|---|
8a862c65e6 | |||
fb9f237845 | |||
0b36579a36 | |||
6067707b74 | |||
09a787272b | |||
64a28d4914 | |||
852a2a8187 | |||
67a0e1c6bb | |||
514102f456 | |||
b91f892f55 | |||
ced9625083 | |||
ad1a614ff3 | |||
97a31721d0 | |||
d4ac24c869 | |||
cfa3fa5bea | |||
2dd4884e9f | |||
900fe7ed06 | |||
4acfe1d027 |
28
assets/sass/_colors.sass
Normal file
28
assets/sass/_colors.sass
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
//
|
||||||
|
// _colors.sass
|
||||||
|
// Attractive dark mode color scheme for fmtools
|
||||||
|
//
|
||||||
|
|
||||||
|
// Primary palette
|
||||||
|
$primary: #3380ff
|
||||||
|
$primary-dark: #1a3e70
|
||||||
|
$primary-light: #8fc6ff
|
||||||
|
|
||||||
|
// Accent colors
|
||||||
|
$accent: #1de9b6
|
||||||
|
$accent-dark: #00897b
|
||||||
|
$accent-light: #6fffd2
|
||||||
|
|
||||||
|
|
||||||
|
// Success, warning, error
|
||||||
|
$success: #00e676
|
||||||
|
$warning: #ffd600
|
||||||
|
$error: #ff1744
|
||||||
|
|
||||||
|
// Neutral palette (dark mode)
|
||||||
|
$darkest: #0a0c11
|
||||||
|
$background: #10131a
|
||||||
|
$surface: #1a1e29
|
||||||
|
$border: #3a4054
|
||||||
|
$text: #ffffff
|
||||||
|
$text-subtle: #bfc9e6
|
@@ -76,6 +76,24 @@ $font-path: '/fonts/static/'
|
|||||||
font-weight: 900
|
font-weight: 900
|
||||||
src: local('Source Sans 3 Black'), local('SourceSans3-Black'), url('#{$font-path}SourceSans3-Black.woff2') format('woff2'), url('#{$font-path}SourceSans3-Black.ttf') format('truetype')
|
src: local('Source Sans 3 Black'), local('SourceSans3-Black'), url('#{$font-path}SourceSans3-Black.woff2') format('woff2'), url('#{$font-path}SourceSans3-Black.ttf') format('truetype')
|
||||||
|
|
||||||
|
@font-face
|
||||||
|
font-family: 'Source Code Pro'
|
||||||
|
font-style: normal
|
||||||
|
font-display: swap
|
||||||
|
font-weight: 600
|
||||||
|
src: local('Source Code Pro Medium'), local('SourceCodePro-Medium'), url('#{$font-path}SourceCodePro-Medium.woff2') format('woff2'), url('#{$font-path}SourceCodePro-Medium.ttf') format('truetype')
|
||||||
|
|
||||||
|
@font-face
|
||||||
|
font-family: 'Source Code Pro'
|
||||||
|
font-style: italic
|
||||||
|
font-display: swap
|
||||||
|
font-weight: 600
|
||||||
|
src: local('Source Code Pro Medium Italic'), local('SourceCodePro-MediumItalic'), url('#{$font-path}SourceCodePro-MediumItalic.woff2') format('woff2'), url('#{$font-path}SourceCodePro-MediumItalic.ttf') format('truetype')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
*
|
*
|
||||||
font-family: 'Source Sans 3', sans-serif
|
font-family: 'Source Sans 3', sans-serif
|
||||||
|
code
|
||||||
|
font-family: 'Source Code Pro', monospace
|
||||||
|
264
assets/sass/_layout.sass
Normal file
264
assets/sass/_layout.sass
Normal file
@@ -0,0 +1,264 @@
|
|||||||
|
/* _layout.sass */
|
||||||
|
|
||||||
|
/* Variables */
|
||||||
|
$spacing-unit: 1.5rem
|
||||||
|
$section-spacing: 2rem
|
||||||
|
$border-radius: 8px
|
||||||
|
$body-width: 1024px
|
||||||
|
|
||||||
|
html
|
||||||
|
background: darken($background, 3%)
|
||||||
|
|
||||||
|
/* Base Layout */
|
||||||
|
body
|
||||||
|
background: $background
|
||||||
|
color: $text
|
||||||
|
font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif
|
||||||
|
width: 100%
|
||||||
|
height: 100%
|
||||||
|
max-width: $body-width
|
||||||
|
margin: $spacing-unit auto
|
||||||
|
padding: $spacing-unit
|
||||||
|
box-sizing: border-box
|
||||||
|
border-radius: $border-radius
|
||||||
|
|
||||||
|
header
|
||||||
|
background: $surface
|
||||||
|
margin: $spacing-unit
|
||||||
|
padding: $spacing-unit
|
||||||
|
display: flex
|
||||||
|
flex-wrap: wrap
|
||||||
|
align-items: center
|
||||||
|
justify-content: space-between
|
||||||
|
border-radius: $border-radius
|
||||||
|
margin: 0 auto
|
||||||
|
|
||||||
|
header h1, header h1 a
|
||||||
|
margin: 0
|
||||||
|
font-size: 1.6rem
|
||||||
|
font-weight: 900
|
||||||
|
color: $text
|
||||||
|
text-decoration: none
|
||||||
|
padding: 0
|
||||||
|
transition: color 0.4s ease-in-out
|
||||||
|
&:hover, &:focus
|
||||||
|
color: $accent-light
|
||||||
|
|
||||||
|
nav
|
||||||
|
display: flex
|
||||||
|
gap: $spacing-unit
|
||||||
|
align-items: center
|
||||||
|
|
||||||
|
nav ul
|
||||||
|
list-style: none
|
||||||
|
margin: 0
|
||||||
|
padding: 0
|
||||||
|
display: flex
|
||||||
|
gap: 0.5rem
|
||||||
|
flex-wrap: wrap
|
||||||
|
|
||||||
|
nav ul li
|
||||||
|
margin: 0
|
||||||
|
padding: 0
|
||||||
|
|
||||||
|
nav ul li a
|
||||||
|
padding: 0.4rem 0.6rem
|
||||||
|
border-radius: $border-radius
|
||||||
|
background: $primary-dark
|
||||||
|
color: $text
|
||||||
|
text-decoration: none
|
||||||
|
font-weight: 500
|
||||||
|
transition: background 0.4s ease-in-out
|
||||||
|
&:hover, &:focus
|
||||||
|
background: $accent-dark
|
||||||
|
color: $text
|
||||||
|
|
||||||
|
@media (max-width: 600px)
|
||||||
|
header
|
||||||
|
flex-direction: column
|
||||||
|
align-items: flex-start
|
||||||
|
gap: $spacing-unit
|
||||||
|
|
||||||
|
nav
|
||||||
|
width: 100%
|
||||||
|
justify-content: flex-start
|
||||||
|
margin-top: $spacing-unit
|
||||||
|
|
||||||
|
main
|
||||||
|
margin: $spacing-unit 0
|
||||||
|
padding: $spacing-unit
|
||||||
|
|
||||||
|
footer
|
||||||
|
background: $surface
|
||||||
|
margin: $spacing-unit
|
||||||
|
padding: $spacing-unit
|
||||||
|
border-radius: $border-radius
|
||||||
|
margin: 0 auto
|
||||||
|
text-align: center
|
||||||
|
|
||||||
|
footer p
|
||||||
|
margin: 0
|
||||||
|
font-size: 0.9rem
|
||||||
|
color: $text-subtle
|
||||||
|
text-align: center
|
||||||
|
|
||||||
|
section
|
||||||
|
border-bottom: 3px solid $surface
|
||||||
|
margin: $section-spacing 0
|
||||||
|
padding-bottom: $section-spacing
|
||||||
|
|
||||||
|
#page-header
|
||||||
|
border-bottom: 3px solid $surface
|
||||||
|
margin: $section-spacing 0
|
||||||
|
padding-bottom: $section-spacing
|
||||||
|
text-align: center
|
||||||
|
h1
|
||||||
|
margin: 0
|
||||||
|
width: 100%
|
||||||
|
font-size: 3rem
|
||||||
|
word-break: break-word
|
||||||
|
.subtitle
|
||||||
|
margin: 0
|
||||||
|
width: 100%
|
||||||
|
font-size: 1.2rem
|
||||||
|
font-weight: 300
|
||||||
|
color: $text-subtle
|
||||||
|
.time
|
||||||
|
font-size: 0.8rem
|
||||||
|
color: $text-subtle
|
||||||
|
text-align: center
|
||||||
|
|
||||||
|
#tool-cards
|
||||||
|
display: flex
|
||||||
|
flex-wrap: wrap
|
||||||
|
gap: $spacing-unit
|
||||||
|
// justify-content: space-between
|
||||||
|
|
||||||
|
> article
|
||||||
|
flex: 1 1 48%
|
||||||
|
min-width: 300px
|
||||||
|
max-width: 48%
|
||||||
|
box-sizing: border-box
|
||||||
|
|
||||||
|
@media (max-width: 900px)
|
||||||
|
> article
|
||||||
|
flex-basis: 100%
|
||||||
|
max-width: 100%
|
||||||
|
|
||||||
|
article
|
||||||
|
background: $surface
|
||||||
|
border-radius: 8px
|
||||||
|
padding: 1rem 1.5rem
|
||||||
|
// margin: $spacing-unit 0
|
||||||
|
// position: relative
|
||||||
|
transition: background 0.5s ease-in-out
|
||||||
|
&:hover, &:focus
|
||||||
|
background: $primary-dark
|
||||||
|
h3
|
||||||
|
margin: 0
|
||||||
|
font-size: 1.5rem
|
||||||
|
font-weight: 700
|
||||||
|
color: $text
|
||||||
|
a
|
||||||
|
color: $text
|
||||||
|
position: absolute
|
||||||
|
top: 0
|
||||||
|
left: 0
|
||||||
|
width: 100%
|
||||||
|
height: 100%
|
||||||
|
z-index: 1
|
||||||
|
text-indent: -9999px
|
||||||
|
overflow: hidden
|
||||||
|
text-decoration: none
|
||||||
|
transition: color 0.3s ease-in-out
|
||||||
|
&:hover, &:focus
|
||||||
|
color: $accent-light
|
||||||
|
&:not(a)
|
||||||
|
position: relative
|
||||||
|
z-index: 2
|
||||||
|
p
|
||||||
|
margin: 0.5rem 0
|
||||||
|
font-size: 1rem
|
||||||
|
color: $text
|
||||||
|
font-weight: 300
|
||||||
|
|
||||||
|
.subtitle
|
||||||
|
margin: 0 0 0 0.5rem
|
||||||
|
width: 100%
|
||||||
|
font-size: 1.1rem
|
||||||
|
font-weight: 300
|
||||||
|
color: $text-subtle
|
||||||
|
|
||||||
|
.term-title
|
||||||
|
font-weight: 700
|
||||||
|
padding: 0.3rem 0.8rem
|
||||||
|
margin-bottom: 0.5rem
|
||||||
|
border-radius: $border-radius
|
||||||
|
|
||||||
|
p code
|
||||||
|
background: darken($primary-dark,10%)
|
||||||
|
margin: 0 0.2rem
|
||||||
|
padding: 0.2rem 0.4rem
|
||||||
|
border-radius: 5px
|
||||||
|
font-size: 0.8rem
|
||||||
|
|
||||||
|
pre
|
||||||
|
padding: 0.5rem
|
||||||
|
border-radius: 5px
|
||||||
|
overflow-x: auto
|
||||||
|
code
|
||||||
|
font-size: 0.8rem
|
||||||
|
|
||||||
|
.banner
|
||||||
|
position: fixed
|
||||||
|
top: 0
|
||||||
|
width: 100%
|
||||||
|
max-width: $body-width
|
||||||
|
background-color: $accent
|
||||||
|
color: $darkest
|
||||||
|
padding: 5px 0
|
||||||
|
font-weight: 400
|
||||||
|
text-align: center
|
||||||
|
font-size: 1.1em
|
||||||
|
border-radius: 0 0 8px 8px
|
||||||
|
z-index: 1000
|
||||||
|
font-size: 0.9rem
|
||||||
|
height: 1.3rem
|
||||||
|
margin-left: calc(0% - #{$spacing-unit})
|
||||||
|
|
||||||
|
a
|
||||||
|
color: $darkest
|
||||||
|
text-decoration: underline
|
||||||
|
font-weight: 700
|
||||||
|
transition: color 0.3s ease-in-out
|
||||||
|
&:hover, &:focus
|
||||||
|
color: $primary-dark
|
||||||
|
|
||||||
|
body:has(.banner)
|
||||||
|
margin-top: 2.6rem
|
||||||
|
|
||||||
|
@media (max-width: 600px)
|
||||||
|
.banner
|
||||||
|
position: absolute
|
||||||
|
top: 0
|
||||||
|
width: calc(100% - #{$spacing-unit})
|
||||||
|
max-width: $body-width
|
||||||
|
background-color: $accent
|
||||||
|
color: $darkest
|
||||||
|
padding: 5px
|
||||||
|
font-weight: 400
|
||||||
|
text-align: center
|
||||||
|
font-size: 1.1em
|
||||||
|
border-radius: 0 0 8px 8px
|
||||||
|
z-index: 1000
|
||||||
|
font-size: 0.9rem
|
||||||
|
height: 4.3rem
|
||||||
|
margin-left: calc(0% - #{$spacing-unit})
|
||||||
|
|
||||||
|
.banner-text
|
||||||
|
display: block
|
||||||
|
margin: 0 5px
|
||||||
|
|
||||||
|
|
||||||
|
body:has(.banner)
|
||||||
|
margin-top: 5.6rem
|
57
assets/sass/_links.sass
Normal file
57
assets/sass/_links.sass
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
/* _text.sass */
|
||||||
|
|
||||||
|
a
|
||||||
|
color: $accent-light
|
||||||
|
text-decoration: underline
|
||||||
|
transition: color 0.3s ease-in-out
|
||||||
|
&:hover, &:focus
|
||||||
|
color: $primary
|
||||||
|
|
||||||
|
#quick-links
|
||||||
|
text-align: left
|
||||||
|
|
||||||
|
#link-list
|
||||||
|
display: flex
|
||||||
|
gap: $spacing-unit
|
||||||
|
align-items: center
|
||||||
|
flex-wrap: wrap
|
||||||
|
margin: 2rem 0 $spacing-unit 0
|
||||||
|
justify-content: center
|
||||||
|
|
||||||
|
#link-list h2
|
||||||
|
flex: none
|
||||||
|
|
||||||
|
#link-list ul
|
||||||
|
list-style: none
|
||||||
|
margin: 0
|
||||||
|
padding: 0
|
||||||
|
display: flex
|
||||||
|
gap: 1rem
|
||||||
|
flex-wrap: wrap
|
||||||
|
|
||||||
|
#link-list ul li
|
||||||
|
margin: 0
|
||||||
|
padding: 0
|
||||||
|
|
||||||
|
#link-list ul li a
|
||||||
|
padding: 0.3rem 0.6rem
|
||||||
|
border-radius: $border-radius
|
||||||
|
background: $primary-light
|
||||||
|
color: $darkest
|
||||||
|
text-decoration: none
|
||||||
|
font-weight: 500
|
||||||
|
transition: background 0.3s ease-in-out
|
||||||
|
&:hover, &:focus
|
||||||
|
background: $accent-light
|
||||||
|
|
||||||
|
a.button
|
||||||
|
padding: 0.3rem 0.6rem
|
||||||
|
margin: 0 0.2rem
|
||||||
|
border-radius: $border-radius
|
||||||
|
background: $primary-light
|
||||||
|
color: $darkest
|
||||||
|
text-decoration: none
|
||||||
|
font-weight: 500
|
||||||
|
transition: background 0.3s ease-in-out
|
||||||
|
&:hover, &:focus
|
||||||
|
background: $accent-light
|
21
assets/sass/_publications.sass
Normal file
21
assets/sass/_publications.sass
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
#publications
|
||||||
|
font-weight: 300
|
||||||
|
ul
|
||||||
|
list-style: none
|
||||||
|
margin: 0
|
||||||
|
padding: 0
|
||||||
|
display: flex
|
||||||
|
flex-direction: column
|
||||||
|
gap: 1em
|
||||||
|
|
||||||
|
li
|
||||||
|
background: $surface
|
||||||
|
border-radius: 8px
|
||||||
|
padding: 1em 1.5em
|
||||||
|
a
|
||||||
|
color: $primary-light
|
||||||
|
text-decoration: none
|
||||||
|
font-weight: 100
|
||||||
|
transition: color 0.3s ease-in-out
|
||||||
|
&:hover, &:focus
|
||||||
|
color: $accent-light
|
90
assets/sass/_taxonomy.sass
Normal file
90
assets/sass/_taxonomy.sass
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
|
||||||
|
table#taxonomy-table
|
||||||
|
width: 100%
|
||||||
|
border-collapse: collapse
|
||||||
|
// border: 3px solid $darkest
|
||||||
|
box-sizing: border-box
|
||||||
|
background: $surface
|
||||||
|
text-align: left
|
||||||
|
|
||||||
|
tr
|
||||||
|
border-bottom: 3px solid $background
|
||||||
|
&:nth-child(even)
|
||||||
|
background: darken($surface, 2%)
|
||||||
|
transition: background 0.4s ease-in-out
|
||||||
|
&:nth-child(odd)
|
||||||
|
background: lighten($surface, 3%)
|
||||||
|
transition: background 0.4s ease-in-out
|
||||||
|
&:hover, &:focus
|
||||||
|
background: $border
|
||||||
|
|
||||||
|
thead
|
||||||
|
text-align: left
|
||||||
|
border: none
|
||||||
|
border-radius: $border-radius $border-radius 0 0
|
||||||
|
|
||||||
|
th
|
||||||
|
color: $text
|
||||||
|
background: $darkest !important
|
||||||
|
padding: 0.6rem 0.6rem
|
||||||
|
text-align: left
|
||||||
|
font-weight: 600
|
||||||
|
border: none
|
||||||
|
|
||||||
|
td
|
||||||
|
padding: 0.3rem 0.6rem
|
||||||
|
text-align: left
|
||||||
|
font-weight: 600
|
||||||
|
border: none
|
||||||
|
|
||||||
|
td.description
|
||||||
|
font-weight: 300
|
||||||
|
color: $text-subtle
|
||||||
|
td.tool
|
||||||
|
min-width: 100px
|
||||||
|
|
||||||
|
a.term-link
|
||||||
|
padding: 0.2rem 0.6rem
|
||||||
|
margin: 0.2rem
|
||||||
|
display: inline-block
|
||||||
|
border-radius: $border-radius
|
||||||
|
text-decoration: none
|
||||||
|
font-weight: 500
|
||||||
|
color: $text
|
||||||
|
transition: color 0.4s ease-in-out, background 0.4s ease-in-out
|
||||||
|
&:hover, &:focus
|
||||||
|
color: $darkest !important
|
||||||
|
background: $text-subtle !important
|
||||||
|
|
||||||
|
a.taxonomy-name
|
||||||
|
padding: 0
|
||||||
|
margin: 0.2rem
|
||||||
|
display: inline-block
|
||||||
|
border-radius: $border-radius
|
||||||
|
text-decoration: none
|
||||||
|
font-weight: 500
|
||||||
|
color: $text
|
||||||
|
transition: color 0.4s ease-in-out
|
||||||
|
&:hover, &:focus
|
||||||
|
color: $accent-light
|
||||||
|
|
||||||
|
a
|
||||||
|
color: $text
|
||||||
|
text-decoration: none
|
||||||
|
&:hover, &:focus
|
||||||
|
color: $accent
|
||||||
|
|
||||||
|
#taxonomy-page a.term-link
|
||||||
|
padding: 0.3rem 1.2rem
|
||||||
|
margin: 0.2rem
|
||||||
|
display: inline-block
|
||||||
|
border-radius: $border-radius
|
||||||
|
text-decoration: none
|
||||||
|
font-weight: 500
|
||||||
|
font-size: 1.2rem
|
||||||
|
color: $text
|
||||||
|
transition: color 0.4s ease-in-out, background 0.4s ease-in-out
|
||||||
|
&:hover, &:focus
|
||||||
|
color: $darkest !important
|
||||||
|
background: $text-subtle !important
|
||||||
|
|
0
assets/sass/_tools.sass
Normal file
0
assets/sass/_tools.sass
Normal file
@@ -1,4 +1,6 @@
|
|||||||
@import "fonts"
|
@import "fonts"
|
||||||
*
|
@import "colors"
|
||||||
color: white
|
@import "layout"
|
||||||
background: black
|
@import "taxonomy"
|
||||||
|
@import "links"
|
||||||
|
@import "publications"
|
@@ -1,5 +1,5 @@
|
|||||||
[module]
|
[module]
|
||||||
[module.hugoVersion]
|
[module.hugoVersion]
|
||||||
extended = false
|
extended = true
|
||||||
min = '0.146.0'
|
min = '0.146.0'
|
||||||
|
|
||||||
|
17
layouts/404.html
Normal file
17
layouts/404.html
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{{ define "main" }}
|
||||||
|
|
||||||
|
<div id="page-header">
|
||||||
|
<h1>Oh No!</h1>
|
||||||
|
<span class="subtitle">This is not the page you are looking for.</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<p>This is really embarrassing, but the page you were looking for does not exist. It may have been moved or deleted.</p>
|
||||||
|
<p>Please <a href="https://gitmoss.fyi/fmtools/content/issues/new" target="_blank">submit an issue</a> if you think this is a mistake, or you can go back to the <a href="{{ "/" | relLangURL }}">home page</a>.</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<!-- {{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }}
|
||||||
|
{{ $dateHuman := .Date | time.Format ":date_long" }}
|
||||||
|
<p class="time">Updated <time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time></p> -->
|
||||||
|
|
||||||
|
{{ end }}
|
1
layouts/_markup/render-link.html
Normal file
1
layouts/_markup/render-link.html
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<a href="{{ .Destination | safeURL }}"{{ with .Title}} title="{{ . }}"{{ end }}{{ if or (strings.HasPrefix .Destination "http") (strings.HasPrefix .Destination "https") }} target="_blank"{{ end }} >{{ .Text | safeHTML }}</a>
|
5
layouts/_partials/banner.html
Normal file
5
layouts/_partials/banner.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<div class="banner">
|
||||||
|
<span class="banner-text">{{ .Site.Params.bannerTitle }}
|
||||||
|
{{ .Site.Params.banner | markdownify }}
|
||||||
|
</span>
|
||||||
|
</div>
|
@@ -1 +1,4 @@
|
|||||||
<p>Copyright {{ now.Year }}. All rights reserved.</p>
|
<p><a href="/contribute">Contribute</a> | <a href="/about">About</a> | <a href="/license">License</a> | <a href="/privacy">Privacy</a> </p>
|
||||||
|
<!-- <p>Open-source under <a href="">MIT License</a></p> -->
|
||||||
|
<!-- <p>The information on this website is presented for educational purposes only.</p> -->
|
||||||
|
<p>© Copyright {{ now.Year }}. An open-source project.</p>
|
||||||
|
@@ -2,6 +2,7 @@
|
|||||||
<!-- <meta name="viewport" content="width=device-width"> -->
|
<!-- <meta name="viewport" content="width=device-width"> -->
|
||||||
<meta name="viewport" content ="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
<meta name="viewport" content ="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
|
||||||
<title>{{ if .IsHome }}{{ site.Title }}{{ else }}{{ printf "%s | %s" .Title site.Title }}{{ end }}</title>
|
<title>{{ if .IsHome }}{{ site.Title }}{{ else }}{{ printf "%s | %s" .Title site.Title }}{{ end }}</title>
|
||||||
{{- partial "opengraph" . }}
|
{{- partial "opengraph" . }}
|
||||||
{{- partialCached "favicon" . }}
|
{{- partialCached "favicon" . }}
|
||||||
|
@@ -1,4 +1,26 @@
|
|||||||
{{- $options := (dict "targetPath" "css/styles.css" "outputStyle" "expanded" "enableSourceMap" "true") -}}
|
{{- $options := (dict "targetPath" "css/styles.css" "outputStyle" "expanded" "enableSourceMap" "true") -}}
|
||||||
{{ $mainSassFile := "sass/main.sass" }}
|
{{ $mainSassFile := "sass/main.sass" }}
|
||||||
{{- $styles := resources.Get $mainSassFile | resources.ExecuteAsTemplate $mainSassFile . | css.Sass $options | resources.Fingerprint "sha512" }}
|
{{- $styles := resources.Get $mainSassFile | resources.ExecuteAsTemplate $mainSassFile . | css.Sass $options | resources.Fingerprint "sha512" }}
|
||||||
<link rel="stylesheet" href="{{ $styles.Permalink }}" integrity="{{ $styles.Data.Integrity }}">
|
<link rel="stylesheet" href="{{ $styles.Permalink }}" integrity="{{ $styles.Data.Integrity }}">
|
||||||
|
|
||||||
|
<link href="/css/fontawesome.css" rel="stylesheet" />
|
||||||
|
<link href="/css/brands.css" rel="stylesheet" />
|
||||||
|
<link href="/css/solid.css" rel="stylesheet" />
|
||||||
|
|
||||||
|
<link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="72x72" href="/apple-icon-72x72.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="76x76" href="/apple-icon-76x76.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="114x114" href="/apple-icon-114x114.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="120x120" href="/apple-icon-120x120.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="144x144" href="/apple-icon-144x144.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="152x152" href="/apple-icon-152x152.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180x180.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="192x192" href="/android-icon-192x192.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
||||||
|
<link rel="manifest" href="/manifest.json">
|
||||||
|
<meta name="msapplication-TileColor" content="#ffffff">
|
||||||
|
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
|
||||||
|
<meta name="theme-color" content="#ffffff">
|
@@ -7,6 +7,7 @@
|
|||||||
{{ $b := printf "0x%s" (substr $hash 4 2) | int }}
|
{{ $b := printf "0x%s" (substr $hash 4 2) | int }}
|
||||||
{{ $rgba := printf "rgba(%d,%d,%d,0.2)" $r $g $b }}
|
{{ $rgba := printf "rgba(%d,%d,%d,0.2)" $r $g $b }}
|
||||||
<a
|
<a
|
||||||
|
class="term-link"
|
||||||
id="{{ $taxonomy | urlize }}_{{ $name | urlize }}"
|
id="{{ $taxonomy | urlize }}_{{ $name | urlize }}"
|
||||||
style="background:rgba({{ $r }},{{ $g }},{{ $b }},0.4)"
|
style="background:rgba({{ $r }},{{ $g }},{{ $b }},0.4)"
|
||||||
href="{{ "/" | relLangURL}}{{ $taxonomy | urlize }}{{ "/" | relLangURL}}{{ $name | urlize }}">
|
href="{{ "/" | relLangURL}}{{ $taxonomy | urlize }}{{ "/" | relLangURL}}{{ $name | urlize }}">
|
||||||
|
0
layouts/_partials/tool-table.html
Normal file
0
layouts/_partials/tool-table.html
Normal file
@@ -4,6 +4,9 @@
|
|||||||
{{ partial "head.html" . }}
|
{{ partial "head.html" . }}
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
{{ if .Site.Params.banner }}
|
||||||
|
{{ partial "banner.html" . }}
|
||||||
|
{{ end }}
|
||||||
<header>
|
<header>
|
||||||
{{ partial "header.html" . }}
|
{{ partial "header.html" . }}
|
||||||
</header>
|
</header>
|
||||||
|
@@ -1,7 +1,51 @@
|
|||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
|
|
||||||
|
<div id="page-header">
|
||||||
|
<h1>{{ .Title }}</h1>
|
||||||
|
{{ if .Params.subtitle }}
|
||||||
|
<span class="subtitle">{{ .Params.subtitle }}</span>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section>
|
||||||
{{ .Content }}
|
{{ .Content }}
|
||||||
{{ range site.RegularPages }}
|
</section>
|
||||||
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
|
|
||||||
{{ .Summary }}
|
{{ $pages := shuffle (where site.RegularPages "Section" "tools") | first 20 }}
|
||||||
{{ end }}
|
<section>
|
||||||
|
<h2>Try Something New</h2>
|
||||||
|
<p>This list shows a selection of 20 random tools, refreshed every time this site is updated.</p>
|
||||||
|
<div id="tool-cards">
|
||||||
|
{{ range $pages }}
|
||||||
|
<article class="tool-card">
|
||||||
|
<h3>
|
||||||
|
{{ .Title }}
|
||||||
|
{{ if .Params.subtitle }}
|
||||||
|
<span class="subtitle">{{ .Params.subtitle }}</span>
|
||||||
|
{{ end }}
|
||||||
|
</h3>
|
||||||
|
<p>{{ .Content | plainify | truncate 100 }}</p>
|
||||||
|
<a href="{{ .RelPermalink }}" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">{{ .Title }}</a>
|
||||||
|
</article>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<div class="time" style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
|
||||||
|
<div class="footer-links" style="text-align: left;">
|
||||||
|
Help improve this page!<br/>
|
||||||
|
Submit an
|
||||||
|
<a href="https://gitmoss.fyi/fmtools/content/issues/new?template=.gitea%2fissue_template%2ffix_tool.md&title=[FIX]%20{{ .Title | urlquery }}" target="_blank">issue</a> or
|
||||||
|
<a href="https://gitmoss.fyi/fmtools/content/fork" target="_blank">pull request</a>.
|
||||||
|
</div>
|
||||||
|
{{ if now }}
|
||||||
|
<div class="footer-date" style="text-align: right;">
|
||||||
|
{{ $dateMachine := now | time.Format "2006-01-02T15:04:05-07:00" }}
|
||||||
|
{{ $dateHuman := now | time.Format "2 January 2006" }}
|
||||||
|
Made with ♥ using <a href="https://gohugo.io" target="_blank">Hugo</a> <br/>
|
||||||
|
Built <time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@@ -1,26 +1,42 @@
|
|||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
<h1>{{ .Title }}</h1>
|
|
||||||
|
|
||||||
{{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }}
|
<div id="page-header">
|
||||||
{{ $dateHuman := .Date | time.Format ":date_long" }}
|
<h1>{{ .Title }}</h1>
|
||||||
<time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time>
|
{{ if .Params.subtitle }}
|
||||||
|
<span class="subtitle">{{ .Params.subtitle }}</span>
|
||||||
|
{{ end }}
|
||||||
|
{{ with .Params.links }}
|
||||||
|
<!-- <section id="quick-links"> -->
|
||||||
|
<!-- <h2>Quick Links</h2> -->
|
||||||
|
<div id="link-list">
|
||||||
|
<ul>
|
||||||
|
{{ range . }}
|
||||||
|
<li><a href="{{ .url }}" target="_blank" rel="noopener">{{ if .icon }}<i class="{{ .icon }}"></i> {{ end }}{{ .title }}</a></li>
|
||||||
|
{{ end }}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- </section> -->
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
|
||||||
{{ .Content }}
|
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<ul id="taxonomies">
|
{{ .Content }}
|
||||||
{{ range $taxonomyname, $taxonomy := .Site.Taxonomies }}
|
|
||||||
<li>{{ $taxonomyname | strings.FirstUpper }}
|
|
||||||
<!-- <li><a href="{{ "/" | relLangURL}}{{ $taxonomyname | urlize }}">{{ $taxonomyname }}</a> -->
|
|
||||||
<ul>
|
|
||||||
{{ range $key, $value := $taxonomy }}
|
|
||||||
<li><a href="{{ "/" | relLangURL}}{{ $taxonomyname | urlize }}{{ "/" | relLangURL}}{{ $key | urlize }}">{{ $key }}</a></li>
|
|
||||||
{{ end }}
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
{{ end }}
|
|
||||||
</ul>
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<div class="time" style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
|
||||||
|
<div class="footer-links" style="text-align: left;">
|
||||||
|
Help improve this page!<br/>
|
||||||
|
Submit an
|
||||||
|
<a href="https://gitmoss.fyi/fmtools/content/issues/new?&title=[FIX]%20{{ .Title | urlquery }}" target="_blank">issue</a> or
|
||||||
|
<a href="https://gitmoss.fyi/fmtools/content/fork" target="_blank">pull request</a>.
|
||||||
|
</div>
|
||||||
|
{{ if .Date }}
|
||||||
|
<div class="footer-date" style="text-align: right;">
|
||||||
|
{{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }}
|
||||||
|
{{ $dateHuman := .Date | time.Format "2 January 2006" }}
|
||||||
|
Updated <time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@@ -1,8 +1,12 @@
|
|||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
<h1>{{ .Title }}</h1>
|
<h1>{{ .Title }}</h1>
|
||||||
{{ .Content }}
|
{{ .Content }}
|
||||||
{{ range .Pages }}
|
<section>
|
||||||
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
|
{{ range .Pages }}
|
||||||
{{ .Summary }}
|
<article>
|
||||||
{{ end }}
|
<h3><a href="{{ .RelPermalink }}">{{ .Title }}</a></h3>
|
||||||
|
<p>{{ .Content | plainify | truncate 100 }}</p>
|
||||||
|
</article>
|
||||||
|
{{ end }}
|
||||||
|
</section>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
3
layouts/shortcodes/button.html
Normal file
3
layouts/shortcodes/button.html
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<a href="{{ .Get "href" }}" class="button">
|
||||||
|
{{ .Inner | safeHTML }}
|
||||||
|
</a>
|
6
layouts/shortcodes/closed-source.html
Normal file
6
layouts/shortcodes/closed-source.html
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<div style="display: flex; align-items: center; gap: 8px;">
|
||||||
|
<span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(226, 181, 59);"></span>
|
||||||
|
<span style="display:none">[</span>
|
||||||
|
<span style="color: rgb(226, 181, 59); font-size: 1rem;">Closed-Source Tool</span>
|
||||||
|
<span style="display:none">] </span>
|
||||||
|
</div>
|
12
layouts/shortcodes/inactive.html
Normal file
12
layouts/shortcodes/inactive.html
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
|
||||||
|
|
||||||
|
<div style="display: flex; align-items: center; gap: 8px;">
|
||||||
|
<span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(240, 85, 85);"></span>
|
||||||
|
<span style="display:none">[</span>
|
||||||
|
{{ if .Get "year" }}
|
||||||
|
<span style="color: rgb(240, 85, 85); font-size: 1rem;">Not Maintained Since {{ .Get "year" }}</span>
|
||||||
|
{{ else }}
|
||||||
|
<span style="color: rgb(240, 85, 85); font-size: 1rem;">No Longer Maintained</span>
|
||||||
|
{{ end }}
|
||||||
|
<span style="display:none">]</span>
|
||||||
|
</div>
|
37
layouts/taxonomies.html
Normal file
37
layouts/taxonomies.html
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
{{ define "main" }}
|
||||||
|
<h1>{{ .Title }}</h1>
|
||||||
|
{{ .Content }}
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<table id="taxonomy-table">
|
||||||
|
<!-- <thead>
|
||||||
|
<tr>
|
||||||
|
<th>Taxonomy</th>
|
||||||
|
<th>Terms</th>
|
||||||
|
</tr>
|
||||||
|
</thead> -->
|
||||||
|
<tbody>
|
||||||
|
{{ range $taxonomyname, $taxonomy := .Site.Taxonomies }}
|
||||||
|
{{ with $taxonomy }}
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<a
|
||||||
|
class="taxonomy-name"
|
||||||
|
href="{{ "/" | relLangURL }}{{ $taxonomyname }}">
|
||||||
|
{{ $taxonomyname | strings.FirstUpper }}
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ range $key, $value := $taxonomy }}
|
||||||
|
{{ partial "term-link.html" (dict "name" $value.Page.Title "taxonomy" $taxonomyname) }}
|
||||||
|
{{ end }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
{{ end }}
|
@@ -1,7 +1,11 @@
|
|||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
<h1>{{ .Title }}</h1>
|
<h1>All {{ .Title }}</h1>
|
||||||
{{ .Content }}
|
{{ .Content }}
|
||||||
|
<section id="taxonomy-page">
|
||||||
|
{{ $taxonomy := .Title | urlize }}
|
||||||
{{ range .Pages }}
|
{{ range .Pages }}
|
||||||
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
|
<!-- <h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2> -->
|
||||||
|
{{ partial "term-link.html" (dict "name" .LinkTitle "taxonomy" $taxonomy ) }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
</section>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@@ -1,7 +1,70 @@
|
|||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
<h1>{{ .Title }}</h1>
|
<h1>
|
||||||
|
{{ $hash := md5 .Title }}
|
||||||
|
{{ $r := printf "0x%s" (substr $hash 0 2) | int }}
|
||||||
|
{{ $g := printf "0x%s" (substr $hash 2 2) | int }}
|
||||||
|
{{ $b := printf "0x%s" (substr $hash 4 2) | int }}
|
||||||
|
{{ $rgba := printf "rgba(%d,%d,%d,0.2)" $r $g $b }}
|
||||||
|
<span
|
||||||
|
class="term-title"
|
||||||
|
style="background:rgba({{ $r }},{{ $g }},{{ $b }},0.4)">
|
||||||
|
{{ .Title }}
|
||||||
|
</span>
|
||||||
|
</h1>
|
||||||
{{ .Content }}
|
{{ .Content }}
|
||||||
{{ range .Pages }}
|
<section id="tools-list">
|
||||||
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
|
<table id="taxonomy-table">
|
||||||
{{ end }}
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Tool</th>
|
||||||
|
<!-- <th>License</th> -->
|
||||||
|
<th>Description</th>
|
||||||
|
<!-- <th>Developers</th> -->
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{ range .Pages }}
|
||||||
|
<tr onclick="window.location='{{ .RelPermalink }}'" style="cursor:pointer;">
|
||||||
|
<td class="tool"><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></td>
|
||||||
|
<td class="description">{{ .Content | plainify | truncate 100 }}</td>
|
||||||
|
<!-- <td>
|
||||||
|
{{ $sep := "" }}
|
||||||
|
{{ range $key, $vals := .Params }}
|
||||||
|
{{ if (in (slice "applications") $key) }}
|
||||||
|
{{ $sep }}
|
||||||
|
{{ range $i, $val := $vals }}
|
||||||
|
{{ partial "term-link.html" (dict "name" $val "taxonomy" $key) }}
|
||||||
|
{{ end }}
|
||||||
|
{{ $sep = "; " }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
</td> -->
|
||||||
|
<!-- <td>
|
||||||
|
{{ $sep := "" }}
|
||||||
|
{{ range $key, $vals := .Params }}
|
||||||
|
{{ if (in (slice "developers") $key) }}
|
||||||
|
{{ $sep }}
|
||||||
|
{{ range $i, $val := $vals }}
|
||||||
|
{{ partial "term-link.html" (dict "name" $val "taxonomy" $key) }}
|
||||||
|
{{ end }}
|
||||||
|
{{ $sep = "; " }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
</td> -->
|
||||||
|
<!-- <td>
|
||||||
|
{{ $sep := "" }}
|
||||||
|
{{ range $key, $vals := .Params }}
|
||||||
|
{{ if (in (slice "licenses") $key) }}
|
||||||
|
{{ $sep }}
|
||||||
|
{{ range $i, $val := $vals }}
|
||||||
|
{{ partial "term-link.html" (dict "name" $val "taxonomy" $key) }}
|
||||||
|
{{ end }}
|
||||||
|
{{ $sep = "; " }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
</td> -->
|
||||||
|
</tr>
|
||||||
|
{{ end }}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@@ -1,50 +1,44 @@
|
|||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
<h1>{{ .Title }}</h1>
|
|
||||||
|
|
||||||
{{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }}
|
<div id="page-header">
|
||||||
{{ $dateHuman := .Date | time.Format ":date_long" }}
|
<h1>{{ .Title }}</h1>
|
||||||
Updated <time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time>
|
{{ if .Params.subtitle }}
|
||||||
|
<span class="subtitle">{{ .Params.subtitle }}</span>
|
||||||
|
{{ end }}
|
||||||
|
{{ with .Params.links }}
|
||||||
|
<!-- <section id="quick-links"> -->
|
||||||
|
<!-- <h2>Quick Links</h2> -->
|
||||||
|
<div id="link-list">
|
||||||
|
<ul>
|
||||||
|
{{ range . }}
|
||||||
|
<li><a href="{{ .url }}" target="_blank" rel="noopener">{{ if .icon }}<i class="{{ .icon }}"></i> {{ end }}{{ .title }}</a></li>
|
||||||
|
{{ end }}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- </section> -->
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
|
||||||
{{ with .Params.links }}
|
|
||||||
<section>
|
|
||||||
<h2>Links</h2>
|
|
||||||
<ul>
|
|
||||||
{{ range . }}
|
|
||||||
<li><a href="{{ .url }}" target="_blank" rel="noopener">{{ .title }}</a></li>
|
|
||||||
{{ end }}
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
{{ with .Params.website }}
|
<section id="taxonomies">
|
||||||
<p>
|
|
||||||
Website: <a href="{{ . }}" target="_blank" rel="noopener">{{ . }}</a>
|
|
||||||
</p>
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
{{ with .Params.github }}
|
|
||||||
<p>
|
|
||||||
<a href="{{ . }}" target="_blank" rel="noopener">View on GitHub</a>
|
|
||||||
</p>
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
<section>
|
|
||||||
<h2>At a Glance</h2>
|
<h2>At a Glance</h2>
|
||||||
<table id="taxonomies">
|
<table id="taxonomy-table">
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Taxonomy</th>
|
|
||||||
<th>Terms</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
<tbody>
|
||||||
|
{{ $params := .Params }}
|
||||||
{{ range $taxonomyname, $taxonomy := .Site.Taxonomies }}
|
{{ range $taxonomyname, $taxonomy := .Site.Taxonomies }}
|
||||||
{{ with $taxonomy }}
|
{{ $terms := index $params $taxonomyname }}
|
||||||
<tr>
|
{{ if $terms }}
|
||||||
<th>{{ $taxonomyname | strings.FirstUpper }}</th>
|
<tr>
|
||||||
|
<td>
|
||||||
|
<a
|
||||||
|
class="taxonomy-name"
|
||||||
|
href="{{ "/" | relLangURL }}{{ $taxonomyname }}">
|
||||||
|
{{ $taxonomyname | strings.FirstUpper }}
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
<td>
|
<td>
|
||||||
{{ range $key, $value := $taxonomy }}
|
{{ range $term := sort $terms }}
|
||||||
{{ partial "term-link.html" (dict "name" $key "taxonomy" $taxonomyname) }}
|
{{ partial "term-link.html" (dict "name" $term "taxonomy" $taxonomyname) }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -54,27 +48,37 @@
|
|||||||
</table>
|
</table>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
{{ if .Content }}
|
||||||
<section>
|
<section>
|
||||||
<h2>Description</h2>
|
<h2>Description</h2>
|
||||||
{{ .Content }}
|
{{ .Content }}
|
||||||
</section>
|
</section>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
{{ with .Params.publications}}
|
{{ with .Params.publications}}
|
||||||
<section>
|
<section id="publications">
|
||||||
<h2>Publications</h2>
|
<h2>Publications</h2>
|
||||||
<ul>
|
<ul>
|
||||||
{{ range $citation, $pub := site.Data.publications }}
|
{{ range $citation, $pub := site.Data.publications }}
|
||||||
{{ range $pub }}
|
{{ range $pub }}
|
||||||
{{ if in $.Params.publications .key }}
|
{{ if in $.Params.publications .key }}
|
||||||
<li>
|
<li>
|
||||||
{{ if .year }} <strong>{{ .year }}</strong>: {{ end }}
|
{{ if .title }} <strong>{{ .title }}</strong> {{ end }}
|
||||||
{{ if .title }} <em>{{ .title }}</em> {{ end }}
|
{{ if .year }}
|
||||||
{{ if .author }} <br /> by {{ delimit .author " | " | html }} {{ end }}
|
{{ if .month }}
|
||||||
{{ if .booktitle }} <br />Appears in <em>{{ .booktitle }}</em> {{ end }}
|
({{ .month }} {{.year }})
|
||||||
{{ if .journal }} <br />Appears in <em>{{ .journal }}</em> {{ end }}
|
{{ else }}
|
||||||
{{ if .volume }} <strong>{{ .volume }}</strong> {{ end }}
|
({{ .year }})
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
{{ if .author }} by {{ index .author 0 }}{{ if (gt (len .author) 1) }} et. al. {{ end }}{{ end }}
|
||||||
|
{{ if .booktitle }} | Appears in <em>{{ .booktitle }}</em> {{ end }}
|
||||||
{{ if .pages }} ({{ .pages }}) {{ end }}
|
{{ if .pages }} ({{ .pages }}) {{ end }}
|
||||||
{{ if .doi }} <br /><a href="https://doi.org/{{ . }}" target="_blank" rel="noopener">DOI: {{ .doi }}</a> {{ end }}
|
{{ if .journal }} | Appears in <em>{{ .journal }}</em> {{ end }}
|
||||||
|
{{ if .volume }} | Volume {{ .volume }} {{ end }}
|
||||||
|
{{ if .publisher }} | Published by {{ .publisher }} {{ end }}
|
||||||
|
{{ if .doi }} | <a href="https://doi.org/{{ .doi }}" target="_blank" rel="noopener">{{ .doi }}</a>
|
||||||
|
{{ else if .url }} | <a href="{{ . }}" target="_blank" rel="noopener">{{ .url }}</a> {{ end }}
|
||||||
</li>
|
</li>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
@@ -83,4 +87,21 @@
|
|||||||
</section>
|
</section>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
|
<div class="time" style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
|
||||||
|
<div class="footer-links" style="text-align: left;">
|
||||||
|
Help improve this page!<br/>
|
||||||
|
Submit an
|
||||||
|
<a href="https://gitmoss.fyi/fmtools/content/issues/new?template=.gitea%2fissue_template%2ffix_tool.md&title=[FIX]%20{{ .Title | urlquery }}" target="_blank">issue</a> or
|
||||||
|
<a href="https://gitmoss.fyi/fmtools/content/fork" target="_blank">pull request</a>.
|
||||||
|
</div>
|
||||||
|
{{ if .Date }}
|
||||||
|
<div class="footer-date" style="text-align: right;">
|
||||||
|
{{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }}
|
||||||
|
{{ $dateHuman := .Date | time.Format "2 January 2006" }}
|
||||||
|
Updated <time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
{{ end }}
|
{{ end }}
|
120
layouts/tools/section.html
Normal file
120
layouts/tools/section.html
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
{{ define "main" }}
|
||||||
|
|
||||||
|
{{ $allPages := slice }}
|
||||||
|
{{ $sections := slice }}
|
||||||
|
{{ range .Pages }}
|
||||||
|
{{ if .IsSection }}
|
||||||
|
{{ $sections = $sections | append . }}
|
||||||
|
{{ range .Pages }}
|
||||||
|
{{ $allPages = $allPages | append . }}
|
||||||
|
{{ end }}
|
||||||
|
{{ else }}
|
||||||
|
{{ $allPages = $allPages | append . }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
{{ $sortedSections := sort $sections "LinkTitle" }}
|
||||||
|
{{ $sortedPages := sort $allPages "LinkTitle" }}
|
||||||
|
|
||||||
|
<h1>{{ .Title }}</h1>
|
||||||
|
{{ .Content }}
|
||||||
|
<section id="tools-list">
|
||||||
|
{{ if gt (len $sortedSections) 0 }}
|
||||||
|
<!-- <h2>Sections</h2> -->
|
||||||
|
<!-- <p>This list shows all sections, sorted alphabetically.</p> -->
|
||||||
|
<div id="link-list" style="align-items: left; justify-content: left;">
|
||||||
|
<ul>
|
||||||
|
{{ range $sortedSections }}
|
||||||
|
<li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
|
||||||
|
{{ end }}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ if eq (len $sortedPages) 0 }}
|
||||||
|
<div style="display: flex; align-items: center; gap: 8px; margin: 1rem 0;">
|
||||||
|
<span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(225, 82, 225);"></span>
|
||||||
|
<span style="color: rgb(225, 82, 225); font-size: 1rem;">No Tools Found</span>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<table id="taxonomy-table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Tool</th>
|
||||||
|
<th>Applications</th>
|
||||||
|
<th>Licenses</th>
|
||||||
|
<!-- <th>Developers</th> -->
|
||||||
|
<!-- <th>Description</th> -->
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{ range $sortedPages }}
|
||||||
|
<tr onclick="window.location='{{ .RelPermalink }}'" style="cursor:pointer;">
|
||||||
|
<td>
|
||||||
|
{{ if .Params.maintenance }}
|
||||||
|
{{ if in .Params.maintenance "Not Maintained" }}
|
||||||
|
<div style="display: flex; align-items: center; gap: 8px;">
|
||||||
|
<a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a>
|
||||||
|
<span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(128, 28, 28);"></span>
|
||||||
|
</div>
|
||||||
|
{{ else }}
|
||||||
|
<a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a>
|
||||||
|
{{ end }}
|
||||||
|
{{ else }}
|
||||||
|
<a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a>
|
||||||
|
{{ end }}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ $sep := "" }}
|
||||||
|
{{ range $key, $vals := .Params }}
|
||||||
|
{{ if (in (slice "applications") $key) }}
|
||||||
|
{{ $sep }}
|
||||||
|
{{ range $i, $val := $vals }}
|
||||||
|
{{ partial "term-link.html" (dict "name" $val "taxonomy" $key) }}
|
||||||
|
{{ end }}
|
||||||
|
{{ $sep = "; " }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ $sep := "" }}
|
||||||
|
{{ range $key, $vals := .Params }}
|
||||||
|
{{ if (in (slice "licenses") $key) }}
|
||||||
|
{{ $sep }}
|
||||||
|
{{ range $i, $val := $vals }}
|
||||||
|
{{ partial "term-link.html" (dict "name" $val "taxonomy" $key) }}
|
||||||
|
{{ end }}
|
||||||
|
{{ $sep = "; " }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
</td>
|
||||||
|
<!-- <td>
|
||||||
|
{{ $sep := "" }}
|
||||||
|
{{ range $key, $vals := .Params }}
|
||||||
|
{{ if (in (slice "developers") $key) }}
|
||||||
|
{{ $sep }}
|
||||||
|
{{ range $i, $val := $vals }}
|
||||||
|
{{ partial "term-link.html" (dict "name" $val "taxonomy" $key) }}
|
||||||
|
{{ end }}
|
||||||
|
{{ $sep = "; " }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
</td> -->
|
||||||
|
<!-- <td class="description">{{ .Content | plainify | truncate 40 }}</td> -->
|
||||||
|
</tr>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<div style="display: flex; align-items: center; gap: 8px; margin: 1rem 0 0 0;">
|
||||||
|
<span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(128, 28, 28);"></span>
|
||||||
|
<span style="color: rgb(128, 28, 28); font-size: 1rem;">Red dot indicates tool has not been updated or maintained recently</span>
|
||||||
|
</div>
|
||||||
|
<!-- <div style="display: flex; align-items: center; gap: 8px; margin: 0;">
|
||||||
|
<span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(143, 96, 15);"></span>
|
||||||
|
<span style="color: rgb(150, 150, 150); font-size: 1rem;">Orange dot indicates closed-source or restrictively licensed tool</span>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
{{ end }}
|
||||||
|
|
1609
static/css/brands.css
Normal file
1609
static/css/brands.css
Normal file
File diff suppressed because it is too large
Load Diff
6243
static/css/fontawesome.css
vendored
Normal file
6243
static/css/fontawesome.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
19
static/css/solid.css
Normal file
19
static/css/solid.css
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
/*!
|
||||||
|
* Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
|
||||||
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||||
|
* Copyright 2024 Fonticons, Inc.
|
||||||
|
*/
|
||||||
|
:root, :host {
|
||||||
|
--fa-style-family-classic: 'Font Awesome 6 Free';
|
||||||
|
--fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free'; }
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Font Awesome 6 Free';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 900;
|
||||||
|
font-display: block;
|
||||||
|
src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }
|
||||||
|
|
||||||
|
.fas,
|
||||||
|
.fa-solid {
|
||||||
|
font-weight: 900; }
|
BIN
static/fonts/static/SourceCodePro-Medium.ttf
Normal file
BIN
static/fonts/static/SourceCodePro-Medium.ttf
Normal file
Binary file not shown.
BIN
static/fonts/static/SourceCodePro-Medium.woff2
Normal file
BIN
static/fonts/static/SourceCodePro-Medium.woff2
Normal file
Binary file not shown.
BIN
static/fonts/static/SourceCodePro-MediumItalic.ttf
Normal file
BIN
static/fonts/static/SourceCodePro-MediumItalic.ttf
Normal file
Binary file not shown.
BIN
static/fonts/static/SourceCodePro-MediumItalic.woff2
Normal file
BIN
static/fonts/static/SourceCodePro-MediumItalic.woff2
Normal file
Binary file not shown.
165
static/webfonts/LICENSE.txt
Normal file
165
static/webfonts/LICENSE.txt
Normal file
@@ -0,0 +1,165 @@
|
|||||||
|
Fonticons, Inc. (https://fontawesome.com)
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Font Awesome Free License
|
||||||
|
|
||||||
|
Font Awesome Free is free, open source, and GPL friendly. You can use it for
|
||||||
|
commercial projects, open source projects, or really almost whatever you want.
|
||||||
|
Full Font Awesome Free license: https://fontawesome.com/license/free.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/)
|
||||||
|
|
||||||
|
The Font Awesome Free download is licensed under a Creative Commons
|
||||||
|
Attribution 4.0 International License and applies to all icons packaged
|
||||||
|
as SVG and JS file types.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Fonts: SIL OFL 1.1 License
|
||||||
|
|
||||||
|
In the Font Awesome Free download, the SIL OFL license applies to all icons
|
||||||
|
packaged as web and desktop font files.
|
||||||
|
|
||||||
|
Copyright (c) 2024 Fonticons, Inc. (https://fontawesome.com)
|
||||||
|
with Reserved Font Name: "Font Awesome".
|
||||||
|
|
||||||
|
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||||
|
This license is copied below, and is also available with a FAQ at:
|
||||||
|
http://scripts.sil.org/OFL
|
||||||
|
|
||||||
|
SIL OPEN FONT LICENSE
|
||||||
|
Version 1.1 - 26 February 2007
|
||||||
|
|
||||||
|
PREAMBLE
|
||||||
|
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||||
|
development of collaborative font projects, to support the font creation
|
||||||
|
efforts of academic and linguistic communities, and to provide a free and
|
||||||
|
open framework in which fonts may be shared and improved in partnership
|
||||||
|
with others.
|
||||||
|
|
||||||
|
The OFL allows the licensed fonts to be used, studied, modified and
|
||||||
|
redistributed freely as long as they are not sold by themselves. The
|
||||||
|
fonts, including any derivative works, can be bundled, embedded,
|
||||||
|
redistributed and/or sold with any software provided that any reserved
|
||||||
|
names are not used by derivative works. The fonts and derivatives,
|
||||||
|
however, cannot be released under any other type of license. The
|
||||||
|
requirement for fonts to remain under this license does not apply
|
||||||
|
to any document created using the fonts or their derivatives.
|
||||||
|
|
||||||
|
DEFINITIONS
|
||||||
|
"Font Software" refers to the set of files released by the Copyright
|
||||||
|
Holder(s) under this license and clearly marked as such. This may
|
||||||
|
include source files, build scripts and documentation.
|
||||||
|
|
||||||
|
"Reserved Font Name" refers to any names specified as such after the
|
||||||
|
copyright statement(s).
|
||||||
|
|
||||||
|
"Original Version" refers to the collection of Font Software components as
|
||||||
|
distributed by the Copyright Holder(s).
|
||||||
|
|
||||||
|
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||||
|
or substituting — in part or in whole — any of the components of the
|
||||||
|
Original Version, by changing formats or by porting the Font Software to a
|
||||||
|
new environment.
|
||||||
|
|
||||||
|
"Author" refers to any designer, engineer, programmer, technical
|
||||||
|
writer or other person who contributed to the Font Software.
|
||||||
|
|
||||||
|
PERMISSION & CONDITIONS
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||||
|
redistribute, and sell modified and unmodified copies of the Font
|
||||||
|
Software, subject to the following conditions:
|
||||||
|
|
||||||
|
1) Neither the Font Software nor any of its individual components,
|
||||||
|
in Original or Modified Versions, may be sold by itself.
|
||||||
|
|
||||||
|
2) Original or Modified Versions of the Font Software may be bundled,
|
||||||
|
redistributed and/or sold with any software, provided that each copy
|
||||||
|
contains the above copyright notice and this license. These can be
|
||||||
|
included either as stand-alone text files, human-readable headers or
|
||||||
|
in the appropriate machine-readable metadata fields within text or
|
||||||
|
binary files as long as those fields can be easily viewed by the user.
|
||||||
|
|
||||||
|
3) No Modified Version of the Font Software may use the Reserved Font
|
||||||
|
Name(s) unless explicit written permission is granted by the corresponding
|
||||||
|
Copyright Holder. This restriction only applies to the primary font name as
|
||||||
|
presented to the users.
|
||||||
|
|
||||||
|
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||||
|
Software shall not be used to promote, endorse or advertise any
|
||||||
|
Modified Version, except to acknowledge the contribution(s) of the
|
||||||
|
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||||
|
permission.
|
||||||
|
|
||||||
|
5) The Font Software, modified or unmodified, in part or in whole,
|
||||||
|
must be distributed entirely under this license, and must not be
|
||||||
|
distributed under any other license. The requirement for fonts to
|
||||||
|
remain under this license does not apply to any document created
|
||||||
|
using the Font Software.
|
||||||
|
|
||||||
|
TERMINATION
|
||||||
|
This license becomes null and void if any of the above conditions are
|
||||||
|
not met.
|
||||||
|
|
||||||
|
DISCLAIMER
|
||||||
|
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
|
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||||
|
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||||
|
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||||
|
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Code: MIT License (https://opensource.org/licenses/MIT)
|
||||||
|
|
||||||
|
In the Font Awesome Free download, the MIT license applies to all non-font and
|
||||||
|
non-icon files.
|
||||||
|
|
||||||
|
Copyright 2024 Fonticons, Inc.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
this software and associated documentation files (the "Software"), to deal in the
|
||||||
|
Software without restriction, including without limitation the rights to use, copy,
|
||||||
|
modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
|
||||||
|
and to permit persons to whom the Software is furnished to do so, subject to the
|
||||||
|
following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
||||||
|
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||||
|
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||||
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Attribution
|
||||||
|
|
||||||
|
Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font
|
||||||
|
Awesome Free files already contain embedded comments with sufficient
|
||||||
|
attribution, so you shouldn't need to do anything additional when using these
|
||||||
|
files normally.
|
||||||
|
|
||||||
|
We've kept attribution comments terse, so we ask that you do not actively work
|
||||||
|
to remove them from files, especially code. They're a great way for folks to
|
||||||
|
learn about Font Awesome.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Brand Icons
|
||||||
|
|
||||||
|
All brand icons are trademarks of their respective owners. The use of these
|
||||||
|
trademarks does not indicate endorsement of the trademark holder by Font
|
||||||
|
Awesome, nor vice versa. **Please do not use brand logos for any purpose except
|
||||||
|
to represent the company, product, or service to which they refer.**
|
BIN
static/webfonts/fa-brands-400.ttf
Normal file
BIN
static/webfonts/fa-brands-400.ttf
Normal file
Binary file not shown.
BIN
static/webfonts/fa-brands-400.woff2
Normal file
BIN
static/webfonts/fa-brands-400.woff2
Normal file
Binary file not shown.
BIN
static/webfonts/fa-regular-400.ttf
Normal file
BIN
static/webfonts/fa-regular-400.ttf
Normal file
Binary file not shown.
BIN
static/webfonts/fa-regular-400.woff2
Normal file
BIN
static/webfonts/fa-regular-400.woff2
Normal file
Binary file not shown.
BIN
static/webfonts/fa-solid-900.ttf
Normal file
BIN
static/webfonts/fa-solid-900.ttf
Normal file
Binary file not shown.
BIN
static/webfonts/fa-solid-900.woff2
Normal file
BIN
static/webfonts/fa-solid-900.woff2
Normal file
Binary file not shown.
BIN
static/webfonts/fa-v4compatibility.ttf
Normal file
BIN
static/webfonts/fa-v4compatibility.ttf
Normal file
Binary file not shown.
BIN
static/webfonts/fa-v4compatibility.woff2
Normal file
BIN
static/webfonts/fa-v4compatibility.woff2
Normal file
Binary file not shown.
Reference in New Issue
Block a user