Second commit

This commit is contained in:
2026-04-20 20:30:42 +02:00
parent 9f2578f7d2
commit 254a645c25
1072 changed files with 4491 additions and 17 deletions

View File

@@ -6,7 +6,7 @@
<hr>
<h3 align="center">
An open-source virtual table top for role-playing games
An open-source helper for role-playing games
</h3>
<p align="center">
<a href="https://git.aranroig.com/BinarySandia04/Dragonroll">Original web</a> |
@@ -16,7 +16,16 @@ An open-source virtual table top for role-playing games
# Dragonroll
Dragonroll is an open source online virtual tabletop aimed to be an alternative to Foundry and Roll20
Dragonroll is an open source helper for role-playing games.
## Features
- Keep track of the campaing characters
- Share markdown notes with your players
- Play music during physical campaings
- Plan different encounters
- Manage different items and spells
- And so much more!
## Installation 🛠️

View File

@@ -1,6 +1,24 @@
<script setup lang="ts">
import Content from './components/viewer/content/Content.vue';
import StatusBar from './components/viewer/statusbar/StatusBar.vue';
import TopBar from './components/viewer/TopBar.vue';
</script>
<template>
<div>
<NuxtRouteAnnouncer />
<NuxtWelcome />
<div class="viewer">
<TopBar></TopBar>
<Content></Content>
<StatusBar></StatusBar>
</div>
</template>
<style scoped>
.viewer {
display: flex;
flex-direction: column;
width: 100%;
height: 100vh;
}
</style>

View File

View File

View File

@@ -0,0 +1,127 @@
@font-face {
font-family: "BookInsanityRemake";
src:url('/fonts/5e/Bookinsanity.woff2');
font-weight:normal;
font-style:normal
}
@font-face {
font-family: "BookInsanityRemake";
src:url('/fonts/5e/Bookinsanity Bold.woff2');
font-weight:bold;
font-style:normal
}
@font-face {
font-family: "BookInsanityRemake";
src:url('/fonts/5e/Bookinsanity Italic.woff2');
font-weight:normal;
font-style:italic
}
@font-face {
font-family: "BookInsanityRemake";
src:url('/fonts/5e/Bookinsanity Bold Italic.woff2');
font-weight:bold;
font-style:italic
}
@font-face {
font-family: "ScalySansRemake";
src:url('/fonts/5e/Scaly Sans.woff2');
font-weight:normal;
font-style:normal
}
@font-face {
font-family: "ScalySansRemake";
src:url('/fonts/5e/Scaly Sans Bold.woff2');
font-weight:bold;
font-style:normal
}
@font-face {
font-family: "ScalySansRemake";
src:url('/fonts/5e/Scaly Sans Italic.woff2');
font-weight:normal;
font-style:italic
}
@font-face {
font-family: "ScalySansRemake";
src:url('/fonts/5e/Scaly Sans Bold Italic.woff2');
font-weight:bold;
font-style:italic
}
@font-face {
font-family: "ScalySansSmallCapsRemake";
src:url('/fonts/5e/Scaly Sans Caps.woff2');
font-weight:normal;
font-style:normal
}
@font-face {
font-family: "WalterTurncoat";
src:url('/fonts/5e/WalterTurncoat-Regular.woff2');
font-weight:normal;
font-style:normal
}
@font-face {
font-family: "MrEavesRemake";
src:url('/fonts/5e/Mr Eaves Small Caps.woff2');
font-weight:normal;
font-style:normal
}
@font-face {
font-family: "SolberaImitationRemake";
src:url('/fonts/5e/Solbera Imitation Tweak.woff2');
font-weight:100 1000;
font-style:normal;
font-style:italic
}
@font-face {
font-family: "NodestoCapsCondensed";
src:url('/fonts/5e/Nodesto Caps Condensed.woff2');
font-weight:normal;
font-style:normal
}
@font-face {
font-family: "NodestoCapsCondensed";
src:url('/fonts/5e/Nodesto Caps Condensed Bold.woff2');
font-weight:bold;
font-style:normal
}
@font-face {
font-family: "NodestoCapsCondensed";
src:url('/fonts/5e/Nodesto Caps Condensed Italic.woff2');
font-weight:normal;
font-style:italic
}
@font-face {
font-family: "NodestoCapsCondensed";
src:url('/fonts/5e/Nodesto Caps Condensed Bold Italic.woff2');
font-weight:bold;
font-style:italic
}
@font-face {
font-family: "NodestoCapsWide";
src:url('/fonts/5e/Nodesto Caps Wide.woff2');
font-weight:normal;
font-style:normal
}
@font-face {
font-family: "Overpass";
src:url('/fonts/5e/Overpass Medium.woff2');
font-weight:500;
font-style:normal
}
@font-face {
font-family: "Davek";
src:url('/fonts/5e/Davek.woff2');
font-weight:500;
font-style:normal
}
@font-face {
font-family: "Iokharic";
src:url('/fonts/5e/Iokharic.woff2');
font-weight:500;
font-style:normal
}
@font-face {
font-family: "Rellanic";
src:url('/fonts/5e/Rellanic.woff2');
font-weight:500;
font-style:normal
}

