Updated contact page's text, Added yaa and mc mod items, Updated some code in the composer and other pages
Update composer.php, sidebar.php, and 7 more files...
This commit is contained in:
@@ -619,12 +619,25 @@ class ComposerElement {
|
||||
// Defining the text's indent level.
|
||||
$_paragraph_ident_level = is_null($this->indent) ? 0 : $this->indent;
|
||||
|
||||
// Calculating the vertical margin modifiers
|
||||
$_paragraph_no_margin_top = ComposerElementModifiers::is_modifier_in_modifiers(
|
||||
ComposerElementModifiers::GENERIC_MARGIN_NO_TOP, $this->modifiers);
|
||||
$_paragraph_no_margin_bottom = ComposerElementModifiers::is_modifier_in_modifiers(
|
||||
ComposerElementModifiers::GENERIC_MARGIN_NO_BOTTOM, $this->modifiers);
|
||||
|
||||
if($_paragraph_no_margin_top && $_paragraph_no_margin_bottom) {
|
||||
$_paragraph_margin_modifier = 'my-0';
|
||||
} else if($_paragraph_no_margin_top) {
|
||||
$_paragraph_margin_modifier = 'mt-0 mb-10';
|
||||
} else if($_paragraph_no_margin_bottom) {
|
||||
$_paragraph_margin_modifier = 'mt-10 mb-0';
|
||||
} else {
|
||||
$_paragraph_margin_modifier = 'my-10';
|
||||
}
|
||||
|
||||
// Composing the paragraph
|
||||
$htmlCode .= '<p class="' .
|
||||
(ComposerElementModifiers::is_modifier_in_modifiers(
|
||||
ComposerElementModifiers::GENERIC_MARGIN_NO_TOP, $this->modifiers)
|
||||
? 'mt-0 mb-10' : 'my-10') . ' ml-md-' . ($_paragraph_ident_level * 5) . '">' .
|
||||
$this->get_inner_html($content_root) . '</p>';
|
||||
$htmlCode .= '<p class="' . $_paragraph_margin_modifier. ' ml-md-' . ($_paragraph_ident_level * 5) .
|
||||
'">' . $this->get_inner_html($content_root) . '</p>';
|
||||
|
||||
break;
|
||||
|
||||
@@ -834,8 +847,10 @@ function get_content_file_path(string $content_id) : ?string {
|
||||
}
|
||||
|
||||
function load_content_by_file_path(string $file_path) : ?ComposerContent {
|
||||
// FIXME: Add handling for JSON errors !
|
||||
$content_json_data = json_decode(file_get_contents($file_path), true);
|
||||
if(is_null($content_json_data)) {
|
||||
return null;
|
||||
}
|
||||
return ComposerContent::from_json($content_json_data);
|
||||
}
|
||||
|
||||
|
@@ -32,10 +32,14 @@ if(!isset($SIDEBAR_ID)) {
|
||||
<span class="sidebar-icon"><i class="fad fa-browser"></i></span>
|
||||
<?php print(localize("programming.apps.title")); ?>
|
||||
</a>
|
||||
<a id="sbl-projects-tutorials" href="<?php print(l10n_url_abs('/content/?tags=tutorial')); ?>" class="sidebar-link sidebar-link-with-icon">
|
||||
<span class="sidebar-icon"><i class="fad fa-books"></i></span>
|
||||
<a id="sbl-projects-tutorials" href="<?php print(l10n_url_abs('/content/?tags=game')); ?>" class="sidebar-link sidebar-link-with-icon">
|
||||
<span class="sidebar-icon"><i class="fad fa-gamepad-alt"></i></span>
|
||||
<?php print(localize("programming.games.title")); ?>
|
||||
</a>
|
||||
<!--<a id="sbl-projects-tutorials" href="<?php print(l10n_url_abs('/content/?tags=tutorial')); ?>" class="sidebar-link sidebar-link-with-icon">
|
||||
<span class="sidebar-icon"><i class="fad fa-books"></i></span>
|
||||
<?php print(localize("programming.tutorials.title")); ?>
|
||||
</a>
|
||||
</a>-->
|
||||
<a id="sbl-projects-tools" href="<?php print(l10n_url_abs('/content/?tags=tool')); ?>" class="sidebar-link sidebar-link-with-icon">
|
||||
<span class="sidebar-icon"><i class="fad fa-tools"></i></span>
|
||||
<?php print(localize("programming.tools.title")); ?>
|
||||
|
@@ -175,7 +175,16 @@
|
||||
"downloads.title": "Downloads",
|
||||
"downloads.description": "$downloads.description",
|
||||
"downloads.title.header": "Downloads",
|
||||
"downloads.intro.title": "Directory listing of: <i>/files/</i>"
|
||||
"downloads.intro.title": "Directory listing of: <i>/files/</i>",
|
||||
|
||||
"contact.email.title": "Email",
|
||||
"contact.email.name": "Sender's Name",
|
||||
"contact.email.message": "Message",
|
||||
"contact.twitter.button": "Compose DM to @NibblePoker on Twitter",
|
||||
"contact.tox.main": "Main account:",
|
||||
"contact.tox.secondary": "Backup account:",
|
||||
"contact.tox.button.open": "Open in Tox Client",
|
||||
"contact.tox.button.copy": "Copy to clipboard"
|
||||
},
|
||||
"fr": {
|
||||
"home.title.nav": "Accueil",
|
||||
@@ -340,7 +349,16 @@
|
||||
"about.philosophy.title": "Philosophie des projets",
|
||||
"about.skills.title": "Compétences",
|
||||
"about.work.title": "Parcours professionnel",
|
||||
"about.education.title": "Éducation"
|
||||
"about.education.title": "Éducation",
|
||||
|
||||
"contact.email.title": "Courriel",
|
||||
"contact.email.name": "Nom de l'envoyeur",
|
||||
"contact.email.message": "Message",
|
||||
"contact.twitter.button": "Composer un message privé pour @NibblePoker sur Twitter",
|
||||
"contact.tox.main": "Compte principal:",
|
||||
"contact.tox.secondary": "Compte secondaire:",
|
||||
"contact.tox.button.open": "Ouvrir dans un client Tox",
|
||||
"contact.tox.button.copy": "Copier dans le presse-papier"
|
||||
},
|
||||
"lb": {
|
||||
"home.title.nav": "Doheem",
|
||||
|
@@ -35,7 +35,7 @@ include_once 'langs.php';
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
<h2 class="card-title font-size-18 m-0"><i class="fad fa-envelope-square"></i> Email</h2>
|
||||
<h2 class="card-title font-size-18 m-0"><i class="fad fa-envelope-square"></i> <?php print(localize("contact.email.title")); ?></h2>
|
||||
</div>
|
||||
<div class="col-8 text-right font-italic">
|
||||
<h2 class="card-title font-size-18 m-0 text-super-muted">herwin.bozet@gmail.com</h2>
|
||||
@@ -46,11 +46,11 @@ include_once 'langs.php';
|
||||
<div class="px-card py-20 bg-light-lm bg-very-dark-dm rounded-bottom px-20">
|
||||
<form action="mailto:herwin.bozet@gmail.com?subject=Website%20contact%20form%20message" target="_top" method="post" class="w-full">
|
||||
<div class="form-group">
|
||||
<label for="name">Sender's Name</label>
|
||||
<label for="name"><?php print(localize("contact.email.name")); ?></label>
|
||||
<input type="text" class="form-control" id="name" placeholder="John Smith">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="message" class="required">Message</label>
|
||||
<label for="message" class="required"><?php print(localize("contact.email.message")); ?></label>
|
||||
<textarea class="form-control" id="message" placeholder="Write your message here." required="required"></textarea>
|
||||
</div>
|
||||
<input class="btn btn-primary mr-10" type="submit" value="Submit">
|
||||
@@ -73,7 +73,7 @@ include_once 'langs.php';
|
||||
</div>
|
||||
<div class="px-card py-20 bg-light-lm bg-very-dark-dm rounded-bottom pl-20">
|
||||
<a href="https://twitter.com/messages/compose?recipient_id=937370791334895616">
|
||||
<button class="btn btn-primary">Compose DM to @NibblePoker on Twitter</button>
|
||||
<button class="btn btn-primary"><?php print(localize("contact.twitter.button")); ?></button>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -91,29 +91,33 @@ include_once 'langs.php';
|
||||
</div>
|
||||
<div class="px-card py-10 bg-light-lm bg-very-dark-dm rounded-bottom px-20">
|
||||
<p class="mb-0 mt-10">
|
||||
Main account:
|
||||
<?php print(localize("contact.tox.main")); ?>
|
||||
</p>
|
||||
<p class="text-monospace text-break font-size-12 mt-0 ml-10">
|
||||
62C1A91A425F90D7B4F047D70CCF31E7402C9EC37B93604B0F37C416442D15044AF6C1AE033B
|
||||
</p>
|
||||
<p class="mb-20 text-decoration-none">
|
||||
<a href="tox:62C1A91A425F90D7B4F047D70CCF31E7402C9EC37B93604B0F37C416442D15044AF6C1AE033B" class="text-decoration-none">
|
||||
<button class="btn btn-primary">Open in Tox Client</button>
|
||||
<button class="btn btn-primary"><?php print(localize("contact.tox.button.open")); ?></button>
|
||||
</a>
|
||||
<button id="button-copy-tox-id-main" class="btn btn-secondary ml-10">Copy to clipboard</button>
|
||||
<button id="button-copy-tox-id-main" class="btn btn-secondary ml-10">
|
||||
<?php print(localize("contact.tox.button.copy")); ?>
|
||||
</button>
|
||||
</p>
|
||||
<hr>
|
||||
<p class="mb-0">
|
||||
Backup account:
|
||||
<?php print(localize("contact.tox.secondary")); ?>
|
||||
</p>
|
||||
<p class="text-monospace text-break font-size-12 mt-0 ml-10">
|
||||
01ABBD4515C8FA56231333D1022CEEE0A605F4E85F8A945365F56D196A1BBA10FB4DCE08DBE8
|
||||
</p>
|
||||
<p>
|
||||
<a href="tox:01ABBD4515C8FA56231333D1022CEEE0A605F4E85F8A945365F56D196A1BBA10FB4DCE08DBE8" class="text-decoration-none">
|
||||
<button class="btn btn-primary">Open in Tox Client</button>
|
||||
<button class="btn btn-primary"><?php print(localize("contact.tox.button.open")); ?></button>
|
||||
</a>
|
||||
<button id="button-copy-tox-id-backup" class="btn btn-secondary ml-10">Copy to clipboard</button>
|
||||
<button id="button-copy-tox-id-backup" class="btn btn-secondary ml-10">
|
||||
<?php print(localize("contact.tox.button.copy")); ?>
|
||||
</button>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -36,6 +36,26 @@
|
||||
"fr": "Petite application web qui permet de facilement retirer le mot de passe d'une feuille de calcul Excel depuis votre navigateur web sans avoir à uploader le fichier sur internet.<br>Cette application laisse votre navigateur modifier les fichiers XML du fichier Excel afin de tout garder en local."
|
||||
},
|
||||
"image": "/resources/Azias/imgs/excel-password-remover/excel-password-remover.png",
|
||||
"tags": ["tool", "web"]
|
||||
"tags": [
|
||||
"tool",
|
||||
"web"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "mc-expanded-iron-bundles",
|
||||
"title": {
|
||||
"en": "Expanded Iron Bundles",
|
||||
"fr": "Expanded Iron Bundles"
|
||||
},
|
||||
"preamble": {
|
||||
"en": "A small Minecraft mod that provides bundles with more storage space, and new functionalities in the future.",
|
||||
"fr": "Un petit mod pour Minecraft qui ajoute des sacs avec plus d'espace de stockage et de nouvelles fonctionalitées dans le futur."
|
||||
},
|
||||
"image": "/resources/Azias/imgs/mc-expanded-iron-bundles/item-icon.png",
|
||||
"tags": [
|
||||
"game",
|
||||
"minecraft",
|
||||
"mod"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
238
content/items/mc-expanded-iron-bundles.json
Normal file
238
content/items/mc-expanded-iron-bundles.json
Normal file
@@ -0,0 +1,238 @@
|
||||
{
|
||||
"strings": {
|
||||
"en": {
|
||||
"meta.title": "Minecraft - Expanded Iron Bundles",
|
||||
"meta.description": "A small Minecraft mod that provides bundles with more storage space, and new functionalities in the future.",
|
||||
"article.subtitle": "<a href=\"https://github.com/aziascreations/MC-Expanded-Iron-Bundles\" class=\"font-size-16\"><i class=\"fab fa-github\"></i> View on GitHub</a>",
|
||||
"intro.title": "Introduction",
|
||||
"feature.current.title": "Current features",
|
||||
"feature.current.1": "Recipe for the vanilla bundle",
|
||||
"feature.current.2": "Multiple variants with more storage space and special properties:",
|
||||
"feature.current.3": "Copper Bundle (128 slots / 2 stacks)",
|
||||
"feature.current.4": "Iron Bundle (256 slots / 4 stacks)",
|
||||
"feature.current.5": "Gold Bundle (384 slots / 6 stacks)",
|
||||
"feature.current.6": "Diamond Bundle (512 slots / 8 stacks)",
|
||||
"feature.current.7": "Obsidian Bundle (768 slots / 12 stacks)",
|
||||
"feature.current.8": "Ancient Scraps Bundle (896 slots / 14 stacks)",
|
||||
"feature.current.9": "Netherite Bundle (1024 slots / 16 stacks & Immune to fire and lava)",
|
||||
"feature.planned.title": "Planned features",
|
||||
"feature.planned.1": "Versions for Forge and previous versions of Minecraft",
|
||||
"feature.planned.2": "A config file to enable/disable specific bundles, change capacity",
|
||||
"feature.planned.3": "Better visuals for the occupancy bar",
|
||||
"feature.planned.4": "More bundles with special mechanics (i.e.: Ender Bundle, ...)",
|
||||
"feature.planned.5": "More bundle upgrades",
|
||||
"feature.planned.6": "Improved bundle mechanics (i.e.: Swapping last inserted item, ...)",
|
||||
"feature.planned.7": "Support for modded ores and modded clones of existing ores",
|
||||
"links.title": "Links"
|
||||
},
|
||||
"fr": {
|
||||
"meta.title": "Minecraft - Expanded Iron Bundlest",
|
||||
"meta.description": "Un petit mod pour Minecraft qui ajoute des sacs avec plus d'espace de stockage et de nouvelles fonctionalitées dans le futur.",
|
||||
"article.subtitle": "<a href=\"https://github.com/aziascreations/MC-Expanded-Iron-Bundles\" class=\"font-size-16\"><i class=\"fab fa-github\"></i> Voir sur GitHub</a>",
|
||||
"intro.title": "Introduction",
|
||||
"feature.current.title": "Fonctionnalités",
|
||||
"feature.current.1": "Une recette pour le sac en cuir",
|
||||
"feature.current.2": "Plusieurs variantes des sacs avec de nouvelles propriétés:",
|
||||
"feature.current.3": "Sac en cuivre (128 slots / 2 stacks)",
|
||||
"feature.current.4": "Sac en fer (256 slots / 4 stacks)",
|
||||
"feature.current.5": "Sac en or (384 slots / 6 stacks)",
|
||||
"feature.current.6": "Sac en diamant (512 slots / 8 stacks)",
|
||||
"feature.current.7": "Sac en obsidienne (768 slots / 12 stacks)",
|
||||
"feature.current.8": "Sac en fragments de Netherite (896 slots / 14 stacks)",
|
||||
"feature.current.9": "Sac en Netherite (1024 slots / 16 stacks & Immune to fire and lava)",
|
||||
"feature.planned.title": "Fonctionnalités planifiées",
|
||||
"feature.planned.1": "Une version pour Forge et les anciennes versions du jeu",
|
||||
"feature.planned.2": "Un fichier de configuration pour activer/désactiver des fonctionnalités et changer la taille des sacs",
|
||||
"feature.planned.3": "Des meilleurs effets visuels pour la barre d'utilisation",
|
||||
"feature.planned.4": "Des sacs avec des mécaniques spéciales (ex: Sac d'Ender, ...)",
|
||||
"feature.planned.5": "Plus d'améliorations de sacs",
|
||||
"feature.planned.6": "Mécaniques d'utilisations améliorées (ex: Changer l'objet qui sera sorti)",
|
||||
"feature.planned.7": "Support pour les minerais issus d'autres mods",
|
||||
"links.title": "Liens"
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"template": "article",
|
||||
"head": {
|
||||
"title": "meta.title",
|
||||
"description": "meta.description"
|
||||
},
|
||||
"opengraph": {
|
||||
"title": "meta.title",
|
||||
"description": "meta.description",
|
||||
"type": null,
|
||||
"url": null,
|
||||
"image": null,
|
||||
"image_type": null
|
||||
},
|
||||
"article": {
|
||||
"icon": "fad fa-cubes",
|
||||
"title": "meta.title",
|
||||
"subtitle": "article.subtitle",
|
||||
"tags": ["game", "minecraft", "mod"]
|
||||
}
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"type": "container", "padding": 20,
|
||||
"modifiers": ["no-bottom-padding", "no-top-margin"],
|
||||
"parts": [
|
||||
{"type": "h1", "content": "intro.title"},
|
||||
{"type": "paragraph", "indent": 2, "content": "meta.description"}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"type": "container", "padding": 20,
|
||||
"modifiers": ["no-bottom-padding", "no-top-margin"],
|
||||
"parts": [
|
||||
{"type": "h1", "content": "feature.current.title"},
|
||||
{
|
||||
"type": "paragraph",
|
||||
"indent": 2,
|
||||
"parts": [
|
||||
{"type": "raw", "content": "● ", "localize": false},
|
||||
{"type": "raw", "content": "feature.current.1"},
|
||||
{"type": "raw", "content": "<br>", "localize": false},
|
||||
{"type": "raw", "content": "● ", "localize": false},
|
||||
{"type": "raw", "content": "feature.current.2"},
|
||||
{"type": "raw", "content": "<br>", "localize": false},
|
||||
{"type": "raw", "content": " ⚬ ", "localize": false},
|
||||
{"type": "raw", "content": "feature.current.3"},
|
||||
{"type": "raw", "content": "<br>", "localize": false},
|
||||
{"type": "raw", "content": " ⚬ ", "localize": false},
|
||||
{"type": "raw", "content": "feature.current.4"},
|
||||
{"type": "raw", "content": "<br>", "localize": false},
|
||||
{"type": "raw", "content": " ⚬ ", "localize": false},
|
||||
{"type": "raw", "content": "feature.current.5"},
|
||||
{"type": "raw", "content": "<br>", "localize": false},
|
||||
{"type": "raw", "content": " ⚬ ", "localize": false},
|
||||
{"type": "raw", "content": "feature.current.6"},
|
||||
{"type": "raw", "content": "<br>", "localize": false},
|
||||
{"type": "raw", "content": " ⚬ ", "localize": false},
|
||||
{"type": "raw", "content": "feature.current.7"},
|
||||
{"type": "raw", "content": "<br>", "localize": false},
|
||||
{"type": "raw", "content": " ⚬ ", "localize": false},
|
||||
{"type": "raw", "content": "feature.current.8"},
|
||||
{"type": "raw", "content": "<br>", "localize": false},
|
||||
{"type": "raw", "content": " ⚬ ", "localize": false},
|
||||
{"type": "raw", "content": "feature.current.9"}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"type": "container", "padding": 20,
|
||||
"modifiers": ["no-bottom-padding", "no-top-margin"],
|
||||
"parts": [
|
||||
{"type": "h1", "content": "feature.planned.title"},
|
||||
{
|
||||
"type": "paragraph",
|
||||
"indent": 2,
|
||||
"parts": [
|
||||
{"type": "raw", "content": "● ", "localize": false},
|
||||
{"type": "raw", "content": "feature.planned.1"},
|
||||
{"type": "raw", "content": "<br>", "localize": false},
|
||||
{"type": "raw", "content": "● ", "localize": false},
|
||||
{"type": "raw", "content": "feature.planned.2"},
|
||||
{"type": "raw", "content": "<br>", "localize": false},
|
||||
{"type": "raw", "content": "● ", "localize": false},
|
||||
{"type": "raw", "content": "feature.planned.3"},
|
||||
{"type": "raw", "content": "<br>", "localize": false},
|
||||
{"type": "raw", "content": "● ", "localize": false},
|
||||
{"type": "raw", "content": "feature.planned.4"},
|
||||
{"type": "raw", "content": "<br>", "localize": false},
|
||||
{"type": "raw", "content": "● ", "localize": false},
|
||||
{"type": "raw", "content": "feature.planned.5"},
|
||||
{"type": "raw", "content": "<br>", "localize": false},
|
||||
{"type": "raw", "content": "● ", "localize": false},
|
||||
{"type": "raw", "content": "feature.planned.6"},
|
||||
{"type": "raw", "content": "<br>", "localize": false},
|
||||
{"type": "raw", "content": "● ", "localize": false},
|
||||
{"type": "raw", "content": "feature.planned.7"}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"type": "container", "padding": 20,
|
||||
"modifiers": ["no-top-margin"],
|
||||
"parts": [
|
||||
{"type": "h1", "content": "links.title"},
|
||||
{
|
||||
"type": "paragraph",
|
||||
"indent": 2,
|
||||
"modifiers": ["no-bottom-padding"],
|
||||
"parts": [
|
||||
{"type": "raw", "content": "● ", "localize": false},
|
||||
{
|
||||
"type": "raw",
|
||||
"link": "https://github.com/aziascreations/MC-Expanded-Iron-Bundles",
|
||||
"parts": [
|
||||
{"type": "raw", "content": "content.commons.github"},
|
||||
{"type": "raw", "content": "<span class=\"hidden-xs-and-down\"> - ", "localize": false},
|
||||
{
|
||||
"type": "raw",
|
||||
"content": "<span class=\"font-size-12\">(https://github.com/aziascreations/MC-Expanded-Iron-Bundles)</span></span>",
|
||||
"localize": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{"type": "raw", "content": "<br>", "localize": false},
|
||||
{"type": "raw", "content": "● ", "localize": false},
|
||||
{
|
||||
"type": "raw",
|
||||
"link": "https://git.nibblepoker.lu/aziascreations/MC-Expanded-Iron-Bundles",
|
||||
"parts": [
|
||||
{"type": "raw", "content": "content.commons.gitea"},
|
||||
{"type": "raw", "content": "<span class=\"hidden-xs-and-down\"> - ", "localize": false},
|
||||
{
|
||||
"type": "raw",
|
||||
"content": "<span class=\"font-size-12\">(https://git.nibblepoker.lu/aziascreations/MC-Expanded-Iron-Bundles)</span></span>",
|
||||
"localize": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "paragraph",
|
||||
"indent": 2,
|
||||
"modifiers": ["no-top-padding"],
|
||||
"parts": [
|
||||
{"type": "raw", "content": "● ", "localize": false},
|
||||
{
|
||||
"type": "raw", "link": "https://modrinth.com/mod/expanded-iron-bundles",
|
||||
"parts": [
|
||||
{"type": "raw", "content": "Modrinth [Fabric & Forge]", "localize": false},
|
||||
{"type": "raw", "content": "<span class=\"hidden-xs-and-down\"> - ", "localize": false},
|
||||
{
|
||||
"type": "raw",
|
||||
"content": "<span class=\"font-size-12\">(https://modrinth.com/mod/expanded-iron-bundles)</span></span>",
|
||||
"localize": false
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{"type": "raw", "content": "<br>", "localize": false},
|
||||
{"type": "raw", "content": "● ", "localize": false},
|
||||
{
|
||||
"type": "raw", "link": "https://www.curseforge.com/minecraft/mc-mods/expanded-iron-bundles-fabric",
|
||||
"parts": [
|
||||
{"type": "raw", "content": "CurseForge [Fabric]", "localize": false},
|
||||
{"type": "raw", "content": "<span class=\"hidden-xs-and-down\"> - ", "localize": false},
|
||||
{
|
||||
"type": "raw",
|
||||
"content": "<span class=\"font-size-12\">(https://www.curseforge.com/minecraft/mc-mods/expanded-iron-bundles-fabric)</span></span>",
|
||||
"localize": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
130
content/items/youtube-auto-archiver.json
Normal file
130
content/items/youtube-auto-archiver.json
Normal file
@@ -0,0 +1,130 @@
|
||||
{
|
||||
"strings": {
|
||||
"en": {
|
||||
"meta.title": "Youtube Auto Archiver",
|
||||
"meta.description": "A simple and yet highly configurable Python application that automatically checks if a Youtuber is streaming, and downloads said streams while also archiving its latest uploads.",
|
||||
"article.subtitle": "<a href=\"https://github.com/aziascreations/Youtube-Auto-Archiver\" class=\"font-size-16\"><i class=\"fab fa-github\"></i> View on GitHub</a>",
|
||||
|
||||
"intro.title": "Introduction",
|
||||
"warning.title": "Warning",
|
||||
"warning.p1": "Due to the way some commands are executed, it is possible to have a <a href=\"https://owasp.org/www-community/attacks/Command_Injection\">command injection vulnerability</a> if you mess up or leave the config file editable by everyone.",
|
||||
"warning.p2": "This might be fixed in the future, but don't count on it as this project is a personal one.",
|
||||
|
||||
"features.title": "Features",
|
||||
"features.list.1.1": "● General",
|
||||
"features.list.1.2": "⚬ Can run on Windows and Linux (Tested on x64 and ARMv8)",
|
||||
"features.list.1.3": "⚬ Relatively high level of configurability.",
|
||||
"features.list.2.1": "● YouTube",
|
||||
"features.list.2.2": "⚬ Automatic livestream download through https://youtube.com/c/.../live",
|
||||
"features.list.2.3": "⚬ Automatic livestream thumbnail and description download.",
|
||||
"features.list.2.4": "⚬ Automatic download of uploads and their metadata.",
|
||||
"features.list.2.5": "⚬ Configurable delays, actions, locations per channel.",
|
||||
"features.list.3.1": "● Planned for v1.0.0",
|
||||
"features.list.3.2": "⚬ Native support for cookies for yt-dlp and maybe streamlink.",
|
||||
"features.list.3.3": "⚬ Better support to prevent command injection. (Will block some features if used)",
|
||||
"features.list.4.1": "● Planned for later",
|
||||
"features.list.4.2": "⚬ Using TOML for the config file when Python 3.11 is released and stable.",
|
||||
|
||||
"links.title": "Links"
|
||||
},
|
||||
"fr": {
|
||||
"_meta.title": "",
|
||||
"meta.description": "Une simple petite application hautement configurable qui vérifie automatiquement si un Youtubeur stream et as uploadé des vidéos afin de les archiver.",
|
||||
"article.subtitle": "<a href=\"https://github.com/aziascreations/Youtube-Auto-Archiver\" class=\"font-size-16\"><i class=\"fab fa-github\"></i> Voir sur GitHub</a>",
|
||||
|
||||
"intro.title": "Introduction",
|
||||
"warning.title": "Avertissements",
|
||||
"warning.p1": "Due au fait que certaines commandes sont exécutées avec des paramètres arbitraires configurables cette application est vulnérable aux attaques par <a href=\"https://owasp.org/www-community/attacks/Command_Injection\">injection de commande</a> si le fichier de configuration est modifiable par des personnes non autorisées.",
|
||||
"warning.p2": "Ce problème sera probablement réglé dans le futur, mais il n'y a pas de date fixe comme ce projet est plus personnel qu'autre-chose.",
|
||||
|
||||
"features.title": "Fonctionnalités",
|
||||
"features.list.1.1": "● General",
|
||||
"features.list.1.2": "⚬ Can run on Windows and Linux (Tested on x64 and ARMv8)",
|
||||
"features.list.1.3": "⚬ Relatively high level of configurability.",
|
||||
"features.list.2.1": "● YouTube",
|
||||
"features.list.2.2": "⚬ Automatic livestream download through https://youtube.com/c/.../live",
|
||||
"features.list.2.3": "⚬ Automatic livestream thumbnail and description download.",
|
||||
"features.list.2.4": "⚬ Automatic download of uploads and their metadata.",
|
||||
"features.list.2.5": "⚬ Configurable delays, actions, locations per channel.",
|
||||
"features.list.3.1": "● Planned for v1.0.0",
|
||||
"features.list.3.2": "⚬ Native support for cookies for yt-dlp and maybe streamlink.",
|
||||
"features.list.3.3": "⚬ Better support to prevent command injection. (Will block some features if used)",
|
||||
"features.list.4.1": "● Planned for later",
|
||||
"features.list.4.2": "⚬ Using TOML for the config file when Python 3.11 is released and stable.",
|
||||
|
||||
"links.title": "Liens"
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"template": "article",
|
||||
"head": {
|
||||
"title": "meta.title",
|
||||
"description": "meta.description"
|
||||
},
|
||||
"opengraph": {
|
||||
"title": "meta.title",
|
||||
"description": "meta.description",
|
||||
"type": null,
|
||||
"url": null,
|
||||
"image": null,
|
||||
"image_type": null
|
||||
},
|
||||
"article": {
|
||||
"icon": "fab fa-youtube",
|
||||
"title": "meta.title",
|
||||
"subtitle": "article.subtitle",
|
||||
"tags": ["docker", "application", "web", "python"]
|
||||
}
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"type": "container", "padding": 20,
|
||||
"modifiers": ["no-bottom-padding", "no-top-margin"],
|
||||
"parts": [
|
||||
{"type": "h1", "content": "intro.title"},
|
||||
{"type": "paragraph", "indent": 2, "content": "meta.description"}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"type": "container", "padding": 20,
|
||||
"modifiers": ["no-bottom-padding", "no-top-margin"],
|
||||
"parts": [
|
||||
{"type": "h1", "content": "warning.title"},
|
||||
{"type": "paragraph", "indent": 2, "content": "warning.p1"},
|
||||
{"type": "paragraph", "indent": 2, "content": "warning.p2"}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"type": "container", "padding": 20,
|
||||
"modifiers": ["no-bottom-padding", "no-top-margin"],
|
||||
"parts": [
|
||||
{"type": "h1", "content": "features.title"},
|
||||
{"type": "paragraph", "indent": 2, "content": "features.list.1.1", "modifiers": ["no-bottom-margin"]},
|
||||
{"type": "paragraph", "indent": 4, "content": "features.list.1.2", "modifiers": ["no-bottom-margin", "no-top-margin"]},
|
||||
{"type": "paragraph", "indent": 4, "content": "features.list.1.3", "modifiers": ["no-bottom-margin", "no-top-margin"]},
|
||||
{"type": "paragraph", "indent": 2, "content": "features.list.2.1", "modifiers": ["no-bottom-margin"]},
|
||||
{"type": "paragraph", "indent": 4, "content": "features.list.2.2", "modifiers": ["no-bottom-margin", "no-top-margin"]},
|
||||
{"type": "paragraph", "indent": 4, "content": "features.list.2.3", "modifiers": ["no-bottom-margin", "no-top-margin"]},
|
||||
{"type": "paragraph", "indent": 4, "content": "features.list.2.4", "modifiers": ["no-bottom-margin", "no-top-margin"]},
|
||||
{"type": "paragraph", "indent": 4, "content": "features.list.2.5", "modifiers": ["no-bottom-margin", "no-top-margin"]},
|
||||
{"type": "paragraph", "indent": 2, "content": "features.list.3.1", "modifiers": ["no-bottom-margin"]},
|
||||
{"type": "paragraph", "indent": 4, "content": "features.list.3.2", "modifiers": ["no-bottom-margin", "no-top-margin"]},
|
||||
{"type": "paragraph", "indent": 4, "content": "features.list.3.3", "modifiers": ["no-bottom-margin", "no-top-margin"]},
|
||||
{"type": "paragraph", "indent": 2, "content": "features.list.4.1", "modifiers": ["no-bottom-margin"]},
|
||||
{"type": "paragraph", "indent": 4, "content": "features.list.4.2", "modifiers": ["no-top-margin"]}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"type": "container", "padding": 20,
|
||||
"modifiers": ["no-bottom-padding", "no-top-margin"],
|
||||
"parts": [
|
||||
{"type": "h1", "content": "warning.title"},
|
||||
{"type": "paragraph", "indent": 2, "content": "warning.p1"},
|
||||
{"type": "paragraph", "indent": 2, "content": "warning.p2"}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@@ -21,7 +21,7 @@ include_once 'langs.php';
|
||||
<div class="page-wrapper with-sidebar with-navbar-fixed-bottom">
|
||||
<?php $SIDEBAR_ID = 'home'; include 'sidebar.php'; ?>
|
||||
<div class="content-wrapper">
|
||||
<div class="container-fluid h-full stretch-align-items">
|
||||
<div class="container-fluid">
|
||||
<div id="page-title-bar" class="card p-0 pl-20 m-0 square-corners bg-very-dark title-bkgd navbar">
|
||||
<h2 class="content-title font-size-24 mt-20 text-truncate">
|
||||
<i class="fad fa-home"></i> <?php print(localize("home.title.header")); ?>
|
||||
@@ -151,6 +151,11 @@ include_once 'langs.php';
|
||||
</div>
|
||||
</div>
|
||||
<div class="px-card py-5 px-20">
|
||||
<p>
|
||||
<span class="font-weight-bold">9th September 2022</span><br>
|
||||
Moved to v6Node and updated privacy policy to reflect the changes.
|
||||
</p>
|
||||
<hr>
|
||||
<p>
|
||||
<span class="font-weight-bold">25th July 2022</span><br>
|
||||
Finished setting up a public read-only Gitea instance for the projects.
|
||||
|
BIN
resources/Azias/imgs/mc-expanded-iron-bundles/item-icon.png
Normal file
BIN
resources/Azias/imgs/mc-expanded-iron-bundles/item-icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 57 KiB |
Reference in New Issue
Block a user