Compare commits

...

257 commits

Author SHA1 Message Date
Sebin Nyshkim
15d487ec6f chore: bump version number 2024-09-03 14:41:04 +02:00
Sebin Nyshkim
d716e192bb build: update packages 2024-09-03 14:41:04 +02:00
Sebin Nyshkim
6aa34c1648 build: update scaffolding to current create-vue template 2024-09-03 14:40:57 +02:00
Sebin Nyshkim
34823665c6 chore: bump version number 2023-11-30 23:18:28 +01:00
Sebin Nyshkim
134e2c79cc fix: wrong order of v-if evaluation 2023-11-30 23:17:49 +01:00
Sebin Nyshkim
b0abfd8311 chore: bump version number 2023-11-30 22:55:32 +01:00
Sebin Nyshkim
61cd15fd5b build: update npm packages 2023-11-30 22:55:05 +01:00
Sebin Nyshkim
f3f94be6ae build: update browserslist definitions 2023-11-30 22:54:18 +01:00
Sebin Nyshkim
61147be693 build: update browserslist definition file 2023-11-30 22:53:41 +01:00
Sebin Nyshkim
6a1474eb52 build: update npm packages 2023-10-19 01:54:10 +02:00
Sebin Nyshkim
f4b1003801 chore: bump version number 2023-09-01 13:13:07 +02:00
Sebin Nyshkim
5d94323bdd feat: update overdrive ref image to new border style 2023-09-01 13:12:30 +02:00
Sebin Nyshkim
d2774e8150 refactor: update vite-imagetools asset link directives
Starting with v5 vite-imagetools has removed shorthands
2023-09-01 13:06:40 +02:00
Sebin Nyshkim
89831a64a2 build: add package.json to list of includes 2023-09-01 13:04:08 +02:00
Sebin Nyshkim
4c8d576f13 build: migrate autoprefixer from CJS require to ES module import 2023-09-01 12:30:33 +02:00
Sebin Nyshkim
0c8a3b0348 build: update scaffolding to current create-vue template 2023-09-01 12:29:06 +02:00
Sebin Nyshkim
0335006ee5 build: update packages to latest versions 2023-09-01 12:28:40 +02:00
Sebin Nyshkim
07bd197c29 refactor: add types for emits 2023-09-01 12:11:51 +02:00
Sebin Nyshkim
a0b2062137 chore: bump version number 2023-07-22 02:15:08 +02:00
Sebin Nyshkim
d5cf84e592 refactor: move buttons and tags to separate components 2023-07-22 02:14:22 +02:00
Sebin Nyshkim
cd9c1d950d feat: add FilterListTag component 2023-07-22 02:12:52 +02:00
Sebin Nyshkim
665f2c6b35 feat: add FilterButton component 2023-07-22 02:12:09 +02:00
Sebin Nyshkim
30a573e9cf feat: reorganize list tag positioning 2023-07-22 01:28:08 +02:00
Sebin Nyshkim
ddde6df30b fix: remove duplicate entry 2023-07-22 01:18:40 +02:00
Sebin Nyshkim
d5703cc274 chore: bump version number 2023-07-21 15:41:23 +02:00
Sebin Nyshkim
778142c4c1 build: update npm packages 2023-07-21 15:41:08 +02:00
Sebin Nyshkim
d984651fc8 feat: update responsive image srcsets, genereate fewer images 2023-07-21 15:40:33 +02:00
Sebin Nyshkim
9a529b62fb feat: update figure cencor size constraints 2023-07-21 15:15:23 +02:00
Sebin Nyshkim
c143956e9f feat: add new RefFigure style 2023-07-21 15:14:56 +02:00
Sebin Nyshkim
120a1a03e3 feat: replace placeholder images with artwork 2023-07-21 15:13:17 +02:00
Sebin Nyshkim
08e01502c5 fix: eliminate unintended side-effects in computed property 2023-07-20 19:15:38 +02:00
Sebin Nyshkim
314255dc31 chore: bump version number 2023-07-18 21:53:14 +02:00
Sebin Nyshkim
1b036d3278 feat: replace DataTable component with new FilteredList component 2023-07-18 21:51:32 +02:00
Sebin Nyshkim
b450849075 feat: expand css color variables 2023-07-18 21:51:14 +02:00
Sebin Nyshkim
f100c524af feat: add FilteredList component 2023-07-18 21:50:06 +02:00
Sebin Nyshkim
d196c1e680 feat: update interface definitions 2023-07-18 21:48:41 +02:00
Sebin Nyshkim
f147510c04 feat: expand Sebin data object 2023-07-18 21:48:18 +02:00
Sebin Nyshkim
6cf6e6d045 chore: bump version number 2023-07-17 14:49:13 +02:00
Sebin Nyshkim
ff665a6cea build: update npm packages 2023-07-17 14:45:00 +02:00
Sebin Nyshkim
a2e2c1f791 fix: wrong open graph meta tag attributes 2023-07-17 14:36:42 +02:00
Sebin Nyshkim
0b4813e285 chore: bump version number 2023-04-03 00:55:46 +02:00
Sebin Nyshkim
4853e1ec63 style: run linter 2023-04-03 00:55:28 +02:00
Sebin Nyshkim
de3862bf77 build: inline postcss config into vite config 2023-04-03 00:29:59 +02:00
Sebin Nyshkim
6094a2a559 feat: update prettier config 2023-04-03 00:29:40 +02:00
Sebin Nyshkim
939610ed61 build: update typescript 2023-04-03 00:03:18 +02:00
Sebin Nyshkim
5ef3d6c0f9 build: add browserslist config 2023-04-02 23:55:44 +02:00
Sebin Nyshkim
35562692e4 build: update tsconfig 2023-04-02 23:55:24 +02:00
Sebin Nyshkim
5f65a341a0 refactor: change how version is read from package.json 2023-04-02 23:46:46 +02:00
Sebin Nyshkim
e3f2e0c256 feat: migrate to native details element for quickfacts component 2023-04-02 23:35:59 +02:00
Sebin Nyshkim
51e72e2021 feat: remove no longer needed modalResultKey inject 2023-04-02 20:08:29 +02:00
Sebin Nyshkim
b8c9d8de17 feat: remove no longer needed isWarn property and injection key 2023-04-02 17:45:08 +02:00
Sebin Nyshkim
cc664a764d feat: move modal out of views and into global app context 2023-04-02 17:42:26 +02:00
Sebin Nyshkim
d0f9434700 feat: migrate to native dialog element for modal component 2023-04-02 17:28:48 +02:00
Sebin Nyshkim
b9fe7113ed feat: extend column styling 2023-04-02 17:27:27 +02:00
Sebin Nyshkim
0e225f95c9 fix: make sure paragraphs in footer are always center aligned 2023-04-02 17:08:38 +02:00
Sebin Nyshkim
8e0756f166 feat: add column and grid styling to button group 2023-04-02 17:07:57 +02:00
Sebin Nyshkim
e67a220223 feat: add props for button styling 2023-04-02 17:07:13 +02:00
Sebin Nyshkim
dd70061798 feat: use buttons instead of list for social links 2023-04-02 17:05:41 +02:00
Sebin Nyshkim
c7444256f1 feat: justify paragraphs, add hyphenation 2023-04-02 17:04:30 +02:00
Sebin Nyshkim
3c8b726d83 refactor: decouple social link styling from fixed elements 2023-04-02 17:03:27 +02:00
Sebin Nyshkim
a670952e15 build: add autoprefixer 2023-04-02 15:47:07 +02:00
Sebin Nyshkim
d6f94c26d4 build: update npm packages 2023-04-02 15:46:46 +02:00
Sebin Nyshkim
62795740b3 chore: bump version number 2023-01-25 19:30:20 +01:00
Sebin Nyshkim
6b0acce446 fix: make sure setActiveImage gets integer value after scroll 2023-01-25 19:28:54 +01:00
Sebin Nyshkim
a0182fe447 chore: add header template for Fur Affinity 2023-01-23 02:02:44 +01:00
Sebin Nyshkim
fe785f6ed3 chore: add header template for Mastodon 2023-01-23 02:02:35 +01:00
Sebin Nyshkim
52d2f12b75 chore: add header template for Twitter 2023-01-23 02:02:25 +01:00
Sebin Nyshkim
7a3a58d8fc chore: bump version number 2023-01-22 17:29:52 +01:00
Sebin Nyshkim
21df633e9e style: remove unused <script> sections from components 2023-01-22 16:55:38 +01:00
Sebin Nyshkim
014451ffa0 style: use shorter array type declarations 2023-01-22 16:55:09 +01:00
Sebin Nyshkim
6ecba14f6f style: add explicit return value 2023-01-22 16:50:37 +01:00
Sebin Nyshkim
9893373a43 fix: increase z-index to stay on top of other page elements 2023-01-22 16:49:49 +01:00
Sebin Nyshkim
d84c415b22 feat: update RefGallery to native scrolling 2023-01-22 16:48:12 +01:00
Sebin Nyshkim
c77854667b feat: add debounce function 2023-01-22 16:45:14 +01:00
Sebin Nyshkim
2c4c07441b fix: update meta tag URLs 2023-01-22 16:44:42 +01:00
Sebin Nyshkim
c834b7c49e chore: bump version number 2023-01-20 01:02:21 +01:00
Sebin Nyshkim
d000c4a4fb feat: add social card template 2023-01-20 01:00:28 +01:00
Sebin Nyshkim
6d9515498f refactor: remove sftp config 2023-01-20 00:59:51 +01:00
Sebin Nyshkim
88e437d001 chore: apply higher compression on full res ref sheets 2023-01-20 00:59:16 +01:00
Sebin Nyshkim
fb413a5fba feat: update .htaccess 2023-01-20 00:58:19 +01:00
Sebin Nyshkim
9aa5579bde feat: use bespoke social preview image 2023-01-20 00:57:53 +01:00
Sebin Nyshkim
c7baf62833 feat: serve fonts locally 2023-01-20 00:57:20 +01:00
Sebin Nyshkim
092fc92658 feat: use higher resolution image assets 2023-01-20 00:56:58 +01:00
Sebin Nyshkim
ec9e975bda refactor: move background pattern SVG into assets dir 2023-01-20 00:54:00 +01:00
Sebin Nyshkim
9dcda9d3dd refactor: migrate Overdrive view 2023-01-20 00:53:11 +01:00
Sebin Nyshkim
05b8e0c410 refactor: migrate Home view 2023-01-20 00:52:59 +01:00
Sebin Nyshkim
9ddc4e5a8c refactor: migrate General view 2023-01-20 00:52:47 +01:00
Sebin Nyshkim
7670634cda refactor: migrate Clothing view 2023-01-20 00:52:34 +01:00
Sebin Nyshkim
a9b6b815e8 refactor: migrate Anatomy view 2023-01-20 00:52:19 +01:00
Sebin Nyshkim
3a1a5942df refactor: migrate Abilities view 2023-01-20 00:51:54 +01:00
Sebin Nyshkim
a78ad22578 refactor: migrate Welcome component 2023-01-20 00:51:18 +01:00
Sebin Nyshkim
40f5b32970 refactor: migrate QuickFacts component 2023-01-20 00:51:01 +01:00
Sebin Nyshkim
a729113b71 refactor: remove Prose component
Now just a regular HTML5 section element
2023-01-20 00:50:39 +01:00
Sebin Nyshkim
600a82d3f2 refactor: migrate NsfwWarning component 2023-01-20 00:49:40 +01:00
Sebin Nyshkim
eb749e1796 refactor: migrate NsfwSwitch component 2023-01-20 00:49:22 +01:00
Sebin Nyshkim
267830b15d refactor: migrate Navigation component 2023-01-20 00:48:52 +01:00
Sebin Nyshkim
c1b7bdbbb4 refactor: migrate Header component 2023-01-20 00:48:34 +01:00
Sebin Nyshkim
6e2a633b45 refactor: migrate Gallery component 2023-01-20 00:48:15 +01:00
Sebin Nyshkim
4384759616 refactor: rename component imports 2023-01-20 00:47:53 +01:00
Sebin Nyshkim
32c63efeaa refactor: migrate Footer component 2023-01-20 00:43:03 +01:00
Sebin Nyshkim
81941a9e45 refactor: migrate Figure component 2023-01-20 00:36:42 +01:00
Sebin Nyshkim
b37e067efd refactor: migrate DataTable component 2023-01-20 00:36:03 +01:00
Sebin Nyshkim
af4427cf3d feat: add ColorTable component 2023-01-20 00:35:51 +01:00
Sebin Nyshkim
e902589427 feat: add ButtonGroup component 2023-01-20 00:35:21 +01:00
Sebin Nyshkim
5cf33f6dfa refactor: migrate Button component 2023-01-20 00:35:05 +01:00
Sebin Nyshkim
3ba5e0aa2b refactor: migrate AttackItem component 2023-01-20 00:34:03 +01:00
Sebin Nyshkim
97ff935b13 refactor: migrate AttackList component 2023-01-20 00:33:35 +01:00
Sebin Nyshkim
313d6f2302 refactor: migrate base App 2023-01-20 00:32:56 +01:00
Sebin Nyshkim
7aeecdb656 feat: add InjectionKey exports 2023-01-20 00:32:06 +01:00
Sebin Nyshkim
baf6161d95 feat: add typed props exports 2023-01-20 00:32:00 +01:00
Sebin Nyshkim
579e57f631 refactor: migrate vue router config 2023-01-20 00:29:34 +01:00
Sebin Nyshkim
b63a14d8ce refactor: migrate base styles 2023-01-20 00:28:44 +01:00
Sebin Nyshkim
5b5c027ea6 refactor: migrate helper functions mixin 2023-01-20 00:25:49 +01:00
Sebin Nyshkim
6494354a6d refactor: migrate Sebin data mixin 2023-01-20 00:23:52 +01:00
Sebin Nyshkim
90ef5eaf06 feat: migrate vue-cli based scaffold to vue-create 2023-01-19 23:59:53 +01:00
Sebin Nyshkim
10f9ae340c chore: bump version number 2022-11-07 21:53:52 +01:00
Sebin Nyshkim
c6bb436ad8 revert: list attacks in regular header & paragraph style
Attack items expect to be associated with a picture. As these won't be around for the forseeable future, use a normal list style consisting of regular headers and paragraphs until assets can be provided