View File

@@ -0,0 +1,40 @@
body {
color: var(--text-color);
font-family: "BookInsanityRemake", Arial, Helvetica, sans-serif;
}
body {
background-color: var(--background-color);
margin: 0;
}
* {
color: var(--text-color);
}
a {
color: var(--link-color);
}
.icon {
height: 12px;
}
*::-webkit-scrollbar
{
width: 6px;
height: 6px;
background-color: var(--color-background);
border-radius: 10px;
}
*::-webkit-scrollbar-thumb
{
background-color: var(--color-scrollbar);
border-radius: 10px;
}
.error-link {
color: var(--error-link);
}

View File

@@ -0,0 +1,41 @@
<script setup>
import TopSearchBar from './topbar/TopSearchBar.vue';
</script>
<template>
<div class="top-bar">
<div class="left">
<span class="top-bar-title"></span>
</div>
<div class="center">
<TopSearchBar></TopSearchBar>
</div>
<div class="right"></div>
</div>
</template>
<style scoped>
.top-bar {
flex-grow: 0;
flex-shrink: 0;
min-height: 40px;
width: 100%;
background-color: var(--top-bar-background-color);
display: flex;
}
.left, .right {
flex: 1;
}
.right {
text-align: right;
}
.top-bar-title {
padding: 10px;
display: flex;
font-weight: bold;
}
</style>

View File

@@ -0,0 +1,26 @@
<script setup>
import NoteContainer from './NoteContainer.vue';
const emitter = useEmitter();
function hideSearch(){
emitter.emit("hide-search-container");
}
</script>
<template>
<div class="content" v-on:click="hideSearch">
<NoteContainer></NoteContainer>
<!-- PowerMod -->
</div>
</template>
<style scoped>
.content {
flex-grow: 1;
display: flex;
justify-content: center;
align-items: center;
}
</style>

View File

@@ -0,0 +1,171 @@
<script setup>
import { onMounted, ref } from 'vue';
// import { GetNote, GetContent } from '@/services/Content';
const props = defineProps(['text', 'title', 'noteKey']);
const noteContent = ref(null);
const emitter = useEmitter();
function gotoNote(){
// emitter.emit('goto-note', props.noteKey);
}
function closeNote(){
// emitter.emit('delete-note', props.noteKey);
}
/*
onMounted(() => {
let content = GetContent();
let elements = noteContent.value.getElementsByTagName('a');
for(let i = 0, len = elements.length; i < len; i++) {
let link = elements[i].pathname.split('/').slice(1).join('');
link = decodeURIComponent(link);
if(content[link] !== undefined){
elements[i].onclick = function (event) {
event.preventDefault();
GetNote(link, (result) => {
emitter.emit("push-note", {key: link, text: "<h1>" + result.title + "</h1>" + result.html, title: result.title});
});
return false;
}
} else {
elements[i].classList.add("error-link");
elements[i].onclick = function (event) {
event.preventDefault();
return false;
}
}
}
setTimeout(() => setupCallout(), 0);
});
function closeNote(){
emitter.emit('delete-note', props.noteKey);
}
function gotoNote(){
// emitter.emit('goto-note', props.noteKey);
}
function toggleCallout() {
const outerBlock = this.parentElement;
outerBlock.classList.toggle("is-collapsed")
const collapsed = outerBlock.classList.contains("is-collapsed")
const height = collapsed ? this.scrollHeight : outerBlock.scrollHeight
outerBlock.style.maxHeight = height + "px"
// walk and adjust height of all parents
let current = outerBlock
let parent = outerBlock.parentElement
while (parent) {
if (!parent.classList.contains("callout")) {
return
}
const collapsed = parent.classList.contains("is-collapsed")
const height = collapsed ? parent.scrollHeight : parent.scrollHeight + current.scrollHeight
parent.style.maxHeight = height + "px"
current = parent
parent = parent.parentElement
}
}
function setupCallout() {
const collapsible = noteContent.value.getElementsByClassName(
`callout is-collapsible`,
);
for (const div of collapsible) {
const title = div.firstElementChild;
if (title) {
title.addEventListener("click", toggleCallout)
const collapsed = div.classList.contains("is-collapsed")
const height = collapsed ? title.scrollHeight : div.scrollHeight
div.style.maxHeight = height + "px"
}
}
}
*/
</script>
<template>
<div class="note">
<div class="note-stunt" v-on:click="gotoNote">
<div class="close-button" v-on:click="closeNote">
<img class="icon" src="/icons/Pixelarticons/white/close.svg" alt="My Happy SVG"/>
</div>
<span>{{ title }}</span>
</div>
<div class="note-content-container">
<div class="note-content" ref="noteContent" v-html="text"></div>
</div>
</div>
</template>
<style scoped>
.note-stunt {
writing-mode: vertical-lr;
position: sticky;
top: 0px;
left: 0px;
bottom: 0px;
padding: 10px;
display: flex;
user-select: none;
}
.close-button {
height: 20px;
width: 20px;
margin-bottom: 5px;
display: flex;
justify-content: center;
cursor: pointer;
}
.note {
min-width: 700px;
max-width: 700px;
overflow-y: auto;
border-color: var(--note-border-color);
border-width: 0px;
border-right-width: 1px;
border-style: solid;
display: flex;
background-color: var(--background-color);
position: sticky;
top: 0px;
}
/* Contingut de cada nota */
.note-content {
padding-bottom: 60px;
overflow-y: auto;
}
.note-content-container {
margin: 20px;
}
</style>
<style>
.note-content > h1 {
text-align: center;
}
.note-content .katex-display {
max-width: 600px;
}
</style>

