Add character artwork.
|
@ -2,7 +2,7 @@ pipeline:
|
|||
build:
|
||||
image: cibuilds/hugo:0.49
|
||||
commands:
|
||||
- hugo
|
||||
- hugo --minify
|
||||
|
||||
deploy:
|
||||
image: lucap/drone-netlify
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
/public
|
||||
_gen/
|
|
@ -3,8 +3,14 @@ languageCode = "en-us"
|
|||
title = "Syfaro"
|
||||
theme = "fox"
|
||||
|
||||
enableGitInfo = true
|
||||
relativeURLs = true
|
||||
|
||||
[params]
|
||||
description = "Hi. I'm a purple fox."
|
||||
peppershrike = "https://peppershrike.huefox.com"
|
||||
|
||||
[imaging]
|
||||
resampleFilter = "Lanczos"
|
||||
|
||||
[taxonomies]
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
---
|
||||
title: "Character Reference"
|
||||
date: 2018-10-07T00:12:26-05:00
|
||||
draft: false
|
||||
---
|
||||
|
||||
### Returning shortly.
|
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
name: Growlbeast
|
||||
link: https://twitter.com/Growlbeast
|
||||
|
||||
resources:
|
||||
- src: syfaro_sketch_pinup.png
|
||||
params:
|
||||
nsfw: true
|
||||
source: https://twitter.com/Growlbeast/status/871995975375650817
|
||||
- src: syfarobadgefull.png
|
||||
params:
|
||||
icon: true
|
||||
message: Growly face from Growlbeast is <3
|
||||
source: https://twitter.com/Growlbeast/status/799036962262892544
|
||||
- src: pJI1Rpe.png
|
||||
params:
|
||||
icon: true
|
||||
message: Sly fox~
|
||||
source: https://twitter.com/growlbeast/status/603283035002273792
|
||||
---
|
After Width: | Height: | Size: 104 KiB |
After Width: | Height: | Size: 1.3 MiB |
After Width: | Height: | Size: 2.8 MiB |
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
name: InuHein
|
||||
link: https://twitter.com/inuHein
|
||||
|
||||
resources:
|
||||
- src: nicanbun3.png
|
||||
params:
|
||||
icon: true
|
||||
---
|
After Width: | Height: | Size: 538 KiB |
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
name: Kavaeric
|
||||
link: https://www.weasyl.com/~kavaeric
|
||||
|
||||
resources:
|
||||
- src: kavaeric-commish-headshot-syfaro.png
|
||||
params:
|
||||
icon: true
|
||||
source: https://www.weasyl.com/~kavaeric/submissions/1002529/com-headshot-syfaro
|
||||
---
|
After Width: | Height: | Size: 669 KiB |
After Width: | Height: | Size: 28 KiB |
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
name: KojiFox
|
||||
link: https://www.weasyl.com/~kavaeric
|
||||
|
||||
resources:
|
||||
- src: Syfaro_Minimal_Twitter_500x500_Corrected.png
|
||||
params:
|
||||
icon: true
|
||||
message: Minimalism is neat
|
||||
source: https://twitter.com/KojiFox/status/555723010397990912
|
||||
---
|
After Width: | Height: | Size: 825 KiB |
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
name: KosseHyena
|
||||
link: https://twitter.com/KosseHyena
|
||||
|
||||
resources:
|
||||
- src: experimental-syfaro_sm.png
|
||||
params:
|
||||
source: https://twitter.com/KosseHyena/status/1002216973823086592
|
||||
---
|
After Width: | Height: | Size: 38 KiB |
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
name: LydiaPaige
|
||||
link: https://twitter.com/Lydiarts
|
||||
|
||||
resources:
|
||||
- src: syfaro.png
|
||||
params:
|
||||
icon: true
|
||||
message: Imma purple fox! :D
|
||||
source: https://twitter.com/Lydiarts/status/653415262482378752
|
||||
- src: d4su3TH.png
|
||||
params:
|
||||
message: Bounce, bounce, bounce
|
||||
---
|
After Width: | Height: | Size: 272 KiB |
After Width: | Height: | Size: 771 KiB |
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
name: Mithmeoi
|
||||
link: https://twitter.com/Mithmeoi
|
||||
|
||||
resources:
|
||||
- src: IMG_014.png
|
||||
params:
|
||||
message: :D
|
||||
source: https://twitter.com/Mithmeoi/status/713601307056017408
|
||||
---
|
After Width: | Height: | Size: 7.5 KiB |
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
name: Nameless Coyote
|
||||
link: https://twitter.com/Nameless_Coyote
|
||||
|
||||
resources:
|
||||
- src: aghjkjhgfdssdg_by_sweetwolf1-d9ywl1h.png
|
||||
params:
|
||||
message: Pixels!
|
||||
---
|
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
name: OrlandoFox
|
||||
link: https://www.furaffinity.net/user/thedoggygal
|
||||
|
||||
resources:
|
||||
- src: vzzkAii.png
|
||||
params:
|
||||
icon: true
|
||||
---
|
After Width: | Height: | Size: 170 KiB |
After Width: | Height: | Size: 1.2 MiB |
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
name: PaintlessDog
|
||||
link: https://twitter.com/PaintlessDog
|
||||
|
||||
resources:
|
||||
- src: Coei7XrVUAEEpph.jpg
|
||||
params:
|
||||
icon: true
|
||||
message: Still smells like coffee!
|
||||
source: https://twitter.com/PaintlessDog/status/758754257147351040
|
||||
---
|
After Width: | Height: | Size: 871 KiB |
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
name: Paws
|
||||
link: https://www.furaffinity.net/user/paws/
|
||||
|
||||
resources:
|
||||
- src: 1412654852.paws_finchibisyfaro.png
|
||||
params:
|
||||
source: https://www.furaffinity.net/view/14716486/
|
||||
---
|
After Width: | Height: | Size: 551 KiB |
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
name: Psychonautic
|
||||
link: https://www.furaffinity.net/user/paws/
|
||||
|
||||
resources:
|
||||
- src: Syfaro.png
|
||||
params:
|
||||
message: Creative liberty is neat and lots of purple is lovely
|
||||
source: https://www.furaffinity.net/view/19620670/
|
||||
---
|
After Width: | Height: | Size: 114 KiB |
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
name: Saosin
|
||||
link: https://www.furaffinity.net/user/Jawbones
|
||||
|
||||
resources:
|
||||
- src: Syfaro_zps145ea355.png
|
||||
params:
|
||||
icon: true
|
||||
source: http://www.furryteens.org/forum/index.php?topic=19598.msg450475#msg450475
|
||||
---
|
After Width: | Height: | Size: 137 KiB |
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
name: Sirod
|
||||
link: https://twitter.com/5irod
|
||||
|
||||
resources:
|
||||
- src: icon.png
|
||||
params:
|
||||
icon: true
|
||||
source: https://twitter.com/5irod/status/585877842010902528
|
||||
---
|
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
name: Skdaffle
|
||||
link: http://skdaffle.art/
|
||||
|
||||
resources:
|
||||
- src: syfarocomm.png
|
||||
params:
|
||||
nsfw: true
|
||||
message: nature is beautiful
|
||||
source: https://www.furaffinity.net/view/28105329
|
||||
---
|
After Width: | Height: | Size: 1.9 MiB |
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
name: SuncatArt
|
||||
link: https://twitter.com/SuncatArt
|
||||
|
||||
resources:
|
||||
- src: syfaro_500x1000_by_citriel-dbwqgzs.png
|
||||
params:
|
||||
icon: true
|
||||
---
|
After Width: | Height: | Size: 538 KiB |
After Width: | Height: | Size: 33 KiB |
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
name: TheShoujoPrince
|
||||
link: https://twitter.com/TheShoujoPrince
|
||||
|
||||
resources:
|
||||
- src: B36fIcoCAAE-kta.jpg
|
||||
params:
|
||||
icon: true
|
||||
source: https://twitter.com/TheShoujoPrince/status/540043973369561089
|
||||
---
|
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
name: Thrushes
|
||||
link: https://www.furaffinity.net/user/thrushes/
|
||||
|
||||
resources:
|
||||
- src: syfaro.png
|
||||
params:
|
||||
message: Foxes do lots of things!
|
||||
source: https://www.furaffinity.net/view/21371763/
|
||||
---
|
After Width: | Height: | Size: 913 KiB |
After Width: | Height: | Size: 635 KiB |
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
name: Tsaiwolf
|
||||
link: https://www.furaffinity.net/user/tsaiwolf
|
||||
|
||||
resources:
|
||||
- src: Tsaiwolf2018-SyfaroMultifox-LR.png
|
||||
params:
|
||||
nsfw: true
|
||||
message: A beautiful gift from Tsaiwolf!
|
||||
source: https://www.furaffinity.net/view/28093358/
|
||||
---
|
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
name: VermStudio
|
||||
link: https://www.furaffinity.net/user/thrushes/
|
||||
|
||||
resources:
|
||||
- src: maw.png
|
||||
params:
|
||||
icon: true
|
||||
source: https://twitter.com/VermStudio/status/639629069114474496
|
||||
---
|
After Width: | Height: | Size: 158 KiB |
After Width: | Height: | Size: 3.0 MiB |
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
name: Yuniwolfsky
|
||||
link: https://www.furaffinity.net/user/yuniwolfsky
|
||||
|
||||
resources:
|
||||
- src: 1453171632.yuniwolfsky_nican_fetish_sheet.png
|
||||
params:
|
||||
nsfw: true
|
||||
message: What aren't foxes into?
|
||||
source: https://www.furaffinity.net/view/18832106/
|
||||
---
|
|
@ -0,0 +1,38 @@
|
|||
---
|
||||
title: "Character Reference"
|
||||
draft: false
|
||||
type: "char"
|
||||
---
|
||||
|
||||
Male red fox. Generally
|
||||
{{<charcolor "dark-purple">}}dark purple{{</charcolor>}} with
|
||||
just a few markings.
|
||||
|
||||
* Typical red fox markings, except with shades of purple
|
||||
* {{<charcolor "blue">}}Blue{{</charcolor>}} stripe down the spine to the tip of the tail
|
||||
* {{<charcolor "light-purple">}}Light purple{{</charcolor>}} eyes
|
||||
* {{<charcolor "blue">}}Blue{{</charcolor>}} pawpads
|
||||
|
||||
Wears a {{<charcolor "blueberry">}}blueberry{{</charcolor>}} collar with
|
||||
{{<charcolor "gold">}}gold{{</charcolor>}} accents.
|
||||
|
||||
Perhaps around 5'10", but not fixed.
|
||||
|
||||
I quite like the recent trend of lighter shades of purple, the icon at
|
||||
the top is my favorite colors so far. I also tend to love bright, vibrant
|
||||
colors. I'm really not picky, and love seeing what artists envision :3
|
||||
|
||||
No specific colors are expected to be used, artists are encouraged to
|
||||
use whatever fits best with their style and the theme of the work.
|
||||
|
||||
{{<nsfw>}}
|
||||
Penis is canine in style including sheath, about 7" long, and
|
||||
{{<charcolor "blue">}}blue{{</charcolor>}}.
|
||||
|
||||
Typically extremely submissive, although a dominant side does surface
|
||||
infrequently. Quite often seen locked in a chastity device.
|
||||
{{</nsfw>}}
|
||||
|
||||
{{<reveal>}}
|
||||
Reveal 18+ content
|
||||
{{</reveal>}}
|
After Width: | Height: | Size: 1.3 MiB |
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
name: birbdog
|
||||
link: https://twitter.com/birbdog
|
||||
|
||||
resources:
|
||||
- src: comforsy.png
|
||||
params:
|
||||
icon: true
|
||||
source: https://twitter.com/birbdog/status/752275044840116228
|
||||
---
|
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
name: casparr
|
||||
link: https://www.furaffinity.net/user/casparr/
|
||||
|
||||
resources:
|
||||
- src: tumblr_nyt4dpHbKd1u7i96po1_1280.png
|
||||
params:
|
||||
nsfw: true
|
||||
source: https://www.furaffinity.net/view/18492279/
|
||||
---
|
After Width: | Height: | Size: 352 KiB |
After Width: | Height: | Size: 328 KiB |
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
name: casual-dhole
|
||||
link: https://www.weasyl.com/~casual-dhole
|
||||
|
||||
resources:
|
||||
- src: fylninsyf2_(web).png
|
||||
params:
|
||||
message: Exploring is fun! Ooh bug
|
||||
source: https://www.weasyl.com/~casualdhole/submissions/1366603/etchings-in-the-ruins
|
||||
---
|
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
name: crepusculecat
|
||||
link: https://twitter.com/crepusculecat
|
||||
|
||||
resources:
|
||||
- src: syfaro.png
|
||||
params:
|
||||
message: Isn't my boyfriend cute? :3
|
||||
- src: paintitntin.png
|
||||
params:
|
||||
icon: true
|
||||
message: Glitchy and unusual colors and patterns are fantastic
|
||||
source: https://twitter.com/crepusculecat/status/742161098472706048
|
||||
---
|
After Width: | Height: | Size: 762 KiB |
After Width: | Height: | Size: 345 KiB |
After Width: | Height: | Size: 334 KiB |
After Width: | Height: | Size: 618 KiB |
After Width: | Height: | Size: 696 KiB |
|
@ -0,0 +1,21 @@
|
|||
---
|
||||
name: dominate
|
||||
link: https://www.furaffinity.net/user/dominate/
|
||||
|
||||
resources:
|
||||
- src: BqoIGK2CcAA6QFM.png
|
||||
params:
|
||||
icon: true
|
||||
source: https://twitter.com/BA5ILEUS/status/480205213765091328
|
||||
- src: BoR2mqnIUAAL5hU.png
|
||||
params:
|
||||
icon: true
|
||||
message: My first commissioned artwork!!
|
||||
source: https://twitter.com/BA5ILEUS/status/469630670310883328
|
||||
- src: BoIQGwFIQAESpvr.png
|
||||
params:
|
||||
icon: true
|
||||
- src: ss+(2015-03-08+at+08.07.10).png
|
||||
params:
|
||||
icon: true
|
||||
---
|
After Width: | Height: | Size: 14 KiB |
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
name: kelevtov
|
||||
link: https://www.weasyl.com/~kavaeric
|
||||
|
||||
resources:
|
||||
- src: syfaro_sketchcommission1edit.png
|
||||
params:
|
||||
nsfw: true
|
||||
- src: syfaro_sketchcommission2edit.png
|
||||
params:
|
||||
nsfw: true
|
||||
message: Who wouldn't love to be tied up for public use~
|
||||
source: https://www.weasyl.com/~kavaeric/submissions/1002529/com-headshot-syfaro
|
||||
---
|
After Width: | Height: | Size: 3.0 MiB |
After Width: | Height: | Size: 2.8 MiB |
After Width: | Height: | Size: 892 KiB |
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
name: lilyote
|
||||
link: https://www.deviantart.com/lilyote
|
||||
|
||||
resources:
|
||||
- src: 5_copy_by_lilyote-daean4t.png
|
||||
params:
|
||||
icon: true
|
||||
message: :P
|
||||
source: http://lilyote.deviantart.com/art/headshot-for-syfaro-628673205
|
||||
---
|
After Width: | Height: | Size: 176 KiB |
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
name: lostshade
|
||||
link: https://www.furaffinity.net/user/lostshade/
|
||||
|
||||
resources:
|
||||
- src: 1.png
|
||||
params:
|
||||
icon: true
|
||||
---
|
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
name: oCe
|
||||
link: https://www.furaffinity.net/user/oce/
|
||||
|
||||
resources:
|
||||
- src: syfaro-sketch-web.jpg
|
||||
params:
|
||||
message: Mmmmm grapes, a great source of purple
|
||||
source: https://www.furaffinity.net/view/20449854/
|
||||
---
|
After Width: | Height: | Size: 261 KiB |
After Width: | Height: | Size: 634 KiB |
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
name: pig
|
||||
link: https://www.furaffinity.net/user/paws/
|
||||
|
||||
resources:
|
||||
- src: doodle3.png
|
||||
params:
|
||||
nsfw: true
|
||||
message: A fox in their natural state
|
||||
- src: public.png
|
||||
params:
|
||||
nsfw: true
|
||||
message: How unusual, a fox that isn't in the middle
|
||||
source: https://www.furaffinity.net/view/19787399/
|
||||
---
|
After Width: | Height: | Size: 13 MiB |
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
name: puppytube
|
||||
link: https://twitter.com/puppytube
|
||||
|
||||
resources:
|
||||
- src: puppytube-syfaro.png
|
||||
params:
|
||||
icon: true
|
||||
---
|
After Width: | Height: | Size: 66 KiB |
After Width: | Height: | Size: 1.6 MiB |
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
name: wryote
|
||||
link: https://twitter.com/wryote
|
||||
|
||||
resources:
|
||||
- src: purpleblck.png
|
||||
params:
|
||||
icon: true
|
||||
message: Resist!
|
||||
source: https://twitter.com/wryote/status/829824956921954308
|
||||
- src: TkqIgov9.png
|
||||
params:
|
||||
icon: true
|
||||
source: https://www.weasyl.com/~kunacoyote/submissions/827857/syfaro-icon-commission
|
||||
---
|
After Width: | Height: | Size: 2.1 MiB |
306
data/char.json
|
@ -1,306 +0,0 @@
|
|||
{
|
||||
"artists": {
|
||||
"KosseHyena": {
|
||||
"link": "https://twitter.com/KosseHyena"
|
||||
},
|
||||
"Tsaiwolf": {
|
||||
"link": "https://www.furaffinity.net/user/tsaiwolf"
|
||||
},
|
||||
"Growlbeast": {
|
||||
"link": "https://twitter.com/Growlbeast"
|
||||
},
|
||||
"Thrushes": {
|
||||
"link": "https://www.furaffinity.net/user/thrushes/"
|
||||
},
|
||||
"oCe": {
|
||||
"link": "https://www.furaffinity.net/user/oce/"
|
||||
},
|
||||
"crepusculecat": {
|
||||
"link": "https://twitter.com/crepusculecat"
|
||||
},
|
||||
"kelevtov": {
|
||||
"link": "https://www.furaffinity.net/user/kelevtov."
|
||||
},
|
||||
"pig": {
|
||||
"link": "https://www.furaffinity.net/user/pig"
|
||||
},
|
||||
"Nameless_Coyote": {
|
||||
"link": "https://twitter.com/Nameless_Coyote"
|
||||
},
|
||||
"Psychonautic": {
|
||||
"link": "https://www.furaffinity.net/user/psychonautic/"
|
||||
},
|
||||
"Mithmeoi": {
|
||||
"link": "https://twitter.com/Mithmeoi"
|
||||
},
|
||||
"Yuniwolfsky": {
|
||||
"link": "https://www.furaffinity.net/user/yuniwolfsky"
|
||||
},
|
||||
"LydiaPaige": {
|
||||
"link": "https://twitter.com/Lydiarts"
|
||||
},
|
||||
"casparr": {
|
||||
"link": "https://www.furaffinity.net/user/casparr/"
|
||||
},
|
||||
"casual-dhole": {
|
||||
"link": "https://www.weasyl.com/~casual-dhole"
|
||||
},
|
||||
"Paws": {
|
||||
"link": "https://www.furaffinity.net/user/paws/"
|
||||
},
|
||||
"SuncatArt": {
|
||||
"link": "https://twitter.com/SuncatArt"
|
||||
},
|
||||
"wryote": {
|
||||
"link": "https://twitter.com/wryote"
|
||||
},
|
||||
"lilyote": {
|
||||
"link": "https://www.deviantart.com/lilyote"
|
||||
},
|
||||
"PaintlessDog": {
|
||||
"link": "https://twitter.com/PaintlessDog"
|
||||
},
|
||||
"birbdog": {
|
||||
"link": "https://twitter.com/birbdog"
|
||||
},
|
||||
"lostshade": {
|
||||
"link": "https://www.furaffinity.net/user/lostshade/"
|
||||
},
|
||||
"puppytube": {
|
||||
"link": "https://twitter.com/puppytube"
|
||||
},
|
||||
"VermStudio": {
|
||||
"link": "https://twitter.com/VermStudio"
|
||||
},
|
||||
"Kavaeric": {
|
||||
"link": "https://www.weasyl.com/~kavaeric"
|
||||
},
|
||||
"Sirod": {
|
||||
"link": "https://twitter.com/5irod"
|
||||
},
|
||||
"dominate": {
|
||||
"link": "https://www.furaffinity.net/user/dominate/"
|
||||
},
|
||||
"KojiFox": {
|
||||
"link": "https://twitter.com/KojiFox"
|
||||
},
|
||||
"TheShoujoPrince": {
|
||||
"link": "https://twitter.com/TheShoujoPrince"
|
||||
},
|
||||
"Saosin": {
|
||||
"link": "https://www.furaffinity.net/user/Jawbones"
|
||||
},
|
||||
"OrlandoFox": {
|
||||
"link": "https://www.furaffinity.net/user/thedoggygal"
|
||||
},
|
||||
"InuHein": {
|
||||
"link": "https://twitter.com/inuHein"
|
||||
},
|
||||
"Skdaffle": {
|
||||
"link": "http://skdaffle.art/"
|
||||
}
|
||||
},
|
||||
"artwork": [
|
||||
{
|
||||
"artist": "Skdaffle",
|
||||
"link": "https://www.furaffinity.net/view/28105329",
|
||||
"filename": "syfarocomm.png",
|
||||
"message": "nature is beautiful",
|
||||
"nsfw": true
|
||||
},
|
||||
{
|
||||
"artist": "Tsaiwolf",
|
||||
"link": "https://www.furaffinity.net/view/28093358/",
|
||||
"filename": "Tsaiwolf2018-SyfaroMultifox-LR.png",
|
||||
"message": "A beautiful gift from Tsaiwolf!",
|
||||
"nsfw": true
|
||||
}, {
|
||||
"artist": "KosseHyena",
|
||||
"link": "https://twitter.com/KosseHyena/status/1002216973823086592",
|
||||
"filename": "experimental-syfaro_sm.png"
|
||||
}, {
|
||||
"artist": "Growlbeast",
|
||||
"link": "https://twitter.com/Growlbeast/status/871995975375650817",
|
||||
"filename": "syfaro_sketch_pinup.png",
|
||||
"nsfw": true
|
||||
}, {
|
||||
"artist": "Thrushes",
|
||||
"link": "https://www.furaffinity.net/view/21371763/",
|
||||
"filename": "syfaro.png",
|
||||
"message": "Foxes do lots of things!"
|
||||
}, {
|
||||
"artist": "oCe",
|
||||
"link": "https://www.furaffinity.net/view/20449854/",
|
||||
"filename": "syfaro-sketch-web.jpg",
|
||||
"message": "Mmmmm grapes, a great source of purple"
|
||||
}, {
|
||||
"artist": "crepusculecat",
|
||||
"filename": "syfaro.png",
|
||||
"message": "Isn't my boyfriend cute? :3"
|
||||
}, {
|
||||
"artist": "kelevtov",
|
||||
"filename": "syfaro_sketchcommission1edit.png",
|
||||
"nsfw": true
|
||||
}, {
|
||||
"artist": "kelevtov",
|
||||
"link": "https://www.furaffinity.net/view/20201962/",
|
||||
"filename": "syfaro_sketchcommission2edit.png",
|
||||
"message": "Who wouldn't love to be tied up for public use~",
|
||||
"nsfw": true
|
||||
}, {
|
||||
"artist": "pig",
|
||||
"filename": "doodle3.png",
|
||||
"message": "A fox in their natural state",
|
||||
"nsfw": true
|
||||
}, {
|
||||
"artist": "pig",
|
||||
"link": "https://www.furaffinity.net/view/19787399/",
|
||||
"filename": "public.png",
|
||||
"message": "How unusual, a fox that isn't in the middle",
|
||||
"nsfw": true
|
||||
}, {
|
||||
"artist": "Nameless_Coyote",
|
||||
"filename": "aghjkjhgfdssdg_by_sweetwolf1-d9ywl1h.png",
|
||||
"message": "Pixels!"
|
||||
}, {
|
||||
"artist": "Psychonautic",
|
||||
"link": "https://www.furaffinity.net/view/19620670/",
|
||||
"filename": "Syfaro.png",
|
||||
"message": "Creative liberty is neat and lots of purple is lovely"
|
||||
}, {
|
||||
"artist": "Mithmeoi",
|
||||
"link": "https://twitter.com/Mithmeoi/status/713601307056017408",
|
||||
"filename": "IMG_014.png",
|
||||
"message": ":D"
|
||||
}, {
|
||||
"artist": "Yuniwolfsky",
|
||||
"link": "https://www.furaffinity.net/view/18832106/",
|
||||
"filename": "1453171632.yuniwolfsky_nican_fetish_sheet.png",
|
||||
"message": "What aren't foxes into?",
|
||||
"nsfw": true
|
||||
}, {
|
||||
"artist": "LydiaPaige",
|
||||
"filename": "d4su3TH.png",
|
||||
"message": "Bounce, bounce, bounce"
|
||||
}, {
|
||||
"artist": "casparr",
|
||||
"link": "https://www.furaffinity.net/view/18492279/",
|
||||
"filename": "tumblr_nyt4dpHbKd1u7i96po1_1280.png",
|
||||
"nsfw": true
|
||||
}, {
|
||||
"artist": "casual-dhole",
|
||||
"link": "https://www.weasyl.com/~casualdhole/submissions/1366603/etchings-in-the-ruins",
|
||||
"filename": "fylninsyf2_(web).png",
|
||||
"message": "Exploring is fun! Ooh bug"
|
||||
}, {
|
||||
"artist": "Paws",
|
||||
"link": "https://www.furaffinity.net/view/14716486/",
|
||||
"filename": "1412654852.paws_finchibisyfaro.png"
|
||||
}
|
||||
],
|
||||
"icons": [
|
||||
{
|
||||
"artist": "InuHein",
|
||||
"filename": "nicanbun3.png"
|
||||
},
|
||||
{
|
||||
"artist": "SuncatArt",
|
||||
"filename": "syfaro_500x1000_by_citriel-dbwqgzs.png"
|
||||
},
|
||||
{
|
||||
"artist": "wryote",
|
||||
"link": "https://twitter.com/wryote/status/829824956921954308",
|
||||
"filename": "purpleblck.png",
|
||||
"message": "Resist!"
|
||||
},
|
||||
{
|
||||
"artist": "Growlbeast",
|
||||
"link": "https://twitter.com/Growlbeast/status/799036962262892544",
|
||||
"filename": "syfarobadgefull.png",
|
||||
"message": "Growly face from Growlbeast is <3"
|
||||
}, {
|
||||
"artist": "lilyote",
|
||||
"link": "http://lilyote.deviantart.com/art/headshot-for-syfaro-628673205",
|
||||
"filename": "5_copy_by_lilyote-daean4t.png",
|
||||
"message": ":P"
|
||||
}, {
|
||||
"artist": "PaintlessDog",
|
||||
"link": "https://twitter.com/PaintlessDog/status/758754257147351040",
|
||||
"filename": "Coei7XrVUAEEpph.jpg",
|
||||
"message": "Still smells like coffee!"
|
||||
}, {
|
||||
"artist": "birbdog",
|
||||
"link": "https://twitter.com/birbdog/status/752275044840116228",
|
||||
"filename": "comforsy.png"
|
||||
}, {
|
||||
"artist": "lostshade",
|
||||
"filename": "1.png"
|
||||
}, {
|
||||
"artist": "crepusculecat",
|
||||
"link": "https://twitter.com/crepusculecat/status/742161098472706048",
|
||||
"filename": "paintitntin.png",
|
||||
"message": "Glitchy and unusual colors and patterns are fantastic"
|
||||
}, {
|
||||
"artist": "LydiaPaige",
|
||||
"link": "https://twitter.com/Lydiarts/status/653415262482378752",
|
||||
"filename": "syfaro.png",
|
||||
"message": "Imma purple fox! :D"
|
||||
}, {
|
||||
"artist": "puppytube",
|
||||
"filename": "puppytube-syfaro.png"
|
||||
}, {
|
||||
"artist": "VermStudio",
|
||||
"link": "https://twitter.com/VermStudio/status/639629069114474496",
|
||||
"filename": "maw.png"
|
||||
}, {
|
||||
"artist": "Kavaeric",
|
||||
"link": "https://www.weasyl.com/~kavaeric/submissions/1002529/com-headshot-syfaro",
|
||||
"filename": "kavaeric-commish-headshot-syfaro.png"
|
||||
}, {
|
||||
"artist": "Growlbeast",
|
||||
"link": "https://twitter.com/growlbeast/status/603283035002273792",
|
||||
"filename": "pJI1Rpe.png",
|
||||
"message": "Sly fox~"
|
||||
}, {
|
||||
"artist": "Sirod",
|
||||
"link": "https://twitter.com/5irod/status/585877842010902528",
|
||||
"filename": "icon.png"
|
||||
}, {
|
||||
"artist": "dominate",
|
||||
"filename": "ss+(2015-03-08+at+08.07.10).png"
|
||||
}, {
|
||||
"artist": "KojiFox",
|
||||
"link": "https://twitter.com/KojiFox/status/555723010397990912",
|
||||
"filename": "Syfaro_Minimal_Twitter_500x500_Corrected.png",
|
||||
"message": "Minimalism is neat"
|
||||
}, {
|
||||
"artist": "wryote",
|
||||
"link": "https://www.weasyl.com/~kunacoyote/submissions/827857/syfaro-icon-commission",
|
||||
"filename": "TkqIgov9.png"
|
||||
}, {
|
||||
"artist": "TheShoujoPrince",
|
||||
"link": "https://twitter.com/TheShoujoPrince/status/540043973369561089",
|
||||
"filename": "B36fIcoCAAE-kta.jpg"
|
||||
}, {
|
||||
"artist": "Saosin",
|
||||
"link": "http://www.furryteens.org/forum/index.php?topic=19598.msg450475#msg450475",
|
||||
"filename": "Syfaro_zps145ea355.png"
|
||||
}, {
|
||||
"artist": "OrlandoFox",
|
||||
"filename": "vzzkAii.png"
|
||||
}, {
|
||||
"artist": "dominate",
|
||||
"link": "https://twitter.com/BA5ILEUS/status/480205213765091328",
|
||||
"filename": "BqoIGK2CcAA6QFM.png"
|
||||
}, {
|
||||
"artist": "dominate",
|
||||
"link": "https://twitter.com/BA5ILEUS/status/469630670310883328",
|
||||
"filename": "BoR2mqnIUAAL5hU.png"
|
||||
}, {
|
||||
"artist": "dominate",
|
||||
"link": "https://twitter.com/BA5ILEUS/status/468955025004589056",
|
||||
"filename": "BoIQGwFIQAESpvr.png",
|
||||
"message": "My first commissioned artwork!!"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
{{ define "container" }}
|
||||
<div class="container post">
|
||||
<article>
|
||||
<h2>{{ .Title }}</h2>
|
||||
|
||||
<section>
|
||||
{{ .Content }}
|
||||
</section>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<div class="container art">
|
||||
<section class="artwork">
|
||||
<h3>Artwork</h3>
|
||||
|
||||
<div class="grid" id="art">
|
||||
{{ partial "char/grid.html" (dict "ctx" . "type" "artwork") }}
|
||||
</div>
|
||||
|
||||
<h3>Icons</h3>
|
||||
|
||||
<div class="grid" id="icons">
|
||||
{{ partial "char/grid.html" (dict "ctx" . "type" "icon") }}
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
{{ $app := resources.Get "js/app.js" | resources.Fingerprint }}
|
||||
<script src="{{ $app.RelPermalink }}" integrity="{{ $app.Data.Integrity }}"></script>
|
||||
{{ end }}
|
|
@ -0,0 +1,38 @@
|
|||
{{ define "container" }}
|
||||
<div class="container post">
|
||||
<article>
|
||||
<h2>Artwork by <a href="{{ .Params.link }}">{{ .Params.name }}</h2></a>
|
||||
|
||||
{{ if .Content }}
|
||||
<section>
|
||||
{{ .Content }}
|
||||
</section>
|
||||
{{ end }}
|
||||
|
||||
<section>
|
||||
{{ range .Page.Resources.ByType "image" }}
|
||||
{{ $reg := .Fit "1000x1000" }}
|
||||
{{ $ret := .Fit "2000x2000" }}
|
||||
<figure>
|
||||
<img src="{{ $reg.RelPermalink }}" srcset="{{ $reg.RelPermalink }} 1x, {{ $ret.RelPermalink }} 2x">
|
||||
{{ if or .Params.source .Params.message }}
|
||||
<figcaption>
|
||||
{{ if .Params.message }}
|
||||
<div>
|
||||
{{ .Params.message }}
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
{{ if .Params.source }}
|
||||
<div>
|
||||
<a href="{{ .Params.source }}">{{ .Params.source }}</a>
|
||||
</div>
|
||||
{{ end }}
|
||||
</figcaption>
|
||||
{{ end }}
|
||||
</figure>
|
||||
{{ end }}
|
||||
</section>
|
||||
</article>
|
||||
</div>
|
||||
{{ end }}
|
|
@ -0,0 +1,41 @@
|
|||
{{ $size := "200x" }}
|
||||
{{ $retSize := "400x" }}
|
||||
{{ if eq .type "artwork" }}
|
||||
{{ $size = "400x" }}
|
||||
{{ $retSize = "800x" }}
|
||||
{{ end }}
|
||||
|
||||
{{ range .ctx.Pages }}
|
||||
{{ $page := . }}
|
||||
{{ range .Resources.ByType "image" }}
|
||||
{{ $shouldDisplay := false }}
|
||||
|
||||
{{ if and .Params.icon (eq $.type "icon") }}
|
||||
{{ $shouldDisplay = true }}
|
||||
{{ end }}
|
||||
|
||||
{{ if and (not .Params.icon) (eq $.type "artwork") }}
|
||||
{{ $shouldDisplay = true }}
|
||||
{{ end }}
|
||||
|
||||
{{ if $shouldDisplay }}
|
||||
{{ $reg := .Resize $size }}
|
||||
{{ $ret := .Resize $retSize }}
|
||||
|
||||
{{ $link := .Params.source }}
|
||||
{{ if not $link }}
|
||||
{{ $link = $page.Params.link }}
|
||||
{{ end }}
|
||||
|
||||
<a
|
||||
href="{{ $link }}"
|
||||
{{ if .Params.message }} data-message="{{ .Params.message }}" {{ end }}
|
||||
{{ if .Params.nsfw }} class="nsfw" {{ end }}
|
||||
>
|
||||
<img
|
||||
src="{{ $reg.RelPermalink }}"
|
||||
srcset="{{ $reg.RelPermalink }} 1x, {{ $ret.RelPermalink }} 2x">
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
|
@ -0,0 +1 @@
|
|||
<span class="color color-{{ .Get 0 }}">{{ .Inner }}</span>
|
|
@ -0,0 +1,3 @@
|
|||
<p class="nsfw">
|
||||
{{ .Inner }}
|
||||
</p>
|
|
@ -0,0 +1 @@
|
|||
<a href="#" class="reveal">{{ .Inner }}</a>
|
|
@ -0,0 +1,122 @@
|
|||
class Gridify {
|
||||
constructor(node, opts = {}) {
|
||||
this.node = node;
|
||||
this.opts = opts;
|
||||
this.node.style.position = 'relative';
|
||||
window.addEventListener('resize', this.render.bind(this));
|
||||
this.imagesLoaded().then(this.render.bind(this));
|
||||
}
|
||||
imagesLoaded() {
|
||||
return new Promise((resolve, reject) => {
|
||||
const images = this.node.querySelectorAll('img');
|
||||
let count = images.length;
|
||||
if (count === 0)
|
||||
resolve();
|
||||
let loaded = ev => {
|
||||
count--;
|
||||
if (count === 0)
|
||||
resolve();
|
||||
};
|
||||
images.forEach(image => {
|
||||
const img = new Image();
|
||||
img.addEventListener('load', loaded);
|
||||
img.addEventListener('error', loaded);
|
||||
img.src = image.src;
|
||||
});
|
||||
});
|
||||
}
|
||||
render() {
|
||||
const items = Array.from(this.node.querySelectorAll(this.opts['srcNode'])).filter(item => !item.parentNode.classList.contains('nsfw'));
|
||||
const transition = (this.opts['transition'] || 'all 0.5s ease') + ', height 0s, width 0s';
|
||||
const width = this.node.clientWidth;
|
||||
const itemMargin = parseInt(this.opts['margin'], 10) || 0;
|
||||
const itemWidth = parseInt(this.opts['width'] || 200, 10);
|
||||
const columnCount = Math.max(Math.floor(width / (itemWidth + itemMargin)), 1);
|
||||
const left = columnCount === 1 ? itemMargin / 2 : (width % (itemWidth + itemMargin)) / 2;
|
||||
let columns = [];
|
||||
for (let i = 0; i < columnCount; i++) {
|
||||
columns.push(0);
|
||||
}
|
||||
items.forEach(item => {
|
||||
const idx = Gridify.indexOfSmallest(columns);
|
||||
const style = item.style;
|
||||
style.position = 'absolute';
|
||||
style.width = itemWidth + 'px';
|
||||
style.margin = (itemMargin / 2) + 'px';
|
||||
style.top = (columns[idx] + itemMargin / 2) + 'px';
|
||||
style.left = ((itemWidth + itemMargin) * idx + left) + 'px';
|
||||
style.transition = transition;
|
||||
columns[idx] += item.clientHeight + itemMargin;
|
||||
});
|
||||
this.node.style.height = Gridify.highestColumn(columns) + 'px';
|
||||
if (this.opts['onRender']) {
|
||||
this.opts['onRender']();
|
||||
}
|
||||
}
|
||||
static indexOfSmallest(a) {
|
||||
let lowest = 0;
|
||||
for (let i = 1, length = a.length; i < length; i++) {
|
||||
if (a[i] < a[lowest])
|
||||
lowest = i;
|
||||
}
|
||||
return lowest;
|
||||
}
|
||||
static highestColumn(cols) {
|
||||
let highest = 0;
|
||||
for (let i = 0, length = cols.length; i < length; i++) {
|
||||
if (cols[i] > highest)
|
||||
highest = cols[i];
|
||||
}
|
||||
return highest;
|
||||
}
|
||||
}
|
||||
;
|
||||
const gridArt = document.querySelector('#art');
|
||||
const show = document.querySelector('.reveal');
|
||||
const hidden = document.querySelectorAll('.nsfw');
|
||||
let screenWidth = 0;
|
||||
const urlParams = window.location.hash.slice(1).toLowerCase().split(',');
|
||||
const needsToScroll = urlParams.includes('art');
|
||||
let hasScrolled = false;
|
||||
function updateWidth() {
|
||||
const element = document.documentElement;
|
||||
screenWidth = Math.max(element.clientWidth, element.offsetWidth, element.scrollWidth);
|
||||
window.requestAnimationFrame(() => updateGrid());
|
||||
}
|
||||
updateWidth();
|
||||
function getItemWidth(big) {
|
||||
return big ? 400 : 200;
|
||||
}
|
||||
function updateGrid() {
|
||||
if (screenWidth <= 450) {
|
||||
return;
|
||||
}
|
||||
new Gridify(gridArt, {
|
||||
srcNode: 'img',
|
||||
margin: '16px',
|
||||
width: getItemWidth(true).toString() + 'px',
|
||||
onRender: () => {
|
||||
if (needsToScroll && !hasScrolled) {
|
||||
gridArt.scrollIntoView();
|
||||
hasScrolled = true;
|
||||
}
|
||||
}
|
||||
});
|
||||
new Gridify(document.querySelector('#icons'), {
|
||||
srcNode: 'img',
|
||||
margin: '8px',
|
||||
width: getItemWidth(false).toString() + 'px'
|
||||
});
|
||||
}
|
||||
function revealNSFW(ev) {
|
||||
ev.preventDefault();
|
||||
hidden.forEach(item => item.classList.remove('nsfw'));
|
||||
updateGrid();
|
||||
show.classList.add('nsfw');
|
||||
}
|
||||
show.addEventListener('click', revealNSFW);
|
||||
window.addEventListener('load', updateGrid);
|
||||
window.addEventListener('resize', updateWidth);
|
||||
if (urlParams.includes('nsfw')) {
|
||||
revealNSFW(null);
|
||||
}
|
|
@ -126,6 +126,16 @@ pre code {
|
|||
padding: 5px;
|
||||
}
|
||||
|
||||
figure {
|
||||
display: table;
|
||||
margin: 2em auto;
|
||||
}
|
||||
|
||||
figcaption {
|
||||
display: table-caption;
|
||||
caption-side: bottom;
|
||||
}
|
||||
|
||||
figcaption {
|
||||
margin-top: -10px;
|
||||
padding: 5px 5px 0 5px;
|
||||
|
@ -144,6 +154,10 @@ figcaption {
|
|||
max-width: 800px;
|
||||
}
|
||||
|
||||
.container.art {
|
||||
max-width: 95%;
|
||||
}
|
||||
|
||||
.project-name {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
@ -405,4 +419,4 @@ a[data-message]:hover:after {
|
|||
.post-info .published-at {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|