Refs: 3d2d876b
2022-11-07 21:53:52 +01:00
Sebin Nyshkim
a649fdae0b fix: add h4 to prose rules 2022-11-07 21:53:52 +01:00
Sebin Nyshkim
fa7ff4ac89 fix: add link to Mastodon profile 2022-11-07 21:53:52 +01:00
Sebin Nyshkim
81ba54ef10 chore: bump version number 2022-07-19 16:25:58 +02:00
Sebin Nyshkim
3d2d876b98 refactor: use new attack list and attack item components 2022-07-19 15:52:15 +02:00
Sebin Nyshkim
c682e2b38b feat: introduce attack list and attack item components 2022-07-19 15:51:42 +02:00
Sebin Nyshkim
e693cf8812 chore: 🔖 bump version number 2022-06-27 18:01:05 +02:00
Sebin Nyshkim
bf06377cbd chore: 📦 update installed packages 2022-06-27 18:00:33 +02:00
Sebin Nyshkim
4a7d131b2e feat: add NSFW switch and warning to front page for ref sheet download buttons 2022-06-27 17:53:25 +02:00
Sebin Nyshkim
69bcfe77b6 fix: 💄 iOS Safari collappsed bottom address bar coloring 2022-06-27 17:51:30 +02:00
Sebin Nyshkim
da2f1822ae chore: bump version number 2022-01-29 00:08:59 +01:00
Sebin Nyshkim
9a339722a4 chore: update installed packages 2022-01-29 00:08:50 +01:00
Sebin Nyshkim
c9396c3bed feat: change default color, add color for dark mode 2022-01-29 00:06:14 +01:00
Sebin Nyshkim
c783797a99 feat: add .htaccess for in-app routing on apache-based web servers 2022-01-29 00:01:18 +01:00
Sebin Nyshkim
cbccf762bd feat: add svg background pattern 2022-01-29 00:00:22 +01:00
Sebin Nyshkim
2bb3abab52 refactor: better use of scss features 2022-01-28 23:59:47 +01:00
Sebin Nyshkim
fd3c8f6449 feat: new paint job, code cleanup, copy hex values to clipboard when clicked 2022-01-28 23:58:50 +01:00
Sebin Nyshkim
88361c95bf feat: new paint job 2022-01-28 23:54:58 +01:00
Sebin Nyshkim
320e8e7589 feat: improve responsive styles 2022-01-28 23:50:06 +01:00
Sebin Nyshkim
bcac65ea8d feat: remove unused bubbles styles 2022-01-28 23:48:25 +01:00
Sebin Nyshkim
f2463b6163 feat: move app root into body element 2022-01-28 23:47:49 +01:00
Sebin Nyshkim
3eddad19c9 feat: reintroduce header and footer components 2022-01-28 23:46:24 +01:00
Sebin Nyshkim
f92043e106 fix: use new color variables 2022-01-28 23:45:49 +01:00
Sebin Nyshkim
94d7295075 feat: update color variables 2022-01-28 23:44:16 +01:00
Sebin Nyshkim
bf1aa929c1 feat: add light/dark mode media query mixin 2022-01-28 23:34:08 +01:00
Sebin Nyshkim
a4fadab6ad feat: add dropshadow prop to figure component 2022-01-28 23:31:47 +01:00
Sebin Nyshkim
96005f3a9c style: remove superfluous heading 2022-01-28 23:30:02 +01:00
Sebin Nyshkim
8d584f0e87 feat: add more descriptive text to home page 2022-01-28 23:29:23 +01:00
Sebin Nyshkim
8307995b6d chore: bump version 2022-01-11 23:18:17 +01:00
Sebin Nyshkim
ca184b9e9f fix: prevent fixed footer on mobile landscape view 2022-01-11 23:17:25 +01:00
Sebin Nyshkim
bdb5aae137 chore: bump version 2022-01-11 22:58:47 +01:00
Sebin Nyshkim
17ffad3441 fix: prevent quick-facts column styling on mobile 2022-01-11 22:57:44 +01:00
Sebin Nyshkim
be83f74658 fix: use media query mixin 2022-01-11 22:55:18 +01:00
Sebin Nyshkim
b43798b7f2 fix: increase max-height for really long lists 2022-01-11 22:54:57 +01:00
Sebin Nyshkim
254bcf3079 chore: bump version number 2022-01-11 22:04:44 +01:00
Sebin Nyshkim
3adbabc7da perf: only process images when building for production 2022-01-11 21:56:42 +01:00
Sebin Nyshkim
d0b191706b feat: implement scroll lock on NSFW warning modal 2022-01-11 21:55:33 +01:00
Sebin Nyshkim
0c635b5630 refactor: BEMify, better use of SCSS, collate styles 2022-01-11 21:54:09 +01:00
Sebin Nyshkim
1016d119a4 refactor: code cleanup 2022-01-11 21:37:01 +01:00
Sebin Nyshkim
f2948005e1 refactor: import specific SCSS mixins 2022-01-11 20:47:41 +01:00
Sebin Nyshkim
25e8b0ad65 refactor: move button styles in separate mixin 2022-01-11 20:43:14 +01:00
Sebin Nyshkim
087c8af8bf refactor: remove unused footer comonent 2022-01-11 19:27:52 +01:00
Sebin Nyshkim
4815448751 feat: add contents to General page 2022-01-11 14:38:22 +01:00
Sebin Nyshkim
7d08f5b779 refactor: restructure page contents
split longer quick facts into multiple shorter ones
make use of variables and methods in Sebin data object
2022-01-11 14:37:59 +01:00
Sebin Nyshkim
0db25371c7 feat: add details to Sebin's data 2022-01-11 14:25:22 +01:00
Sebin Nyshkim
35c694af79 feat: add toFahrenheit() method 2022-01-11 14:24:36 +01:00
Sebin Nyshkim
428e9e788b refactor: shorten SCSS code 2022-01-11 14:23:39 +01:00
Sebin Nyshkim
464c6eaf42 feat: add list rendering to table cells 2022-01-11 13:29:45 +01:00
Sebin Nyshkim
64ff5792c9 fix: figure markup, remove superfluous styles 2022-01-07 21:37:06 +01:00
Sebin Nyshkim
cd56735bf9 feat: update button texts 2022-01-07 21:35:04 +01:00
Sebin Nyshkim
d570bdc678 refactor: darken box-shadow instead of lighten background-color 2022-01-07 21:33:11 +01:00
Sebin Nyshkim
0c6ed999a4 feat: add color variables 2022-01-07 21:30:34 +01:00
Sebin Nyshkim
8a7d1ad9d7 fix: adjust media queries 2022-01-07 21:29:11 +01:00
Sebin Nyshkim
891c3a3dec refactor: use button component 2022-01-07 21:27:46 +01:00
Sebin Nyshkim
3bc6fc630f feat: update button component 2022-01-07 21:27:28 +01:00
Sebin Nyshkim
818e0d7f49 fix: increase margin between logo and navigation 2022-01-07 16:21:52 +01:00
Sebin Nyshkim
11cf46f36f feat: add full ref image for download 2022-01-07 16:21:27 +01:00
Sebin Nyshkim
28bb7711d9 feat: add button component 2022-01-07 16:16:10 +01:00
Sebin Nyshkim
72f2c6d748 fix: missing root nsfw check 2022-01-06 23:20:32 +01:00
Sebin Nyshkim
829444a37f fix: safari rendering inconsistencies with polaroid border compared to other browsers 2022-01-06 23:19:58 +01:00
Sebin Nyshkim
9fab037276 feat: add notch compatibility 2022-01-06 23:19:47 +01:00
Sebin Nyshkim
d6df8dd21d fix: update browser themeColor to new main page color 2022-01-06 23:14:53 +01:00
Sebin Nyshkim
5f61510881 feat: updated anatomy description for Sebin 2022-01-06 21:22:17 +01:00
Sebin Nyshkim
61e6dbf930 fix: increase padding to prevent content being overlaid by fixed navbar 2022-01-06 21:21:48 +01:00
Sebin Nyshkim
77b91cd4c8 fix: use updated figure syntax 2022-01-06 18:59:39 +01:00
Sebin Nyshkim
9cca827347 refactor: use gallery component proper 2022-01-06 18:58:39 +01:00
Sebin Nyshkim
ae949c98ea refactor: use figure components inside gallery component 2022-01-06 18:57:42 +01:00
Sebin Nyshkim
19ea11c7f2 refactor: use proper BEM conventions for attacks 2022-01-06 18:56:39 +01:00
Sebin Nyshkim
fc94921554 fix: change how number of images are detected 2022-01-06 18:56:07 +01:00
Sebin Nyshkim
8487906800 feat: implement cencor functionality for individual figure elements 2022-01-06 18:55:22 +01:00
Sebin Nyshkim
1aefa2d1c3 feat: add footer to main app 2022-01-06 18:54:34 +01:00
Sebin Nyshkim
3e803c1fde feat: add ability to display images as polaroid 2022-01-06 09:09:48 +01:00
Sebin Nyshkim
ae6c1f3eab refactor: use ems for switch styles 2022-01-06 09:08:59 +01:00
Sebin Nyshkim
6f82f8c824 feat: add font 2022-01-06 09:08:03 +01:00
Sebin Nyshkim
3175992beb fix: scroll to top on route change 2022-01-06 09:07:49 +01:00
Sebin Nyshkim
841bfc9879 refactor: use RefFigure component 2022-01-06 06:44:05 +01:00
Sebin Nyshkim
e727071493 fix: re-introduce timeout to prevent nsfw leakage 2022-01-06 06:43:02 +01:00
Sebin Nyshkim
1ab50dca96 style: 🚨 linter go brrr 2022-01-06 04:45:45 +01:00
Sebin Nyshkim
03ef3d9f7f fix: 🐛 update to use new Vue 3 syntax 2022-01-06 04:31:56 +01:00
Sebin Nyshkim
6823eeb92f refactor: ♻️ move nsfw functionality into root component 2022-01-06 04:30:57 +01:00
sebin.nyshkim@icloud.com
ae5d4d2633 feat: ♻️ refactor ALL THE THINGS!!! (again)
Update to Vue 3 and employ Vue Router, additional design changes and navigation changes
2022-01-04 00:39:02 +01:00
Sebin Nyshkim
e9f29b655d chore: bump version number 2021-12-31 00:24:43 +01:00
Sebin Nyshkim
e5e89f027b feat: add new muscle ref 2021-12-31 00:23:40 +01:00
Sebin Nyshkim
3df8d6f995 chore: 🔖 bump version number 2021-12-26 20:04:45 +01:00
Sebin Nyshkim
4bd681d632 style: 🚨 linter go brrrr 2021-12-26 20:04:13 +01:00
Sebin Nyshkim
84c1768e7d feat: 🎨 use drawn references 2021-12-26 19:44:17 +01:00
sebin.nyshkim@icloud.com
5df66f8e57 build: bump version 2021-11-02 16:07:17 +01:00
sebin.nyshkim@icloud.com
a948fccc36 feat: add full body casual wear ref 2021-11-02 16:06:54 +01:00
Sebin Nyshkim
58d90060d7 chore: 🔖 bump version number 2021-09-22 20:31:44 +02:00
Sebin Nyshkim
7b2382d660 feat: 💄 add theme-color for mobile chrome 2021-09-22 20:31:15 +02:00
Sebin Nyshkim
c5e0a72665 fix: 🚨 future-proofing (fix deprecation warnings) 2021-09-22 20:30:33 +02:00
Sebin Nyshkim
710805751e chore: 🔧 upgrade lockfile version 2021-09-22 19:14:50 +02:00
Sebin Nyshkim
48d2a6f2f8 style: 🚨 linter go brrrr 2021-04-26 19:22:26 +02:00
Sebin Nyshkim
9df1999391 build: 🏗️ update vue-cli template files 2021-04-26 19:01:25 +02:00
Sebin Nyshkim
727bf9f0bc build: 📦 update packages, bump version 2021-04-26 02:05:00 +02:00
Sebin Nyshkim
d76621d0eb feat: 🍱 optimize asset file sizes 2021-04-26 02:01:53 +02:00
Sebin Nyshkim
81d27f6849 feat: update attack descriptions and illustrations 2021-04-26 01:58:10 +02:00
Sebin Nyshkim
ba9288b818 build: 🔧 bump version 2021-03-25 01:37:40 +01:00
Sebin Nyshkim
369bcc7899 feat: 💄 shrink images on desktop 2021-03-25 01:36:34 +01:00
Sebin Nyshkim
3c1afafefa refactor: ♻️ reorder attacks for clarity 2021-03-25 01:33:32 +01:00
Sebin Nyshkim
ee7930a8d5 refactor: 💄 harmonize figcaption markup 2021-03-25 00:20:48 +01:00
Sebin Nyshkim
3eb0a11cd9 fix: 💄 resize images instead of container 2021-03-25 00:19:19 +01:00
Sebin Nyshkim
b8408c6534 build: 📦 npm update 2021-03-24 23:32:53 +01:00
Sebin Nyshkim
25e5db59af feat: 🎨 use drawn references 2021-03-24 23:30:50 +01:00
Sebin Nyshkim
f0d6a93a58 refactor: ♻️ use v-slot shorthand 2021-03-24 23:30:02 +01:00
Sebin Nyshkim
0b6f797dc4 fix: 🐛 slides displacing when cycling through slides 2021-03-24 18:23:55 +01:00
Sebin Nyshkim
ed0fa31a0f refactor: ♻️ rename gallery component in import
Use a more consistent naming scheme for imported components
2021-03-24 18:20:14 +01:00
Sebin Nyshkim
477151ae18 feat: 🔧 add jsconfig.json
For later use and to satisfy Vetur looking for a config
2021-03-24 16:47:19 +01:00
Sebin Nyshkim
f8b8eb02e3 build: 🔧 bump version 2020-12-27 01:11:57 +01:00
Sebin Nyshkim
cc601a9f46 feat: add age calculator method 2020-12-27 01:11:39 +01:00
Sebin Nyshkim
3c7723c96a feat: change date of birth and include calculated age 2020-12-27 01:10:52 +01:00
Sebin Nyshkim
46d7a89126 build: 🔧 bump version 2020-12-21 18:41:12 +01:00
Sebin Nyshkim
f1cb1bbfbd feat: ♻️ use slots in NSFW warning 2020-12-21 18:33:17 +01:00
Sebin Nyshkim
e0f87d054c feat: 💄 shorten image captions for mobile 2020-12-21 18:32:25 +01:00
Sebin Nyshkim
0bdd7c1c61 refactor: ♻️ update gallery component 2020-12-21 18:12:42 +01:00
Sebin Nyshkim
057a493787 build: 🔧 bump version 2020-12-21 12:44:13 +01:00
Sebin Nyshkim
d962f5f66a feat: 💄 demote quickfacts heading one level 2020-12-21 12:42:30 +01:00
Sebin Nyshkim
6b195410a9 feat: 💄 update navbar to be more noticable below the fold 2020-12-21 12:42:05 +01:00
Sebin Nyshkim
35ed0200cf feat: 💄 update fonts 2020-12-21 12:40:19 +01:00
Sebin Nyshkim
b0110e6e36 build: 🔧 bump version 2020-12-19 21:32:12 +01:00
Sebin Nyshkim
d1a7f89c2e feat: add NSFW confirm alert 2020-12-19 21:30:27 +01:00
Sebin Nyshkim
80be636384 refactor: ♻️ move v-model up one layer 2020-12-19 15:48:47 +01:00
Sebin Nyshkim
724dd3bca2 build: 📦 update npm packages 2020-12-19 13:11:50 +01:00
Sebin Nyshkim
e949882ad8 feat: include project version number in footer 2020-12-06 01:36:37 +01:00
Sebin Nyshkim
8d34a84198 build: 🔧 bump version 2020-12-06 01:26:11 +01:00
Sebin Nyshkim
a8cd1336d9 feat: 💄 brighten colors for better contrast/visibility 2020-12-06 01:25:37 +01:00
Sebin Nyshkim
446a61795c feat: introduce quick facts component 2020-12-06 01:24:46 +01:00
Sebin Nyshkim
72e5323c63 feat: 🍱 update ref images 2020-12-06 01:23:34 +01:00
Sebin Nyshkim
97ee9e1dda feat: 🍱 update preview image 2020-12-03 20:09:04 +01:00
Sebin Nyshkim
5f738e62c9 feat: 🍱 update ref images 2020-12-03 20:03:38 +01:00
Sebin Nyshkim
c5978ea673 ci: 🔧 use ssh key instead of password auth 2020-12-03 20:02:34 +01:00
Sebin Nyshkim
e001e3e5ab build: 📦 update dependencies 2020-12-03 20:01:13 +01:00
Marcus Mietz
d769de9671 feat: ⬆️ update package versions 2020-10-17 01:14:19 +02:00
Marcus Mietz
f3fa9b1203 feat: 🍱 update meta assets 2020-10-17 01:13:32 +02:00
Marcus Mietz
5330003b1f feat: update meta tags 2020-10-17 01:03:02 +02:00
Sebin Nyshkim
d8af785671 feat: 💄 minor text adjustments 2020-09-04 00:32:28 +02:00
Sebin Nyshkim
a655e02169 feat: 💄 limit width on desktop 2020-09-04 00:32:09 +02:00
Sebin Nyshkim
d087d0f0b3 feat: 💄 limit width of gallery and increase height on desktop 2020-09-04 00:31:35 +02:00
Sebin Nyshkim
416086df7e feat: 💄 update markup and styles
Minor text changes, add credits in muscle refs with hover, change responsive breakpoints and make paragraphs wider
2020-09-04 00:29:37 +02:00
Sebin Nyshkim
8b04958b1a feat: bump version number 2020-08-26 22:03:18 +02:00
Sebin Nyshkim
53d3b5f955 fix: 🐛 fix meta tags 2020-08-26 22:03:05 +02:00
155 changed files with 8757 additions and 18257 deletions