View File

@@ -0,0 +1,68 @@
<script setup>
import { ref, onMounted } from 'vue';
import Note from './Note.vue';
const emitter = useEmitter();
let noteData = ref([]);
const noteContainer = ref(null);
function calculateContainerWidth(){
let dom = noteContainer.value;
dom.style.width = noteData.value.length * 701 + "px";
setTimeout(() => {
for(let i = 0; i < dom.children.length; i++){
let child = dom.children[i];
child.style.left = (40 * i) + "px";
child.style.right = (40 * (dom.children.length - i) - 700) + "px";
child.style.zIndex = i + 1;
}
}, 0);
}
function pushNote(note){
noteData.value.push(note);
calculateContainerWidth();
}
emitter.on("push-note", (note) => {
pushNote(note);
})
emitter.on("delete-note", (key) => {
noteData.value = noteData.value.filter((note) => {
return note.key !== key;
});
calculateContainerWidth();
});
</script>
<template>
<div class="note-scrolling-container" id="note-scrolling-container">
<div class="note-container" ref="noteContainer" >
<Note v-for="element in noteData" :key="element.key" :text="element.text" :title="element.title" :noteKey="element.key"></Note>
</div>
</div>
</template>
<style scoped>
.note-scrolling-container {
overflow-x: auto;
width: 100%;
height: 100%;
overflow-y: none;
}
.note-container {
display: flex;
height: 100%;
margin: 0;
height: 100%;
}
</style>
<style>
</style>

View File

@@ -0,0 +1,38 @@
<script setup>
import { ref,onMounted } from 'vue';
const emitter = useEmitter();
const statusIcon = ref(null);
const statusMessage = ref(null);
emitter.on("status-bar-update", (state) => {
var preloadImage = new Image();
preloadImage.src = '/icons/Pixelarticons/black/' + state.icon + ".svg";
preloadImage.onload = function() {
statusIcon.value.src = this.src;
};
statusMessage.value.innerText = state.text;
})
onMounted(() => {
emitter.emit("status-bar-update", {text: "Hola", icon: "check"})
});
</script>
<template>
<span class="status-text">
<img class="icon" ref="statusIcon" src=""/>
<span class="status-message" ref="statusMessage"></span>
</span>
</template>
<style scoped>
.status-text {
margin-left: 10px;
flex-direction: column;
justify-content: center;
}
.status-message {
margin-left: 5px;
}
</style>

View File

@@ -0,0 +1,46 @@
<script setup>
import FetchStatus from './FetchStatus.vue';
</script>
<template>
<div class="status-bar">
<div class="left">
<FetchStatus></FetchStatus>
</div>
<div class="center">
</div>
<div class="right">
</div>
</div>
</template>
<style scoped>
.status-bar {
flex-grow: 0;
flex-shrink: 0;
min-height: 24px;
max-height: 24px;
width: 100%;
background-color: var(--top-bar-background-color);
display: flex;
font-size: 14px;
}
.left, .right {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
}
.right {
text-align: right;
}
.top-bar-title {
padding: 10px;
display: flex;
font-weight: bold;
}
</style>

View File

@@ -0,0 +1,110 @@
<script setup>
import SearchIcon from 'pixelarticons/svg/search.svg'
/*
import { ref, onMounted } from 'vue';
import { GetArrayContent, GetContent } from '@/services/Content';
import useEmitter from '@/services/Emitter';
const emitter = useEmitter();
import NoteSearchElement from "@/components/topbar/NoteSearchElement.vue";
let noteLinks = ref([]);
let searchContainer = ref(null);
emitter.on("hide-search-container", () => {
searchContainer.value.style.display = "none";
})
function updateList(event){
let content = GetArrayContent();
let query = "";
if(event !== undefined) query = event.target.value;
let filter = query.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase().trim();
noteLinks.value = content.filter((noteInfo) => {
return noteInfo["title"].normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase().indexOf(filter) > -1;
});
}
function searchFocus(event){
if(GetContent() === undefined) return;
searchContainer.value.style.display = "";
updateList(undefined);
}
onMounted(() => {
});
*/
</script>
<template>
<div class="top-search-container">
<div class="top-search-box">
<img class="icon search-icon" :src="SearchIcon" alt="My Happy SVG"/>
<!-- <input type="text" v-on:input="updateList" v-on:focus="searchFocus" class="search-prompt" placeholder="Buscar...">-->
<input type="text" class="search-prompt" placeholder="Buscar...">
</div>
<!-- <div class="search-container" ref="searchContainer" v-on:focusout="searchFocusout" style="display: none;">-->
<div class="search-container" style="display: none;">
<div class="search-container-list">
<!--
<NoteSearchElement v-for="element in noteLinks" :key="element.key" :title="element.title" :link="element.key"></NoteSearchElement>
-->
</div>
</div>
</div>
</template>
<style scoped>
.top-search-container {
height: 100%;
align-items: center;
display: flex;
}
.top-search-box {
align-items: center;
display: flex;
background-color: var(--search-background);
padding: 2px;
border-radius: 5px;
}
.search-prompt {
border: none;
padding: 5px;
width: 30vw;
max-width: 400px;
background: none;
margin-left: -5px;
}
.search-prompt:focus {
outline: none;
}
.search-icon {
padding: 5px;
}
.search-container {
position: absolute;
background-color: var(--search-background-container);
top: 45px;
margin-left: auto;
margin-right: auto;
max-width: 800px;
max-height: 500px;
overflow-y: scroll;
left: 0;
right: 0;
backdrop-filter: blur(15px);
border-radius: 10px;
min-width: 400px;
min-height: 500px;
z-index: 99999;
}
</style>

View File

@@ -0,0 +1,4 @@
export const useEmitter = () => {
const { $emitter } = useNuxtApp()
return $emitter
}

View File

@@ -0,0 +1,11 @@
import mitt from 'mitt'
export default defineNuxtPlugin(() => {
const emitter = mitt()
return {
provide: {
emitter
}
}
})

View File

@@ -1,5 +1,26 @@
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
vite: {
optimizeDeps: {
include: [
'@vue/devtools-core',
'@vue/devtools-kit'
]
}
},
compatibilityDate: '2025-07-15',
devtools: { enabled: true }
devtools: { enabled: true },
css: [
'~/assets/css/colors.scss',
'~/assets/css/fonts.scss',
'~/assets/css/main.scss',
'~/assets/css/callouts.scss',
],
runtimeConfig: {
public: {
apiBaseUrl: process.env.API_BASE_URL || 'http://localhost:5000/api'
}
},
})

View File