View file

@ -1,2 +1,3 @@
> 1%
defaults
>1% and not dead
last 2 versions

15
.eslintrc.cjs Normal file
View file

@ -0,0 +1,15 @@
/* eslint-env node */
require('@rushstack/eslint-patch/modern-module-resolution')
module.exports = {
root: true,
extends: [
'plugin:vue/vue3-essential',
'eslint:recommended',
'@vue/eslint-config-typescript',
'@vue/eslint-config-prettier'
],
parserOptions: {
ecmaVersion: 'latest'
}
}

View file

@ -1,14 +0,0 @@
module.exports = {
root: true,
env: {
node: true
},
extends: ["plugin:vue/essential", "@vue/prettier"],
rules: {
"no-console": process.env.NODE_ENV === "production" ? "error" : "off",
"no-debugger": process.env.NODE_ENV === "production" ? "error" : "off"
},
parserOptions: {
parser: "babel-eslint"
}
};

28
.gitignore vendored
View file

@ -1,20 +1,30 @@
.DS_Store
node_modules
/dist
# local env files
.env.local
.env.*.local
# Log files
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
.DS_Store
dist
dist-ssr
coverage
*.local
/cypress/videos/
/cypress/screenshots/
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
*.tsbuildinfo

View file

@ -1,3 +0,0 @@
{
"esversion": 9
}

8
.prettierrc.json Normal file
View file

@ -0,0 +1,8 @@
{
"$schema": "https://json.schemastore.org/prettierrc",
"semi": false,
"tabWidth": 2,
"singleQuote": true,
"printWidth": 100,
"trailingComma": "none"
}

7
.vscode/extensions.json vendored Normal file
View file

@ -0,0 +1,7 @@
{
"recommendations": [
"Vue.volar",
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode"
]
}

14
.vscode/sftp.json vendored
View file

@ -1,14 +0,0 @@
{
"name": "sebin-reference",
"protocol": "sftp",
"port": 22,
"host": "sebin-ref",
"username": "sebin",
"password": "HeyImGrump20!6",
"remotePath": "sebin-ref",
"watcher": {
"files": "dist/**",
"autoUpload": true,
"autoDelete": true
}
}

View file

@ -1,24 +1,55 @@
# sebin-reference
# Sebin Reference Page
## Project setup
```
The official reference page of Sebin Nyshkim, the anthro dragon.
This page is primarily targeted at artists commissioned to draw Sebin. The idea is to have a single point of truth to easily point to.
The benefit of this is two-fold:
* Lack of attachments in Fur Affinity notes
* Participating in art raffles on Twitter without cluttering up the media tab with the same image over and over again
Furthermore, this page serves both for the development of Sebin as an independent character as well as a training ground for learning various new web technologies fitting such a project.
## Recommended IDE Setup
[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).
## Type Support for `.vue` Imports in TS
TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types.
If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps:
1. Disable the built-in TypeScript Extension
1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette
2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)`
2. Reload the VSCode window by running `Developer: Reload Window` from the command palette.
## Customize configuration
See [Vite Configuration Reference](https://vitejs.dev/config/).
## Project Setup
```sh
npm install
```
### Compiles and hot-reloads for development
```
npm run serve
### Compile and Hot-Reload for Development
```sh
npm run dev
```
### Compiles and minifies for production
```
### Type-Check, Compile and Minify for Production
```sh
npm run build
```
### Lints and fixes files
```
### Lint with [ESLint](https://eslint.org/)
```sh
npm run lint
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).

View file

@ -1,3 +0,0 @@
module.exports = {
presets: ["@vue/cli-plugin-babel/preset"]
};

View file

@ -0,0 +1,44 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<main class="flex">
<div class="image">
<img src="../../../src/assets/sebin-smug-icon.png" alt="Sebin Smug Icon" />
</div>
<div class="headings">
<h1>Sebin Nyshkim</h1>
<h2>
<span class="contact">
<svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
<svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M503.5 204.6L502.8 202.8L433.1 21.02C431.7 17.45 429.2 14.43 425.9 12.38C423.5 10.83 420.8 9.865 417.9 9.57C415 9.275 412.2 9.653 409.5 10.68C406.8 11.7 404.4 13.34 402.4 15.46C400.5 17.58 399.1 20.13 398.3 22.9L351.3 166.9H160.8L113.7 22.9C112.9 20.13 111.5 17.59 109.6 15.47C107.6 13.35 105.2 11.72 102.5 10.7C99.86 9.675 96.98 9.295 94.12 9.587C91.26 9.878 88.51 10.83 86.08 12.38C82.84 14.43 80.33 17.45 78.92 21.02L9.267 202.8L8.543 204.6C-1.484 230.8-2.72 259.6 5.023 286.6C12.77 313.5 29.07 337.3 51.47 354.2L51.74 354.4L52.33 354.8L158.3 434.3L210.9 474L242.9 498.2C246.6 500.1 251.2 502.5 255.9 502.5C260.6 502.5 265.2 500.1 268.9 498.2L300.9 474L353.5 434.3L460.2 354.4L460.5 354.1C482.9 337.2 499.2 313.5 506.1 286.6C514.7 259.6 513.5 230.8 503.5 204.6z"/></svg>
<span class="handle">SebinNyshkim</span>
</span>
<span class="contact">
<svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg>
<svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M248,8C111.033,8,0,119.033,0,256S111.033,504,248,504,496,392.967,496,256,384.967,8,248,8ZM362.952,176.66c-3.732,39.215-19.881,134.378-28.1,178.3-3.476,18.584-10.322,24.816-16.948,25.425-14.4,1.326-25.338-9.517-39.287-18.661-21.827-14.308-34.158-23.215-55.346-37.177-24.485-16.135-8.612-25,5.342-39.5,3.652-3.793,67.107-61.51,68.335-66.746.153-.655.3-3.1-1.154-4.384s-3.59-.849-5.135-.5q-3.283.746-104.608,69.142-14.845,10.194-26.894,9.934c-8.855-.191-25.888-5.006-38.551-9.123-15.531-5.048-27.875-7.717-26.8-16.291q.84-6.7,18.45-13.7,108.446-47.248,144.628-62.3c68.872-28.647,83.183-33.623,92.511-33.789,2.052-.034,6.639.474,9.61,2.885a10.452,10.452,0,0,1,3.53,6.716A43.765,43.765,0,0,1,362.952,176.66Z"/></svg>
<span class="handle">@SebinNyshkim</span>
</span>
<span class="contact">
<svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg>
<span class="handle">@SebinNyshkim@meow.social</span>
</span>
<span class="contact">
<svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"/></svg>
<span class="handle">Sebin Nyshkim#8877</span>
</span>
</h2>
</div>
</main>
<!-- Open in browser and set mobile view to 2048x1072 with DPR: 2 and take screenshot -->
</body>
</html>

View file