@@ -7,7 +7,10 @@
"name": "dragonroll",
"hasInstallScript": true,
"dependencies": {
"mitt": "^3.0.1",
"nuxt": "^4.4.2",
"pixelarticons": "^2.1.0",
"sass": "^1.99.0",
"vue": "^3.5.32",
"vue-router": "^5.0.4"
}
@@ -4574,16 +4577,6 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"license": "MIT"
},
"node_modules/commander": {
"version": "13.1.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz",
"integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==",
"extraneous": true,
"license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/commondir": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
@@ -5851,6 +5844,12 @@
"integrity": "sha512-3MOLanc3sb3LNGWQl1RlQlNWURE5g32aUphrDyFeCsxBTk08iE3VNe4CwsUZ0Qs1X+EfX0+r29Sxdpza4B+yRA==",
"license": "MIT"
},
"node_modules/immutable": {
"version": "5.1.5",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz",
"integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==",
"license": "MIT"
},
"node_modules/impound": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/impound/-/impound-1.1.5.tgz",
@@ -6532,6 +6531,12 @@
"node": ">= 18"
}
},
"node_modules/mitt": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
"integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==",
"license": "MIT"
},
"node_modules/mlly": {
"version": "1.8.2",
"resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.2.tgz",
@@ -7226,6 +7231,18 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
"node_modules/pixelarticons": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/pixelarticons/-/pixelarticons-2.1.0.tgz",
"integrity": "sha512-t03/DsFadIEU7SCwmi4mcnYgZMCKPawvvPt+KM9bW5nC4TcNFatCD196Qm9IT/5bIIbSCGjmjAoMrTZKxRBdJw==",
"license": "MIT",
"bin": {
"pixelarticons": "bin/upgrade.js"
},
"peerDependencies": {
"react": ">=16"
}
},
"node_modules/pkg-types": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz",
@@ -7795,6 +7812,16 @@
"destr": "^2.0.5"
}
},
"node_modules/react": {
"version": "19.2.5",
"resolved": "https://registry.npmjs.org/react/-/react-19.2.5.tgz",
"integrity": "sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/readable-stream": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz",
@@ -8065,6 +8092,54 @@
],
"license": "MIT"
},
"node_modules/sass": {
"version": "1.99.0",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.99.0.tgz",
"integrity": "sha512-kgW13M54DUB7IsIRM5LvJkNlpH+WhMpooUcaWGFARkF1Tc82v9mIWkCbCYf+MBvpIUBSeSOTilpZjEPr2VYE6Q==",
"license": "MIT",
"dependencies": {
"chokidar": "^4.0.0",
"immutable": "^5.1.5",
"source-map-js": ">=0.6.2 <2.0.0"
},
"bin": {
"sass": "sass.js"
},
"engines": {
"node": ">=14.0.0"
},
"optionalDependencies": {
"@parcel/watcher": "^2.4.1"
}
},
"node_modules/sass/node_modules/chokidar": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
"integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
"license": "MIT",
"dependencies": {
"readdirp": "^4.0.1"
},
"engines": {
"node": ">= 14.16.0"
},
"funding": {
"url": "https://paulmillr.com/funding/"
}
},
"node_modules/sass/node_modules/readdirp": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
"integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
"license": "MIT",
"engines": {
"node": ">= 14.18.0"
},
"funding": {
"type": "individual",
"url": "https://paulmillr.com/funding/"
}
},
"node_modules/sax": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz",

View File