@ -0,0 +1,139 @@
@import "../../../src/assets/fonts/exo/exo.css";
:root {
font-size: 20px;
color: #fff;
--theme-c-muted-blue: #22759d;
--theme-c-amaranth: #e93f3f;
--theme-c-deep-purple: #33124a;
--theme-c-charcoal: #303030;
--container-box-shadow: 1vw 1vw 4vw rgba(0, 0, 0, 0.7);
--welcome-header-mainline-font-size: 25vh;
--welcome-header-subline-font-size: 10vh;
--icon-size: calc(var(--welcome-header-subline-font-size) * 1.25);
--page-background: radial-gradient(circle at bottom right,
var(--theme-c-amaranth) 5%,
transparent 50%),
radial-gradient(circle at top left,
var(--theme-c-muted-blue) 5%,
var(--theme-c-deep-purple) 100%);
}
*,
*::before,
*::after {
margin: 0;
box-sizing: border-box;
/* line-height: 1.5; */
}
body {
display: flex;
flex-flow: row nowrap;
justify-content: flex-start;
align-items: center;
min-height: 100vh;
}
main::before,
main::after {
content: "";
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
main::before {
background: url(../../../src/assets/subtle-prism.svg);
mix-blend-mode: multiply;
z-index: -1;
transform: scale(1.5);
}
main::after {
background: var(--page-background);
z-index: -2;
}
.flex {
display: flex;
flex-flow: row nowrap;
justify-content: space-between;
align-items: center;
flex: 0 0 50vw;
padding: 0 2vw;
}
.flex > * {
flex: 0 0 auto;
}
.image {
flex: 0 0 60vh;
max-height: 100vh;
}
.image img {
display: block;
width: 100%;
border-radius: 100%;
border: 3vh solid #fff; box-shadow: var(--container-box-shadow);
}
.headings {
flex: 0 1 45vw;
margin: 0;
padding: 0 1vw;
}
.headings :where(h1, h2) {
font-family: "Exo", sans-serif;
text-align: center;
font-style: italic;
margin: 0;
}
.headings h1 {
font-size: var(--welcome-header-mainline-font-size);
font-weight: 900;
}
.headings h2 {
font-size: var(--welcome-header-subline-font-size);
font-weight: 300;
display: flex;
flex-flow: row wrap;
justify-content: space-evenly;
line-height: 1.75;
}
.headings .contact {
display: flex;
flex-flow: row nowrap;
justify-content: flex-start;
align-items: center;
}
.headings .icon,
.headings .handle {
flex: 0 0 auto;
}
.headings .icon {
flex: 0 0 var(--icon-size);
width: var(--icon-size);
height: var(--icon-size);
margin: 0 0.375em 0 0;
}
.headings .icon {
fill: #fff;
}

View file

@ -0,0 +1,44 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<main class="flex">
<div class="image">
<img src="../../../src/assets/sebin-smug-icon.png" alt="Sebin Smug Icon" />
</div>
<div class="headings">
<h1>Sebin Nyshkim</h1>
<h2>
<span class="contact">
<svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
<svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M503.5 204.6L502.8 202.8L433.1 21.02C431.7 17.45 429.2 14.43 425.9 12.38C423.5 10.83 420.8 9.865 417.9 9.57C415 9.275 412.2 9.653 409.5 10.68C406.8 11.7 404.4 13.34 402.4 15.46C400.5 17.58 399.1 20.13 398.3 22.9L351.3 166.9H160.8L113.7 22.9C112.9 20.13 111.5 17.59 109.6 15.47C107.6 13.35 105.2 11.72 102.5 10.7C99.86 9.675 96.98 9.295 94.12 9.587C91.26 9.878 88.51 10.83 86.08 12.38C82.84 14.43 80.33 17.45 78.92 21.02L9.267 202.8L8.543 204.6C-1.484 230.8-2.72 259.6 5.023 286.6C12.77 313.5 29.07 337.3 51.47 354.2L51.74 354.4L52.33 354.8L158.3 434.3L210.9 474L242.9 498.2C246.6 500.1 251.2 502.5 255.9 502.5C260.6 502.5 265.2 500.1 268.9 498.2L300.9 474L353.5 434.3L460.2 354.4L460.5 354.1C482.9 337.2 499.2 313.5 506.1 286.6C514.7 259.6 513.5 230.8 503.5 204.6z"/></svg>
<span class="handle">SebinNyshkim</span>
</span>
<span class="contact">
<svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg>
<svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M248,8C111.033,8,0,119.033,0,256S111.033,504,248,504,496,392.967,496,256,384.967,8,248,8ZM362.952,176.66c-3.732,39.215-19.881,134.378-28.1,178.3-3.476,18.584-10.322,24.816-16.948,25.425-14.4,1.326-25.338-9.517-39.287-18.661-21.827-14.308-34.158-23.215-55.346-37.177-24.485-16.135-8.612-25,5.342-39.5,3.652-3.793,67.107-61.51,68.335-66.746.153-.655.3-3.1-1.154-4.384s-3.59-.849-5.135-.5q-3.283.746-104.608,69.142-14.845,10.194-26.894,9.934c-8.855-.191-25.888-5.006-38.551-9.123-15.531-5.048-27.875-7.717-26.8-16.291q.84-6.7,18.45-13.7,108.446-47.248,144.628-62.3c68.872-28.647,83.183-33.623,92.511-33.789,2.052-.034,6.639.474,9.61,2.885a10.452,10.452,0,0,1,3.53,6.716A43.765,43.765,0,0,1,362.952,176.66Z"/></svg>
<span class="handle">@SebinNyshkim</span>
</span>
<span class="contact">
<svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg>
<span class="handle">@SebinNyshkim@meow.social</span>
</span>
<span class="contact">
<svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"/></svg>
<span class="handle">Sebin Nyshkim#8877</span>
</span>
</h2>
</div>
</main>
<!-- Open in browser and set mobile view to 2048x1072 with DPR: 2 and take screenshot -->
</body>
</html>

View file

@ -0,0 +1,139 @@
@import "../../../src/assets/fonts/exo/exo.css";
:root {
font-size: 20px;
color: #fff;
--theme-c-muted-blue: #22759d;
--theme-c-amaranth: #e93f3f;
--theme-c-deep-purple: #33124a;
--theme-c-charcoal: #303030;
--container-box-shadow: 1vw 1vw 4vw rgba(0, 0, 0, 0.7);
--welcome-header-mainline-font-size: 6vw;
--welcome-header-subline-font-size: 2vw;
--icon-size: calc(var(--welcome-header-subline-font-size) * 1.25);
--page-background: radial-gradient(circle at bottom right,
var(--theme-c-amaranth) 5%,
transparent 50%),
radial-gradient(circle at top left,
var(--theme-c-muted-blue) 5%,
var(--theme-c-deep-purple) 100%);
}
*,
*::before,
*::after {
margin: 0;
box-sizing: border-box;
/* line-height: 1.5; */
}
body {
display: flex;
flex-flow: row nowrap;
justify-content: center;
align-items: center;
min-height: 100vh;
}
main::before,
main::after {
content: "";
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
main::before {
background: url(../../../src/assets/subtle-prism.svg);
mix-blend-mode: multiply;
z-index: -1;
transform: scale(1.5);
}
main::after {
background: var(--page-background);
z-index: -2;
}
.flex {
display: flex;
flex-flow: row nowrap;
justify-content: space-between;
align-items: center;
flex: 0 0 72vw;
}
.flex>* {
flex: 0 0 auto;
}
.image {
flex: 0 0 60vh;
max-height: 100vh;
}
.image img {
display: block;
width: 100%;
border-radius: 100%;
border: 1vw solid #fff;
box-shadow: var(--container-box-shadow);
}
.headings {
flex: 0 0 50vw;
margin: 0;
}
.headings :where(h1, h2) {
font-family: "Exo", sans-serif;
text-align: center;
font-style: italic;
margin: 0;
}
.headings h1 {
font-size: var(--welcome-header-mainline-font-size);
font-weight: 900;
line-height: 1.75;
}
.headings h2 {
font-size: var(--welcome-header-subline-font-size);
font-weight: 300;
display: flex;
flex-flow: row wrap;
justify-content: space-evenly;
line-height: 1.75;
}
.headings .contact {
display: flex;
flex-flow: row nowrap;
justify-content: flex-start;
align-items: center;
}
.headings .icon,
.headings .handle {
flex: 0 0 auto;
}
.headings .icon {
flex: 0 0 var(--icon-size);
width: var(--icon-size);
height: var(--icon-size);
margin: 0 0.375em 0 0;
}
.headings .icon {
fill: #fff;
}

View file

@ -0,0 +1,44 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<main class="flex">
<div class="image">
<img src="../../../src/assets/sebin-smug-icon.png" alt="Sebin Smug Icon" />
</div>
<div class="headings">
<h1>Sebin Nyshkim</h1>
<h2>
<span class="contact">
<svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
<svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M503.5 204.6L502.8 202.8L433.1 21.02C431.7 17.45 429.2 14.43 425.9 12.38C423.5 10.83 420.8 9.865 417.9 9.57C415 9.275 412.2 9.653 409.5 10.68C406.8 11.7 404.4 13.34 402.4 15.46C400.5 17.58 399.1 20.13 398.3 22.9L351.3 166.9H160.8L113.7 22.9C112.9 20.13 111.5 17.59 109.6 15.47C107.6 13.35 105.2 11.72 102.5 10.7C99.86 9.675 96.98 9.295 94.12 9.587C91.26 9.878 88.51 10.83 86.08 12.38C82.84 14.43 80.33 17.45 78.92 21.02L9.267 202.8L8.543 204.6C-1.484 230.8-2.72 259.6 5.023 286.6C12.77 313.5 29.07 337.3 51.47 354.2L51.74 354.4L52.33 354.8L158.3 434.3L210.9 474L242.9 498.2C246.6 500.1 251.2 502.5 255.9 502.5C260.6 502.5 265.2 500.1 268.9 498.2L300.9 474L353.5 434.3L460.2 354.4L460.5 354.1C482.9 337.2 499.2 313.5 506.1 286.6C514.7 259.6 513.5 230.8 503.5 204.6z"/></svg>
<span class="handle">SebinNyshkim</span>
</span>
<span class="contact">
<svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg>
<svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M248,8C111.033,8,0,119.033,0,256S111.033,504,248,504,496,392.967,496,256,384.967,8,248,8ZM362.952,176.66c-3.732,39.215-19.881,134.378-28.1,178.3-3.476,18.584-10.322,24.816-16.948,25.425-14.4,1.326-25.338-9.517-39.287-18.661-21.827-14.308-34.158-23.215-55.346-37.177-24.485-16.135-8.612-25,5.342-39.5,3.652-3.793,67.107-61.51,68.335-66.746.153-.655.3-3.1-1.154-4.384s-3.59-.849-5.135-.5q-3.283.746-104.608,69.142-14.845,10.194-26.894,9.934c-8.855-.191-25.888-5.006-38.551-9.123-15.531-5.048-27.875-7.717-26.8-16.291q.84-6.7,18.45-13.7,108.446-47.248,144.628-62.3c68.872-28.647,83.183-33.623,92.511-33.789,2.052-.034,6.639.474,9.61,2.885a10.452,10.452,0,0,1,3.53,6.716A43.765,43.765,0,0,1,362.952,176.66Z"/></svg>
<span class="handle">@SebinNyshkim</span>
</span>
<span class="contact">
<svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg>
<span class="handle">@SebinNyshkim@meow.social</span>
</span>
<span class="contact">
<svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"/></svg>
<span class="handle">Sebin Nyshkim#8877</span>
</span>
</h2>
</div>
</main>
<!-- Open in browser and set mobile view to 2048x1072 with DPR: 2 and take screenshot -->
</body>
</html>

View file

@ -0,0 +1,143 @@
@import "../../../src/assets/fonts/exo/exo.css";
:root {
font-size: 20px;
color: #fff;
--theme-c-muted-blue: #22759d;
--theme-c-amaranth: #e93f3f;
--theme-c-deep-purple: #33124a;
--theme-c-charcoal: #303030;
--container-box-shadow: 1vw 1vw 4vw rgba(0, 0, 0, 0.7);
--welcome-header-mainline-font-size: 8vw;
--welcome-header-subline-font-size: 2.5vw;
--icon-size: calc(var(--welcome-header-subline-font-size) * 1.25);
--page-background: radial-gradient(
circle at bottom right,
var(--theme-c-amaranth) 5%,
transparent 50%
),
radial-gradient(
circle at top left,
var(--theme-c-muted-blue) 5%,
var(--theme-c-deep-purple) 100%
);
}
*,
*::before,
*::after {
margin: 0;
box-sizing: border-box;
/* line-height: 1.5; */
}
body {
display: flex;
flex-flow: row nowrap;
justify-content: center;
align-items: center;
min-height: 100vh;
}
main::before,
main::after {
content: "";
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
main::before {
background: url(../../../src/assets/subtle-prism.svg);
mix-blend-mode: multiply;
z-index: -1;
transform: scale(1.5);
}
main::after {
background: var(--page-background);
z-index: -2;
}
.flex {
display: flex;
flex-flow: row nowrap;
justify-content: space-evenly;
align-items: center;
flex: 0 0 100%;
}
.flex > * {
flex: 0 0 auto;
}
.image {
flex: 0 0 60vh;
max-height: 100vh;
}
.image img {
display: block;
width: 100%;
border-radius: 100%;
border: 1vw solid #fff;
box-shadow: var(--container-box-shadow);
}
.headings {
flex: 0 0 60vw;
margin: 0;
}
.headings :where(h1, h2) {
font-family: "Exo", sans-serif;
text-align: center;
font-style: italic;
margin: 0;
}
.headings h1 {
font-size: var(--welcome-header-mainline-font-size);
font-weight: 900;
line-height: 1.75;
}
.headings h2 {
font-size: var(--welcome-header-subline-font-size);
font-weight: 300;
display: flex;
flex-flow: row wrap;
justify-content: space-evenly;
line-height: 1.75;
}
.headings .contact {
display: flex;
flex-flow: row nowrap;
justify-content: flex-start;
align-items: center;
}
.headings .icon,
.headings .handle {
flex: 0 0 auto;
}
.headings .icon {
flex: 0 0 var(--icon-size);
width: var(--icon-size);
height: var(--icon-size);
margin: 0 0.375em 0 0;
}
.headings .icon {
fill: #fff;
}

22
card/index.html Normal file
View file

@ -0,0 +1,22 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<main class="flex">
<div class="image">
<img src="../src/assets/sebin-smug-icon.png" alt="Sebin Smug Icon" />
</div>
<div class="headings">
<h1>Sebin Nyshkim</h1>
<h2>Character Reference Page</h2>
</div>
</main>
<!-- Open in browser and set mobile view to 2048x1072 with DPR: 2 and take screenshot -->
</body>
</html>

112
card/style.css Normal file
View file

@ -0,0 +1,112 @@
@import "../src/assets/fonts/exo/exo.css";
:root {
font-size: 20px;
color: #fff;
--theme-c-muted-blue: #22759d;
--theme-c-amaranth: #e93f3f;
--theme-c-deep-purple: #33124a;
--theme-c-charcoal: #303030;
--container-box-shadow: 1vw 1vw 4vw rgba(0, 0, 0, 0.7);
--welcome-header-mainline-font-size: 8vw;
--welcome-header-subline-font-size: 3.5vw;
--page-background: radial-gradient(
circle at bottom right,
var(--theme-c-amaranth) 5%,
transparent 50%
),
radial-gradient(
circle at top left,
var(--theme-c-muted-blue) 5%,
var(--theme-c-deep-purple) 100%
);
}
*,
*::before,
*::after {
margin: 0;
box-sizing: border-box;
}
body {
display: flex;
flex-flow: row nowrap;
justify-content: center;
align-items: center;
min-height: 100vh;
}
main::before,
main::after {
content: "";
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
main::before {
background: url(../src/assets/subtle-prism.svg);
mix-blend-mode: multiply;
z-index: -1;
transform: scale(1.5);
}
main::after {
background: var(--page-background);
z-index: -2;
}
.flex {
display: flex;
flex-flow: row nowrap;
justify-content: space-evenly;
align-items: center;
flex: 0 0 100%;
}
.flex > * {
flex: 0 0 auto;
}
.image {
flex: 0 0 60vh;
max-height: 100vh;
}
.image img {
display: block;
width: 100%;
border-radius: 100%;
border: 1vw solid #fff;
box-shadow: var(--container-box-shadow);
}
.headings {
flex: 0 0 60vw;
margin: 0;
}
.headings :where(h1, h2) {
font-family: "Exo", sans-serif;
text-align: center;
font-style: italic;
margin: 0;
}
.headings h1 {
font-size: var(--welcome-header-mainline-font-size);
font-weight: 900;
}
.headings h2 {
font-size: var(--welcome-header-subline-font-size);
font-weight: 300;
}

1
env.d.ts vendored Normal file
View file

@ -0,0 +1 @@
/// <reference types="vite/client" />

30
index.html Normal file
View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
<link rel="favicon" href="favicon.png" type="image/png" />
<link rel="icon" href="favicon.png" type="image/png" />
<title>Sebin Nyshkim - Reference Page</title>
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#22759d" />
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#195673" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@SebinNyshkim" />
<meta name="twitter:creator" content="@SebinNyshkim" />
<meta name="twitter:title" content="Sebin Nyshkim - Reference Page" />
<meta name="twitter:description" content="The official reference page for Sebin Nyshkim with picture references and in-depth character descriptions" />
<meta name="twitter:image" content="https://ref.sebin-nyshkim.net/sebin/preview.png" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Sebin Nyshkim - Reference Page" />
<meta property="og:locale" content="en_US" />
<meta property="og:url" content="https://ref.sebin-nyshkim.net/sebin/" />
<meta property="og:image" content="https://ref.sebin-nyshkim.net/sebin/preview.png" />
<meta property="og:description" content="The official reference page for Sebin Nyshkim with picture references and in-depth character descriptions" />
</head>
<body>
<script type="module" src="/src/main.ts"></script>
</body>
</html>

19883
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,32 +1,38 @@
{
"name": "sebin-reference",
"version": "0.3.1",
"version": "0.10.7",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
"dev": "vite --host",
"build": "run-p type-check \"build-only {@}\" --",
"preview": "vite preview",
"build-only": "vite build",
"type-check": "vue-tsc --build --force",
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
"format": "prettier --write src/"
},
"dependencies": {
"core-js": "^3.6.5",
"normalize.css": "^8.0.1",
"vue": "^2.6.12",
"vue-scrollto": "^2.18.2"
"vue": "^3.4.38",
"vue-router": "^4.4.3"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^4.5.4",
"@vue/cli-plugin-eslint": "^4.5.4",
"@vue/cli-service": "^4.5.4",
"@vue/eslint-config-prettier": "^6.0.0",
"babel-eslint": "^10.1.0",
"eslint": "^6.7.2",
"eslint-plugin-prettier": "^3.1.3",
"eslint-plugin-vue": "^6.2.2",
"image-webpack-loader": "^6.0.0",
"lodash": "^4.17.20",
"node-sass": "^4.14.1",
"prettier": "^1.19.1",
"sass-loader": "^8.0.2",
"vue-template-compiler": "^2.6.12"
"@rushstack/eslint-patch": "^1.10.4",
"@tsconfig/node20": "^20.1.4",
"@types/node": "^20.16.3",
"@vitejs/plugin-vue": "^5.1.3",
"@vue/eslint-config-prettier": "^9.0.0",
"@vue/eslint-config-typescript": "^13.0.0",
"@vue/tsconfig": "^0.5.1",
"autoprefixer": "^10.4.20",
"eslint": "^8.57.0",
"eslint-plugin-vue": "^9.28.0",
"normalize.css": "^8.0.1",
"npm-run-all2": "^6.2.2",
"prettier": "^3.3.3",
"sass": "^1.77.8",
"typescript": "~5.5.0",
"vite": "^5.4.2",
"vite-imagetools": "^6.2.9",
"vue-tsc": "^2.1.4"
}
}

View file

@ -1,5 +0,0 @@
module.exports = {
plugins: {
autoprefixer: {}
}
};

8
public/.htaccess Normal file
View file

@ -0,0 +1,8 @@
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /sebin/index.html [L]
</IfModule>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Before After
Before After

View file

@ -1,19 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="<%= htmlWebpackPlugin.options.links.favicon.rel %>" href="<%= htmlWebpackPlugin.options.links.favicon.href %>" type="<%= htmlWebpackPlugin.options.links.favicon.type %>">
<link rel="<%= htmlWebpackPlugin.options.links.icon.rel %>" href="<%= htmlWebpackPlugin.options.links.icon.href %>" type="<%= htmlWebpackPlugin.options.links.icon.type %>">
<title><%= htmlWebpackPlugin.options.title %></title>
</head>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div class="bubbles"></div>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>

BIN
public/preview.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 MiB

View file

@ -1,687 +1,99 @@
<template>
<div id="app">
<ref-header
mainHeading="Sebin Nyshkim"
subHeading="Character Reference Page"
/>
<script setup lang="ts">
import { ref, provide } from 'vue'
import { RouterView } from 'vue-router'
import { modalResultKey, nsfwKey, showModalKey } from '@/keys'
import { version } from '../package.json'
import RefModal from '@/components/RefModal.vue'
import ButtonGroup from '@/components/ButtonGroup.vue'
import Button from '@/components/RefButton.vue'
import SiteHeader from '@/components/SiteHeader.vue'
import SiteFooter from '@/components/SiteFooter.vue'
import SiteNavigation from '@/components/SiteNavigation.vue'
<main>
<section id="general">
<h2>General</h2>
<data-table class="prose" :dataset="getSebinData.generic" />
</section>
const isNsfw = ref(false)
const isConfirmedHorny = ref(false)
<section id="anatomy">
<h2>Anatomy</h2>
const nsfwmodal = ref<InstanceType<typeof RefModal>>()
<ref-figure>
<template v-slot:img>
<div>
<img src="@img/fullbody-ref.jpg" alt="Sebin Full Body Ref" />
</div>
</template>
<template v-slot:caption>
<label>Sebin Full Body Reference</label>
</template>
<template v-slot:copyright>
<a href="https://www.furaffinity.net/user/SirBoburto">
SirBoburto
</a>
</template>
</ref-figure>
const showModal = (): void => {
if (!isConfirmedHorny.value) {
nsfwmodal.value?.showModal()
<data-table class="prose" :dataset="getSebinData.colors" />
setTimeout(() => {
isNsfw.value = false
}, 1)
} else {
isNsfw.value = !isNsfw.value
}
}
<div class="prose">
<div class="tldr">
<ul>
<li>Bipedal plantigrade</li>
<li>
Red scales, yellow chest-plates running from underneath chin,
over torso, between legs, underside of tail
</li>
<li>Athletic to body builder physique</li>
<li>Sharp, black claws on fingers and toes</li>
<li>Brown spikes running over back and top-side of tail</li>
<li>Tail about 1 meter in length</li>
</ul>
</div>
<p>
Sebin is a bipedal plantigrade. His body is mostly covered by red
scales with yellow chest plates running from below his chin over his
torso all the way down between his legs and underside of his tail.
His physique is athletic to muscular. His fingers and toes are
equipped sharp black claws. Brown spikes run along his spine down to
the tip of his tail. His tail is about one meter in length.
</p>
</div>
const modalResult = (value: boolean): void => {
isNsfw.value = value
isConfirmedHorny.value = value
nsfwmodal.value?.close()
}
<h3 id="wings">Wings</h3>
<div class="prose">
<div class="tldr">
<ul>
<li>Wingspan 3-4 meters</li>
<li>Closed when on the ground</li>
<li>Function like a second pair of arms</li>
<li>Pointy talon on end of "hand"</li>
</ul>
</div>
<p>
His wing span is around 3-4 meters. He has them closed when on the
ground. His wings function like a second pair of arms, at which ends
are hand-like limbs with a black talon on top and finger-like
extensions, in between which are the membranes of his wings. He can
use his wings to fly short distances. Longer distances become
difficult due to fatigue of having to carry his own weight with his
wings alone.
</p>
</div>
<h3 id="head">Head</h3>
<ref-figure>
<template v-slot:img>
<div>
<img
src="@img/sebin-hairstyle-short.jpg"
alt="Sebin with short hair"
/>
</div>
</template>
<template v-slot:caption>
<label>Sebin with short hair</label>
</template>
<template v-slot:copyright>
<a href="https://twitter.com/LeoboArt">
LeoboArt
</a>
</template>
</ref-figure>
<div class="prose">
<div class="tldr">
<ul>
<li>
Round pupils, green iris. Yellow spikes on cheeks, as well as
for eyebrows
</li>
<li>Black horns with slight curve downwards</li>
<li>Blue hair, different styles; short style preferred</li>
<li>Long, pointy, movable ears</li>
<li>Very sharp teeth</li>
<li>Tongue with pointy tip</li>
</ul>
</div>
</div>
<ref-figure>
<template v-slot:img>
<div>
<img src="@img/head-ref.jpg" alt="Sebin's Expressions" />
</div>
</template>
<template v-slot:caption>
<label>Sebin's Expressions</label>
</template>
<template v-slot:copyright>
<a href="https://www.furaffinity.net/user/SirBoburto">
SirBoburto
</a>
</template>
</ref-figure>
<div class="prose">
<p>
He has round pupils instead of the slit ones typical for reptilians.
He has short yellow spikes above his eyes that resemble eyebrows, as
well as spikes along the jawline of his cheeks. He has black horns
growing out of his head which are mostly straight but slightly curve
downwards. His hair is blue and he wears it in varying styles. He
has long pointy ears which he can move to determine the origin of
sounds around him. He also uses them to express emotion. His teeth
are very sharp. In his throat are glands that produce a mixture that
allows him to breathe fire. His tongue has a pointy tip.
</p>
</div>
<h3 id="upperbody">Upper Body</h3>
<div class="prose">
<div class="tldr">
<ul>
<li>Strong upper body, lush pecs, defined abs, black nipples</li>
<li>
Any muscle mass from athletic to body builder is fine, with a
preference towards body builder
</li>
</ul>
</div>
<p>
Sebin started working out at the age of 17. Being in top shape is
very important to him. His favorite workouts are weight-lifting
(dumbbells as well as barbells), lat pulldown, leg press, straight
arm pulldown and cable pull. He works out three times a week with
one day in between workout days for rest, switching body regions
each workout day.
</p>
</div>
<ref-figure>
<template v-slot:img>
<div>
<img
src="@img/upper-body-ref.png"
alt="Sebin's upper body closeup"
/>
</div>
</template>
<template v-slot:caption>
<label>Sebin's upper body closeup</label>
</template>
<template v-slot:copyright>
<a href="https://twitter.com/NidtheDragon">
NidtheDragon
</a>
</template>
</ref-figure>
<div class="prose">
<p>
Sebin is very focused on evenly distributed muscle mass but pays
special attention to his back, chest and arms. This is so his fire
breath doesn't get weak and he can throw fire projectiles farther. A
strong back ensures his wings continue to carry him so he can stay
airbourne for extended periods of time.
</p>
</div>
<h3>Additional Muscle References</h3>
<div class="prose" v-show="!nsfw">
<p class="nsfw-bar">
Some of these additional references are NSFW. Click
<a href="#" @click.prevent="nsfw = !nsfw">here</a> to see them.
</p>
</div>
<gallery v-show="nsfw">
<ul>
<li>
<img src="@img/muscle-ref/muscle-ref1.png" alt="By Grisser" />
</li>
<li>
<img
src="@img/muscle-ref/muscle-ref2.png"
alt="By valentinapaz"
/>
</li>
<li>
<img
src="@img/muscle-ref/muscle-ref3.png"
alt="By Marsel-Defender"
/>
</li>
<li>
<img src="@img/muscle-ref/muscle-ref4.png" alt="By SirBoburto" />
</li>
<li>
<img src="@img/muscle-ref/muscle-ref5.jpeg" alt="By SexMuffin" />
</li>
<li>
<img src="@img/muscle-ref/muscle-ref6.png" alt="By Knuxlight" />
</li>
<li>
<img src="@img/muscle-ref/muscle-ref7.png" alt="By ShoNuff44" />
</li>
<li>
<img src="@img/muscle-ref/muscle-ref8.jpeg" alt="By j-cock" />
</li>
<li>
<img src="@img/muscle-ref/muscle-ref9.jpeg" alt="By j-cock" />
</li>
<li>
<img src="@img/muscle-ref/muscle-ref10.png" alt="By j-cock" />
</li>
<li>
<img
src="@img/muscle-ref/muscle-ref11.jpeg"
alt="By Marsel-Defender"
/>
</li>
</ul>
</gallery>
<h3 v-show="nsfw" id="penis">Penis</h3>
<ref-figure v-show="nsfw">
<template v-slot:img>
<div>
<img src="@img/penis-ref.jpg" alt="Sebin's manly parts" />
</div>
</template>
<template v-slot:caption>
<label>Sebin's manly parts</label>
</template>
<template v-slot:copyright>
<a href="https://twitter.com/Zodim87">
Zodim87
</a>
</template>
</ref-figure>
<data-table class="prose" v-show="nsfw" :dataset="getSebinData.penis" />
<div class="prose" v-show="nsfw">
<div class="tldr">
<ul>
<li>Human-shaped with ridges</li>
<li>Ring-like sheath surrounding shaft</li>
<li>
Extends from sheath when erect, lives inside sheath when not
erect
</li>
<li>External balls</li>
</ul>
</div>
<p>
Despite his majorly reptilian appearance he has nipples, a feature
of the human side of his family, which also shows with his external
testicles. Rather than a slit which houses his penis he has a
pouch-like sheath, with the tip slightly peeking out of it when not
aroused. His penis is mainly humanoid in shape but is surrounded by
several ridges. He can take it out of its pouch while it's still
soft (e.g. for passing water). When aroused his charcoal black shaft
pushes out from the sheath, its base girded by the sheath like a
ring.
</p>
</div>
</section>
<section id="clothes">
<h2>Clothing Styles</h2>
<div class="prose">
<p>
The following photos are for illustration purposes only. The
clothing shown is not to be taken literally. The design may differ!
</p>
</div>
<h3>Casual Wear</h3>
<gallery>
<ul>
<li>
<img src="@img/clothes-ref/warm/tank-top.jpg" alt="Tank Top" />
</li>
<li>
<img src="@img/clothes-ref/warm/shorts.jpg" alt="Shorts" />
</li>
<li>
<img src="@img/clothes-ref/warm/hoodie.jpg" alt="Hoodie" />
</li>
<li>
<img src="@img/clothes-ref/warm/sneakers.jpg" alt="Sneakers" />
</li>
</ul>
</gallery>
<div class="prose">
<ul>
<li>Loose Tank Top</li>
<li>Short shorts (knee-long) with dangling bands</li>
<li>Sweater/Hoodie tied around waist</li>
<li>Sneakers (Air Jordan style)</li>
</ul>
</div>
<h3>Cold Weather</h3>
<gallery>
<ul>
<li>
<img src="@img/clothes-ref/cold/coat.jpg" alt="Coat" />
</li>
<li>
<img
src="@img/clothes-ref/cold/scarf.jpg"
alt="Checkered scarf with short cords"
/>
</li>
<li>
<img src="@img/clothes-ref/cold/hoodie.jpg" alt="Hoodie" />
</li>
<li>
<img
src="@img/clothes-ref/cold/jeans.jpg"
alt="Loose fit Jeans"
/>
</li>
<li>
<img src="@img/clothes-ref/cold/boots.jpg" alt="Boots" />
</li>
</ul>
</gallery>
<div class="prose">
<ul>
<li>Coat</li>
<li>Checkered scarf with short cords</li>
<li>Hoodie</li>
<li>Loose fit Jeans</li>
<li>Boots</li>
</ul>
</div>
<h3>Workout</h3>
<gallery>
<ul>
<li>
<img
src="@img/clothes-ref/workout/hoodie.jpg"
alt="Sleeveless Hoodie (hood goes on)"
/>
</li>
<li>
<img src="@img/clothes-ref/workout/tank-top.jpg" alt="Tank Top" />
</li>
<li>
<img
src="@img/clothes-ref/workout/gloves.jpg"
alt="Fingerless Gloves"
/>
</li>
<li>
<img
src="@img/clothes-ref/workout/apple-watch.jpg"
alt="Apple Watch (fitness tracking)"
/>
</li>
<li>
<img src="@img/clothes-ref/workout/shorts.jpg" alt="Shorts" />
</li>
</ul>
</gallery>
<div class="prose">
<ul>
<li><strong>Either</strong> Sleeveless Hoodie (open, hood on)</li>
<li><strong>Or</strong> Tank Top</li>
<li>Fingerless Gloves</li>
<li>Apple Watch (fitness tracking)</li>
<li>Short Shorts</li>
<li>(barefoot)</li>
</ul>
</div>
<h3>"Doesn't need to leave the house today" Style</h3>
<gallery>
<ul>
<li>
<img src="@img/clothes-ref/lazy/pants.jpg" alt="Tank Top" />
</li>
<li>
<img src="@img/clothes-ref/lazy/undies.jpg" alt="Shorts" />
</li>
</ul>
</gallery>
<div class="prose">
<ul>
<li>(topless)</li>
<li>tracksuit pants (optional)</li>
<li>Undies (jockstrap/boxer briefs)</li>
</ul>
</div>
</section>
<section id="abilities">
<h2>Abilities</h2>
<div class="prose">
<p>
Since Sebin is a fire dragon theres a myriad of abilities he has at
his disposal to defend himself.
</p>
</div>
<h3>Overdrive Form</h3>
<ref-figure>
<template v-slot:img>
<div>
<img
src="@img/sebin-overdrive_ref-hires.jpg"
alt="Sebin in Overdrive"
/>
</div>
</template>
<template v-slot:caption>
<label>Sebin in Overdrive</label>
</template>
<template v-slot:copyright>
<a href="https://twitter.com/CVictorrosso">
CVictorrosso
</a>
</template>
</ref-figure>
<div class="prose">
<p>
Sebin can enter an Overdrive Form which greatly increases his
strength and abilities but it comes at a cost.
</p>
<p>
He enters Overdrive by engulfing himself in a pillar of flames which
transforms his exterior physique. During Overdrive transformation
his hair ignites and flickers with blue flames. The corners of his
eyes flicker with long green flames. His arms and legs become part
carbon black and are crossed by several glowing veins which pulsate
like flowing lava. Fire in this form burns several degrees hotter
than usual because his body becomes a living blast furnace, which is
why his limbs have to be of more fire-proof material to withstand
the increased heat.
</p>
<p>
To complete the transformation he inhales the flames from the pillar
surrounding him which heats up his body from within. Even if Sebin
is a fire dragon who can sustain high degrees of heat he is
essentially overheating himself from the inside. Because of this he
can't maintain this form for more than a few hours before he does
permanent damage to his own body.
</p>
<p>
Direct body contact with Sebin during overdrive causes 3rd degree
burns as he emits an extreme temperature, although less than he
keeps inside his body. His immediate surroundings are likely to burn
or melt.
</p>
</div>
<h2>Attacks</h2>
<h3>Normal Form</h3>
<div class="prose">
<p>
<strong>Fire Breath:</strong> Either a long breath of fire or short
bursts fired directly from Sebin's mouth.
</p>
<p>
<strong>Flame Toss:</strong> Sebin spits fireballs into his hands to
throw them at his opponents. His scales are fireproof and can
withstand the high temperatures. On impact these fireballs explode
into a bigger fire bursts with a diameter of 1-2 meters. He can also
combine two fireballs into a bigger one for bigger impact.
</p>
<p>
<strong>Kindled Fist:</strong> Besides throwing fireballs Sebin can
also greatly increase the speed of the projectiles by a strong punch
or kick.
</p>
<p>
<strong>Burning Twister:</strong> An attack for aerial combat, Sebin
can use his fire breath to engulf his body in flames while spinning
to become a fire tornado that singes opponents.
</p>
</div>
<h3>Attacks in Overdrive Form</h3>
<div class="prose">
<p>
<strong>Fire Breath:</strong> The reach of Sebin's Fire Breath
increases as well as the frequency at which he can fire shots from
his mouth.
</p>
<p>
<strong>Flame Toss:</strong> Overdrive Form eliminates the need for
Sebin to spit fire into his palms. It instead enables him to fire
the shots directly from the palm of his hands, as the firey veins
crossing his arms act as an orifice to do so. The explosion radius
of the burning projectiles that explode on impact is greatly
increased.
</p>
<p>
<strong>Searing Discus:</strong> Overdrive allows Sebin to form
rings of fire by igniting flames from his fingertips and swirling
them in a circle motion. He can use them for both close quarters or
ranged combat.
</p>
<p>
<strong>Combustion Flare:</strong> A devastating firestorm by
combining the power of both hands from his fire-infused arms. The
impact of the two carbon-like palms against each other is like the
clash of two flints, used to ignite the attack. A secure foothold is
needed to prevent Sebin from being thrown back by the recoil of the
attack. Using this technique in the air is therefore highly risky.
</p>
<p>
<strong>Blazing Pandemonium:</strong> A heavy impact into the ground
from a great height with both fists, tearing deep cracks in the
ground around the impact crater. Combined with
<em>Burning Twister</em>, the flames that previously surrounded
Sebin's body are forced through the newly created furrows,
transforming the scene into an inferno.
</p>
<p>
<strong>Scorching Edge:</strong> A fiery blade towering several
meters into the air that Sebin sends careening towards his enemies
from his fire-infused legs with a backflip kick, leaving a swath of
destruction in its wake. Upon impact the force of the attack is
distributed sideways.
</p>
<p>
<strong>Circling Fire Shield:</strong> A rather defensive technique.
By spinning around with stretched out arms Sebin creates fire balls,
which he usually hurls towards enemies, that circle around his body
diagonally. They act as a shield while he can still move his arms
relatively freely. Enemies would be well advised to keep their
distance to this spinning shield, as the fire balls will still
explode on contact.
</p>
</div>
</section>
</main>
<ref-footer />
</div>
</template>
<script>
import DataTable from "@components/DataTable.vue";
import Gallery from "@components/Gallery.vue";
import RefFigure from "@components/Figure.vue";
import RefHeader from "@components/Header.vue";
import RefFooter from "@components/Footer.vue";
import Sebin from "@mixins/Sebin.js";
import Helper from "@mixins/Helper.js";
export default {
name: "app",
components: {
DataTable,
Gallery,
RefFigure,
RefHeader,
RefFooter
},
data() {
return {
nsfw: false
};
},
mixins: [Sebin, Helper]
};
provide(modalResultKey, modalResult)
provide(nsfwKey, isNsfw)
provide(showModalKey, showModal)
</script>
<style lang="scss">
@import "@scss/base.scss";
@import "~normalize.css";
<template>
<RefModal id="nsfw-warning" ref="nsfwmodal">
<template #heading>
<br />
Whoa, Nelly!
</template>
#app {
color: $copy-color;
font-size: 1.125em;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
transition: all ease-in-out 0.25s;
<template #message>
By enabling NSFW mode you confirm that you are of legal age to view adult content.
</template>
@media (min-width: 50em) {
font-size: 1.25em;
}
<template #buttons>
<ButtonGroup col>
<Button positive @click.prevent="modalResult(true)"> Yes, show me the goods 👀 </Button>
<Button negative @click.prevent="modalResult(false)"> NO, STAHP 😱 </Button>
</ButtonGroup>
</template>
</RefModal>
@media (min-width: 160em) {
font-size: 1.5em;
}
}
<SiteHeader>
<!-- max 500px -->
<picture>
<source
srcset="
@/assets/sebin-smug-icon.png?w=36;40;48;56;72;80;96;112;108;120;144;168&format=avif&quality=75&as=srcset
"
sizes="(min-width: 120em) 56px, (min-width: 80em) 48px, (min-width: 35em) 40px, 36px"
type="image/avif"
/>
<source
srcset="
@/assets/sebin-smug-icon.png?w=36;40;48;56;72;80;96;112;108;120;144;168&format=webp&quality=100&as=srcset
"
sizes="(min-width: 120em) 56px, (min-width: 80em) 48px, (min-width: 35em) 40px, 36px"
type="image/webp"
/>
<img
class="nav-logo"
srcset="@/assets/sebin-smug-icon.png?w=36;40;48;56;72;80;96;112;108;120;144;168&format=png&as=srcset"
sizes="(min-width: 120em) 56px, (min-width: 80em) 48px, (min-width: 35em) 40px, 36px"
alt="Sebin Avatar"
/>
</picture>
main {
h2,
h3,
p {
max-width: 40rem;
margin-left: auto;
margin-right: auto;
}
<SiteNavigation />
</SiteHeader>
.prose {
max-width: 40rem;
margin-left: auto;
margin-right: auto;
}
<main>
<RouterView />
</main>
@include mq-mobile {
h2,
h3,
p {
margin-left: 1rem;
margin-right: 1rem;
}
}
}
section {
h2 {
border-bottom: 0.0625em $copy-color solid;
}
h3 {
border-bottom: 0.125em $copy-color dotted;
}
}
.tldr {
font-style: italic;
background-color: rgba($bg-color-light, 0.25);
margin: 1em auto;
border-left: 0.25em solid $bg-color-light;
padding: 1em;
&:before {
display: block;
content: "tl;dr";
margin-bottom: 1em;
}
}
</style>
<SiteFooter>
<p>v{{ version }} &copy; {{ new Date().getFullYear() }} Sebin Nyshkim</p>
<p>
Background Pattern &copy;
<a href="https://www.svgbackgrounds.com/">SVG Backgrounds</a>
</p>
</SiteFooter>
</template>

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,19 @@
/* dosis-regular-latin */
@font-face {
font-family: Dosis;
font-style: normal;
font-weight: 400;
src: local("Dosis Regular"), local("Dosis-Regular"), url(dosis-regular-latin.woff2) format("woff2");
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
font-display: swap;
}
/* dosis-bold-latin */
@font-face {
font-family: Dosis;
font-style: normal;
font-weight: 700;
src: local("Dosis Bold"), local("Dosis-Bold"), url(dosis-bold-latin.woff2) format("woff2");
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
font-display: swap;
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,37 @@
/* exo-light-latin */
@font-face {
font-family: Exo;
font-style: normal;
font-weight: 300;
src: local("Exo Light"), local("Exo-Light"), url(exo-light-latin.woff2) format("woff2");
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
font-display: swap;
}
/* exo-black-latin */
@font-face {
font-family: Exo;
font-style: normal;
font-weight: 900;
src: local("Exo Black"), local("Exo-Black"), url(exo-black-latin.woff2) format("woff2");
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
font-display: swap;
}
/* exo-light-italic-latin */
@font-face {
font-family: Exo;
font-style: italic;
font-weight: 300;
src: local("Exo Light Italic"), local("Exo-LightItalic"), url(exo-light-italic-latin.woff2) format("woff2");
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
font-display: swap;
}
/* exo-black-italic-latin */
@font-face {
font-family: Exo;
font-style: italic;
font-weight: 900;
src: local("Exo Black Italic"), local("Exo-BlackItalic"), url(exo-black-italic-latin.woff2) format("woff2");
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
font-display: swap;
}

View file

@ -0,0 +1,10 @@
/* permanent-marker-regular-latin */
@font-face {
font-family: Permanent Marker;
font-style: normal;
font-weight: 400;
src: local("Permanent Marker Regular"), local("PermanentMarker-Regular"), url(permanent-marker-regular-latin.woff2) format("woff2");
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
font-display: swap;
}

View file

@ -0,0 +1,10 @@
/* zilla-slab-bold-latin */
@font-face {
font-family: Zilla Slab;
font-style: normal;
font-weight: 700;
src: local("Zilla Slab Bold"), local("ZillaSlab-Bold"), url(zilla-slab-bold-latin.woff2) format("woff2");
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
font-display: swap;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 289 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 254 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 428 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 301 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 498 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 755 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 393 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 378 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 619 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 715 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 551 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 656 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 784 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 589 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

View file

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 909 KiB

After

Width:  |  Height:  |  Size: 909 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Some files were not shown because too many files have changed in this diff Show more