@@ -10,7 +10,10 @@
"postinstall": "nuxt prepare"
},
"dependencies": {
"mitt": "^3.0.1",
"nuxt": "^4.4.2",
"pixelarticons": "^2.1.0",
"sass": "^1.99.0",
"vue": "^3.5.32",
"vue-router": "^5.0.4"
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,143 @@
/* Main Font, serif */
@font-face {
font-family: BookInsanityRemake;
src: url('../../../fonts/5e/Bookinsanity.woff2');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: BookInsanityRemake;
src: url('../../../fonts/5e/Bookinsanity Bold.woff2');
font-weight: bold;
font-style: normal;
}
@font-face {
font-family: BookInsanityRemake;
src: url('../../../fonts/5e/Bookinsanity Italic.woff2');
font-weight: normal;
font-style: italic;
}
@font-face {
font-family: BookInsanityRemake;
src: url('../../../fonts/5e/Bookinsanity Bold Italic.woff2');
font-weight: bold;
font-style: italic;
}
/* Notes and Tables, sans-serif */
@font-face {
font-family: ScalySansRemake;
src: url('../../../fonts/5e/Scaly Sans.woff2');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: ScalySansRemake;
src: url('../../../fonts/5e/Scaly Sans Bold.woff2');
font-weight: bold;
font-style: normal;
}
@font-face {
font-family: ScalySansRemake;
src: url('../../../fonts/5e/Scaly Sans Italic.woff2');
font-weight: normal;
font-style: italic;
}
@font-face {
font-family: ScalySansRemake;
src: url('../../../fonts/5e/Scaly Sans Bold Italic.woff2');
font-weight: bold;
font-style: italic;
}
@font-face {
font-family: ScalySansSmallCapsRemake;
src: url('../../../fonts/5e/Scaly Sans Caps.woff2');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: WalterTurncoat;
src: url('../../../fonts/5e/WalterTurncoat-Regular.woff2');
font-weight: normal;
font-style: normal;
}
/* Headers */
@font-face {
font-family: MrEavesRemake;
src: url('../../../fonts/5e/Mr Eaves Small Caps.woff2');
font-weight: normal;
font-style: normal;
}
/* Fancy Drop Cap */
@font-face {
font-family: SolberaImitationRemake; //Tweaked 5e version
src: url('../../../fonts/5e/Solbera Imitation Tweak.woff2');
font-weight: 100 1000;
font-style: normal;
font-style: italic;
}
/* Cover Page */
@font-face {
font-family: NodestoCapsCondensed;
src: url('../../../fonts/5e/Nodesto Caps Condensed.woff2');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: NodestoCapsCondensed;
src: url('../../../fonts/5e/Nodesto Caps Condensed Bold.woff2');
font-weight: bold;
font-style: normal;
}
@font-face {
font-family: NodestoCapsCondensed;
src: url('../../../fonts/5e/Nodesto Caps Condensed Italic.woff2');
font-weight: normal;
font-style: italic;
}
@font-face {
font-family: NodestoCapsCondensed;
src: url('../../../fonts/5e/Nodesto Caps Condensed Bold Italic.woff2');
font-weight: bold;
font-style: italic;
}
@font-face {
font-family: NodestoCapsWide;
src: url('../../../fonts/5e/Nodesto Caps Wide.woff2');
font-weight: normal;
font-style: normal
}
@font-face {
font-family: Overpass;
src: url('../../../fonts/5e/Overpass Medium.woff2');
font-weight: 500;
font-style: normal;
}
@font-face {
font-family: Davek;
src: url('../../../fonts/5e/Davek.woff2');
font-weight: 500;
font-style: normal;
}
@font-face {
font-family: Iokharic;
src: url('../../../fonts/5e/Iokharic.woff2');
font-weight: 500;
font-style: normal;
}
@font-face {
font-family: Rellanic;
src: url('../../../fonts/5e/Rellanic.woff2');
font-weight: 500;
font-style: normal;
}

View File

@@ -0,0 +1,93 @@
Copyright 2010-2020 The Amiri Project Authors (https://github.com/alif-type/amiri).
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,93 @@
Copyright 2023 The Bruno Ace Project Authors (https://github.com/googlefonts/Bruno-ace)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,28 @@
Font Awesome Pro License
------------------------
Font Awesome Pro is commercial software that requires a paid license. Full
Font Awesome Pro license: https://fontawesome.com/license.
# Commercial License
The Font Awesome Pro commercial license allows you to pay for FA Pro once, own
it, and use it just about everywhere you'd like.
# Attribution
Attribution is not required by the Font Awesome Pro commercial license.
# Brand Icons
All brand icons are trademarks of their respective owners. The use of these
trademarks does not indicate endorsement of the trademark holder by Font
Awesome, nor vice versa. **Please do not use brand logos for any purpose except
to represent the company, product, or service to which they refer.**
Foundry Virtual Tabletop Usage
------------------------------
Font Awesome Pro is included under commercial license by Foundry Gaming LLC for
their own usage in Foundry Virtual Tabletop. Font Awesome icons included in the
Font Awesome Pro icon set may not be used, re-packaged, or referenced in code
by third party package developers unless they obtain their own Font Awesome Pro
license from https://fontawesome.com/.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,6 @@
/*!
* Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2024 Fonticons, Inc.
*/
:host,:root{--fa-style-family-classic:"Font Awesome 6 Pro";--fa-font-light:normal 300 1em/1 "Font Awesome 6 Pro"}@font-face{font-family:"Font Awesome 6 Pro";font-style:normal;font-weight:300;font-display:block;src:url(../webfonts/fa-light-300.woff2) format("woff2"),url(../webfonts/fa-light-300.ttf) format("truetype")}.fa-light,.fal{font-weight:300}

View File

@@ -0,0 +1,6 @@
/*!
* Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2024 Fonticons, Inc.
*/
:host,:root{--fa-style-family-classic:"Font Awesome 6 Pro";--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Pro"}@font-face{font-family:"Font Awesome 6 Pro";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}.fa-regular,.far{font-weight:400}

View File

@@ -0,0 +1,6 @@
/*!
* Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2024 Fonticons, Inc.
*/
:host,:root{--fa-style-family-sharp:"Font Awesome 6 Sharp";--fa-font-sharp-light:normal 300 1em/1 "Font Awesome 6 Sharp"}@font-face{font-family:"Font Awesome 6 Sharp";font-style:normal;font-weight:300;font-display:block;src:url(../webfonts/fa-sharp-light-300.woff2) format("woff2"),url(../webfonts/fa-sharp-light-300.ttf) format("truetype")}.fa-light,.fasl{font-weight:300}

View File

@@ -0,0 +1,6 @@
/*!
* Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2024 Fonticons, Inc.
*/
:host,:root{--fa-style-family-sharp:"Font Awesome 6 Sharp";--fa-font-sharp-regular:normal 400 1em/1 "Font Awesome 6 Sharp"}@font-face{font-family:"Font Awesome 6 Sharp";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-sharp-regular-400.woff2) format("woff2"),url(../webfonts/fa-sharp-regular-400.ttf) format("truetype")}.fa-regular,.fasr{font-weight:400}

View File

@@ -0,0 +1,6 @@
/*!
* Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2024 Fonticons, Inc.
*/
:host,:root{--fa-style-family-sharp:"Font Awesome 6 Sharp";--fa-font-sharp-solid:normal 900 1em/1 "Font Awesome 6 Sharp"}@font-face{font-family:"Font Awesome 6 Sharp";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-sharp-solid-900.woff2) format("woff2"),url(../webfonts/fa-sharp-solid-900.ttf) format("truetype")}.fa-solid,.fass{font-weight:900}

View File

@@ -0,0 +1,6 @@
/*!
* Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2024 Fonticons, Inc.
*/
:host,:root{--fa-style-family-sharp:"Font Awesome 6 Sharp";--fa-font-sharp-thin:normal 100 1em/1 "Font Awesome 6 Sharp"}@font-face{font-family:"Font Awesome 6 Sharp";font-style:normal;font-weight:100;font-display:block;src:url(../webfonts/fa-sharp-thin-100.woff2) format("woff2"),url(../webfonts/fa-sharp-thin-100.ttf) format("truetype")}.fa-thin,.fast{font-weight:100}

View File

@@ -0,0 +1,6 @@
/*!
* Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2024 Fonticons, Inc.
*/
:host,:root{--fa-style-family-classic:"Font Awesome 6 Pro";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Pro"}@font-face{font-family:"Font Awesome 6 Pro";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}.fa-solid,.fas{font-weight:900}

View File

@@ -0,0 +1,6 @@
/*!
* Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2024 Fonticons, Inc.
*/
:host,:root{--fa-style-family-classic:"Font Awesome 6 Pro";--fa-font-thin:normal 100 1em/1 "Font Awesome 6 Pro"}@font-face{font-family:"Font Awesome 6 Pro";font-style:normal;font-weight:100;font-display:block;src:url(../webfonts/fa-thin-100.woff2) format("woff2"),url(../webfonts/fa-thin-100.ttf) format("truetype")}.fa-thin,.fat{font-weight:100}

View File

@@ -0,0 +1,65 @@
The Fontspring Application Font End User License Agreement
Version 1.7.2 - May 14, 2018
By downloading, installing and/or embedding font software (“Font”) offered by Fontspring or its distributors, you (“Licensee”) agree to be bound by the following terms and conditions of this End User Licensing Agreement (“EULA”):
1. Rights Granted
Fontspring grants Licensee a perpetual, worldwide, non-exclusive and non-transferable license to:
a. Embed the licensed Font into an unlimited number of copies and subsequent versions of the Application(s) (“App” or “Apps”).
b. Port the app to any other platform or console (iOS, Windows, Android, Linux, Playstation, Xbox, etc.).
c. Subset or convert the Font format to improve the Fonts performance in the App.
2. Requirements and Restrictions
Licensee agrees to abide by the following requirements and restrictions:
a. The number of Monthly Active Users (“MAU”) of the App cannot exceed the number specified in the Invoice. MAU is the number of unique users that have logged in or otherwise used the app in the last 30 days. If the App has no way of monitoring use, Licensee may use “total downloads” as a metric instead.
b. Licensee may not redistribute the Font with the Apps source code.
c. Licensee may not install the Font in the operating system the App runs on.
d. Licensee may not embed the Font in an App that enables an end user to create custom typesetting with the Font (e.g. Photoshop Express for iOS, etc.).
e. Licensee may embed the Font in reports that the App saves or exports, provided that the reports are not sold for profit.
f. Licensee may only embed the Font into Apps that it owns or controls.
3. Provision to Third Parties
The Licensee may temporarily provide the Font to a third party aiding in development or design for the App who is working on behalf of the Licensee.
The third party must:
(1) Agree in writing to use the Font exclusively for Licensees work, according to the terms of this EULA.
(2) Retain no copies of the Font upon completion of the work.
4. Term
This EULA grants a perpetual license for the rights set forth in Paragraph 1 unless and until the EULA terminates under Paragraph 8. Fontspring will not charge additional fees post purchase, annually or otherwise.
5. Other Usage
Licenses for desktop use, @font-face embedding, Ebooks and Epubs, product creation websites, website template distribution, website templates, and other uses not allowed by this Agreement may be available for an additional fee. Contact Fontspring at support@fontspring.com for more information.
6. Modifications
Licensee may not modify the Font or create derivative works based upon the Font without prior written consent from Fontspring or the owning Foundry (“Foundry”) EXCEPT THAT Licensee may generate files necessary for embedding or linking in accordance with this EULA.
7. Copyright
The Font is protected by copyright law. The Foundry is the sole, exclusive owner of all intellectual property rights, including rights under copyright and trademark law. Licensee agrees not to use the Font in any manner that infringes the intellectual property rights of the Foundry or violates the terms of this EULA. Licensee will be held legally responsible, and indemnifies Fontspring, for any infringements on the Foundrys rights caused by failure to abide by the terms of this EULA.
8. Termination
This EULA is effective until terminated. If Licensee fails to comply with any term of this EULA, Fontspring may terminate the EULA with 30 days notice. This EULA will terminate automatically 30 days after the issuance of such notice.
9. Refunds and Disclaimer
Fontspring will, at the Users request, provide a refund for the Font if:
a. The Font has not been used in any published or released work.
b. No more than 30 days have passed since the date of purchase, specified on the Invoice.
c. The Font has been uninstalled and deleted from all Licensees computers.
The Product is provided “as is.” Fontspring makes no warranty of any kind, either expressed or implied, including, but not limited to the implied warranties of merchantability and fitness for a particular purpose.
Fontspring shall not be liable for any direct, indirect, consequential, or incidental damages (including damages from loss of business profits, business interruption, loss of business information, and the like) arising out of the use of or inability to use the product even if Fontspring or the foundry has been advised of the possibility of such damages.
Because some states do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to Licensee.
10. Governing Law
This EULA is governed by the laws of the United States of America and the State of Delaware.
11. Entire Agreement
This EULA, in conjunction with the invoice (“Invoice”) that accompanies each Font licensed from Fontspring or its distributors, constitutes the entire agreement between Fontspring and Licensee.
12. Modification
The Parties may modify or amend this EULA in writing.
13. Waiver. The waiver of one breach or default hereunder shall not constitute the waiver of any subsequent breach or default.

View File

@@ -0,0 +1,13 @@
@font-face {
font-family: 'Modesto';
font-style: normal;
font-weight: 400;
src: url('./modesto-condensed.woff2') format('woff2');
}
@font-face {
font-family: 'Modesto';
font-style: normal;
font-weight: 700;
src: url('./modesto-condensed-bold.woff2') format('woff2');
}

View File

@@ -0,0 +1,94 @@
Copyright (c) 2011 by Anna Giedryś (http://ancymonic.com),
with Reserved Font Names "Signika".
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

View File

@@ -0,0 +1,27 @@
@font-face {
font-family: 'Signika Negative';
src: url('./signika-negative-light.woff2') format('woff2');
font-weight: 300;
font-style: normal;
}
@font-face {
font-family: 'Signika Negative';
src: url('./signika-negative-regular.woff2') format('woff2');
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: 'Signika Negative';
src: url('./signika-negative-semibold.woff2') format('woff2');
font-weight: 600;
font-style: normal;
}
@font-face {
font-family: 'Signika Negative';
src: url('./signika-negative-bold.woff2') format('woff2');
font-weight: 700;
font-style: normal;
}

View File

@@ -0,0 +1,94 @@
Copyright (c) 2011 by Anna Giedryś (http://ancymonic.com),
with Reserved Font Names "Signika".
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,13 @@
@font-face {
font-family: 'Signika';
src: url('./signika-regular.woff2') format('woff2');
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: 'Signika';
src: url('./signika-bold.woff2') format('woff2');
font-weight: 700;
font-style: normal;
}

View File

@@ -0,0 +1,3 @@
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M5 7H3v6h5v4h2V7H8v4H5V7zm16 0h-9v10h9v-6h-4v2h2v2h-5V9h7V7z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 177 B

View File

@@ -0,0 +1,3 @@
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M3 4H1v16h22V4H3zm18 2v12H3V6h18zM7 8H5v5h4v3h2V8H9v3H7V8zm8 0h-2v8h2v-3h2v3h2v-3h-2v-2h2V8h-2v3h-2V8z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 219 B

View File

@@ -0,0 +1,3 @@
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M3 7h2v4h4V7h2v10H9v-4H3V7zm10 0h2v4h2v2h-2v4h-2V7zm6 8h-2v-2h2v2zm0 0h2v2h-2v-2zm0-6h-2v2h2V9zm0 0V7h2v2h-2z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 226 B

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