Compare commits
No commits in common. "main" and "gh-pages" have entirely different histories.
59 changed files with 6290 additions and 4343 deletions
75
.eleventy.js
75
.eleventy.js
|
|
@ -1,75 +0,0 @@
|
|||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const i18n = require('./_data/i18n.js');
|
||||
|
||||
module.exports = function(eleventyConfig) {
|
||||
eleventyConfig.addCollection("post", function(collectionApi) {
|
||||
return collectionApi.getFilteredByGlob("./posts/*").sort((a, b) => b.date - a.date);
|
||||
});
|
||||
eleventyConfig.addCollection("misc", (api) =>
|
||||
api.getFilteredByTag("misc")
|
||||
);
|
||||
eleventyConfig.addFilter("getTranslation", (page, lang) => {
|
||||
const dir = path.dirname(page.inputPath);
|
||||
const file = path.join(dir, `${lang}.json`);
|
||||
|
||||
if (fs.existsSync(file)) {
|
||||
return JSON.parse(fs.readFileSync(file, "utf-8"));
|
||||
}
|
||||
|
||||
return {};
|
||||
});
|
||||
eleventyConfig.addCollection("88x31", () => {
|
||||
return fs.readdirSync("static/images/88x31")
|
||||
.map(file => ({
|
||||
url: `/static/images/88x31/${file}`,
|
||||
fileSlug: file
|
||||
}));
|
||||
});
|
||||
|
||||
eleventyConfig.addPassthroughCopy("static");
|
||||
|
||||
eleventyConfig.addNunjucksFilter("alternateLanguages", function(collection, postId, currentLanguageKey) {
|
||||
return collection.filter(post =>
|
||||
post.data.postId === postId && post.data.langKey !== currentLanguageKey
|
||||
)
|
||||
.map(post => ({
|
||||
lang: post.data.langKey,
|
||||
url: post.url,
|
||||
title: post.data.title
|
||||
}))
|
||||
});
|
||||
|
||||
eleventyConfig.addFilter("absoluteUrl", function(url) {
|
||||
const base = "https://adrianvic.github.io";
|
||||
const prefix = "/tenkuma/web";
|
||||
return base + prefix + url;
|
||||
});
|
||||
|
||||
eleventyConfig.addFilter("postDate", (dateObj) => {
|
||||
if (!dateObj) return "";
|
||||
return dateObj.toLocaleString(undefined, {
|
||||
year: "numeric",
|
||||
month: "numeric",
|
||||
day: "numeric",
|
||||
timeZone: "America/Sao_Paulo"
|
||||
});
|
||||
});
|
||||
|
||||
eleventyConfig.addNunjucksFilter("smartTitle", function(str) {
|
||||
if (!str) return "";
|
||||
const smallWords = ["a","an","and","at","but","by","for","in","nor","of","on","or","so","the","to","up","yet",
|
||||
"e","de","do","da","dos","das","a","o","um","uma","em","por","para","com","no","na","nos"];
|
||||
return str.toLowerCase().split(" ").map((word, i) => {
|
||||
if (i === 0) return word.charAt(0).toUpperCase() + word.slice(1);
|
||||
return smallWords.includes(word) ? word : word.charAt(0).toUpperCase() + word.slice(1);
|
||||
}).join(" ");
|
||||
});
|
||||
|
||||
return {
|
||||
pathPrefix: "/tenkuma/web",
|
||||
dir: {
|
||||
output: "docs"
|
||||
}
|
||||
};
|
||||
};
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
name: Build Eleventy Forgero
|
||||
|
||||
on:
|
||||
push:
|
||||
paths-ignore:
|
||||
- '/maintenance/**'
|
||||
- '/README.md'
|
||||
branches:
|
||||
- main
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- '/maintenance/**'
|
||||
- '/README.md'
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: arch-linux
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [24.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
- name: Install dependencies & build
|
||||
run: |
|
||||
npm ci
|
||||
npm run build -- --pathprefix="/pages/tenkuma/web"
|
||||
|
||||
- name: Deploy to forgejo-pages
|
||||
run: |
|
||||
git config user.email "adrianvictor+webmaster@disroot.org"
|
||||
git config user.name "mareguma"
|
||||
git checkout --orphan forgejo-pages
|
||||
git rm -rf .
|
||||
cp -r docs/* .
|
||||
git add .
|
||||
git commit -m "Deploy: $(date)"
|
||||
git push -f origin forgejo-pages
|
||||
44
.github/workflows/build.yml
vendored
44
.github/workflows/build.yml
vendored
|
|
@ -1,44 +0,0 @@
|
|||
name: Build Eleventy
|
||||
|
||||
on:
|
||||
push:
|
||||
paths-ignore:
|
||||
- '/maintenance/**'
|
||||
- '/README.md'
|
||||
branches:
|
||||
- main
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- '/maintenance/**'
|
||||
- '/README.md'
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [24.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
- name: Install dependencies & build
|
||||
run: |
|
||||
npm ci
|
||||
npm run build -- --pathprefix=""
|
||||
|
||||
- name: Deploy
|
||||
uses: peaceiris/actions-gh-pages@v4
|
||||
with:
|
||||
publish_dir: ./docs
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -1,3 +0,0 @@
|
|||
_site/
|
||||
node_modules/
|
||||
docs/
|
||||
0
.nojekyll
Normal file
0
.nojekyll
Normal file
201
LICENSE
201
LICENSE
|
|
@ -1,201 +0,0 @@
|
|||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
26
README.md
26
README.md
|
|
@ -1,26 +0,0 @@
|
|||
# Adrian Victor
|
||||
[](https://inspiran.beetal-castor.ts.net/git/tenkuma/web/actions?workflow=build-forgejo.yml)
|
||||
[](https://github.com/adrianvic/adrianvic.github.io/actions/workflows/build.yml)
|
||||
[](https://github.com/adrianvic/adrianvic.github.io/actions/workflows/pages/pages-build-deployment)
|
||||
|
||||
My personal static website/blog built with Eleventy.
|
||||
|
||||
<img src="./static/images/88x31/tenkuma.gif"><img src="./static/images/88x31/ai.gif">
|
||||
|
||||
## Mirrors
|
||||
- Forgejo: https://inspiran.beetal-castor.ts.net/pages/tenkuma/web/
|
||||
- GitHub Pages: https://adrianvic.github.io/
|
||||
- NeoCities (some features are broken): https://tenkuma.neocities.org/
|
||||
|
||||
## Interesting features
|
||||
- Multiple pages
|
||||
- Text support
|
||||
- Interactive
|
||||
|
||||
## Features that are not interesting at all
|
||||
- Localization support with global/page string table
|
||||
- Reusable elements with Eleventy's macros
|
||||
- Responsive design for computers, medium sized devices and smartphones
|
||||
- Functional without JavaScript
|
||||
- Robust blog functionality with support for linking post translations with a common internal ID
|
||||
- Some elements have hints while hovering, they update the text of a hint bar on the website header
|
||||
20
README/index.html
Normal file
20
README/index.html
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<h1>Adrian Victor</h1>
|
||||
<p><a href="https://github.com/adrianvic/adrianvic.github.io/actions/workflows/build.yml"><img src="https://github.com/adrianvic/adrianvic.github.io/actions/workflows/build.yml/badge.svg" alt="Build Eleventy"></a>
|
||||
<a href="https://github.com/adrianvic/adrianvic.github.io/actions/workflows/pages/pages-build-deployment"><img src="https://github.com/adrianvic/adrianvic.github.io/actions/workflows/pages/pages-build-deployment/badge.svg" alt="pages-build-deployment"></a></p>
|
||||
<p>My personal static website/blog built with Eleventy.</p>
|
||||
<p><img src="./static/images/88x31/tenkuma.gif"><img src="./static/images/88x31/ai.gif"></p>
|
||||
<h2>Interesting features</h2>
|
||||
<ul>
|
||||
<li>Multiple pages</li>
|
||||
<li>Text support</li>
|
||||
<li>Interactive</li>
|
||||
</ul>
|
||||
<h2>Features that are not interesting at all</h2>
|
||||
<ul>
|
||||
<li>Localization support with global/page string table</li>
|
||||
<li>Reusable elements with Eleventy's macros</li>
|
||||
<li>Responsive design for computers, medium sized devices and smartphones</li>
|
||||
<li>Functional without JavaScript</li>
|
||||
<li>Robust blog functionality with support for linking post translations with a common internal ID</li>
|
||||
<li>Some elements have hints while hovering, they update the text of a hint bar on the website header</li>
|
||||
</ul>
|
||||
137
_data/i18n.js
137
_data/i18n.js
|
|
@ -1,137 +0,0 @@
|
|||
const globalValues = {
|
||||
mastodon: { url: "https://mstdn.social/@tenkuma", username: "@tenkuma@mstdn.social" },
|
||||
github: { url: "https://github.com/adrianvic", username: "adrianvic" },
|
||||
disrootGit: { url: "https://git.disroot.org/adrianvictor", username: "adrianvictor" },
|
||||
discord: { url: "https://discord.com/users/681643259764015116", username: "@adrianvic" },
|
||||
youtube: { url: "https://www.youtube.com/@adrianvictor8", username: "@adrianvictor8" },
|
||||
bitview: { url: "https://www.bitview.net/user/tenkuma", username: "tenkuma" },
|
||||
modrinth: { url: "https://modrinth.com/user/tenkumabear", username: "tenkumabear" },
|
||||
xmpp: { url: "xmpp:adrianvictor@disroot.org", username: "adrianvictor@disroot.org" },
|
||||
email: "adrianvictor@disroot.org",
|
||||
margarinaRecordsWebsite: "https://margarina-records.rf.gd",
|
||||
genius: { url: "https://genius.com/tenkuma", username: "tenkuma" },
|
||||
homeVideoLink: "https://www.youtube.com/watch?v=6bnNAnSY9Uo",
|
||||
homeVideoImage: "/thumbnails/fl_studio_linux.png",
|
||||
homeVideoWebsite: "YouTube",
|
||||
homeVideoDuration: "5:53",
|
||||
homeSongTitle: "Velkommen",
|
||||
homeSongLink: "https://margarina.bandcamp.com/album/velkommen",
|
||||
homeSongImage: "/songs/velkommen.jpg",
|
||||
homeSongWebsite: "Bandcamp",
|
||||
homeSongDuration: "5:39",
|
||||
homeSongAccent: "#482948"
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
global: globalValues,
|
||||
en: {
|
||||
language: "english",
|
||||
availableInOtherLanguages: "Also available in other languages",
|
||||
pt: "portuguese",
|
||||
en: "english",
|
||||
home: "home",
|
||||
welcome: "welcome",
|
||||
homeWelcomeParagraph: "It seems that you have found my website! Hi, I am <b>Adrian Victor</b> (or <b>tenkuma</b>), a Brazilian guy who likes to mess around with computers, computer programs and <i>enimatpyrtlyhtemids</i>.",
|
||||
socialsAndContact: "socials and contact",
|
||||
aboutMe: "about me",
|
||||
myMusic: "my music",
|
||||
myVideos: "my videos",
|
||||
mySoftware: "my software",
|
||||
homeAboutMeParagraph: `
|
||||
My name is Adrian Victor, but I go by tenkuma on-line. I'm in high school's last year, also studying computing. My hobbies are music and music production, programming, selfhosting, Linux, and a lot more.
|
||||
`,
|
||||
homeAboutMeParagraphTwo: `Tenkuma, or 天くま in japanese, means celestial bear and was given by a friend of mine that I lost contact a long time ago. Sakata is gone, but the name stayed and turned into an integral part of my digital self.`,
|
||||
homeSocialsAndContactParagraph: `
|
||||
I'm publicly available at Mastodon <a href='${globalValues.mastodon.url}'>(${globalValues.mastodon.username})</a>,
|
||||
GitHub <a href='${globalValues.github.url}'>(${globalValues.github.username})</a>,
|
||||
Disroot Git <a href='${globalValues.disrootGit.url}'>(${globalValues.disrootGit.username})</a>,
|
||||
Discord <a href='${globalValues.discord.url}'>(${globalValues.discord.username})</a>,
|
||||
YouTube <a href='${globalValues.youtube.url}'>(${globalValues.youtube.username})</a>,
|
||||
BitView <a href='${globalValues.bitview.url}'>(${globalValues.bitview.username})</a>,
|
||||
Modrinth <a href='${globalValues.modrinth.url}'>(${globalValues.modrinth.username})</a>
|
||||
and XMPP <a href='${globalValues.xmpp.url}'>(${globalValues.xmpp.username})</a>.
|
||||
`,
|
||||
homeSocialsAndContactParagraphTwo: `You can message me on my E-mail <a href="mailto:${globalValues.email}">(${globalValues.email})</a> or feel free to get in touch through any of the other places mentioned above. For project-specific subjects, check for the project's contact field or if there's no such field add <i>+projectname</i> to my E-mail address (example: adrianvictor+coolproject@disroot.org).</p>
|
||||
<p><i><b>Please, avoid reaching me through ways not mentioned above :)</b></i>`,
|
||||
homeMyMusicParagraph: `I've always loved music, and lately I've been finding music production very interesting. I publish my songs as <i>tenkuma</i>, and have founded an amateur label called <a href="${globalValues.margarinaRecordsWebsite}">Margarina Records</a> with my friends.`,
|
||||
homeMyMusicParagraphTwo: `You can find my latest on songs <a href="${globalValues.genius.url}">Genius</a>.`,
|
||||
homeMyVideoParagraph: "I make videos for my <a href='${globalValues.youtube.url}'>YouTube channel</a>. Videos do not come regularly, there's no schedule—just a guy wanting to show something.",
|
||||
homeMyVideoRandomVideoParagraph: "Here's a random video I'm proud of:",
|
||||
homeVideoTitle: "Installing FL Studio on linux.",
|
||||
homeMySoftwareParagraph: `I am studying computing at IFC (SC, Brazil) but in my free time I have some projects like computer applications, Minecraft plugins, Minecraft servers, etc... Anything that is public should be in my <a href="${globalValues.github.url}">GitHub profile</a>.`,
|
||||
pestoWikiLogoAlt: "A digital drawing of the top of a fork with a black outline, in the right a text in white says 'Pesto Wiki'",
|
||||
homeMySoftwareNotableProjects: "These are my most notable projects:",
|
||||
blogTitle: "Listing blog posts:",
|
||||
eyeofnemesisProjectDesctiption: "Eye of Nemesis is a plugin that allows server admins to write policies that will deny or allow (black/whitelist) players to do specific things based on the value of nodes.",
|
||||
jamfishProjectDesctiption: "Native music player for Android devices that connects to Jellyfin media servers. The code is based on Gelli's archived repository, which is based on an old version of Phonograph.",
|
||||
pestoProjectDesctiption: "Multi-platform customizable client for wikis written in Python using PySide6 (QT).",
|
||||
itemeconomyProjectDesctiption: "This PaperMC plugin integrates with VaultUnlocked to provide a unique, item-based economy system for your Minecraft server. Instead of relying solely on virtual balances, players use in-game items as physical currency, adding a layer of immersion and realism to your economy.",
|
||||
by: "by",
|
||||
back: "back",
|
||||
hideBackground: "Hide background",
|
||||
options: "Options",
|
||||
alsoAvailableAsVideo: "Also available as video",
|
||||
websiteDescription: "Personal website/blog of Adrian Victor.",
|
||||
miscellaneous: "Miscellaneous",
|
||||
i88x31hover: "Click to expand",
|
||||
lastEditedIn: "last edited in",
|
||||
permissionIssue: "Permission issue",
|
||||
permissionIssueNotificationContent: "Unable to continue playing background music, please enable audio <b>autoplay</b> for this website.",
|
||||
notificationDefaultHint: "<b>Click to dismiss</b>"
|
||||
|
||||
},
|
||||
pt: {
|
||||
language: "português",
|
||||
availableInOtherLanguages: "Também disponível em outros idiomas",
|
||||
pt: "português",
|
||||
en: "inglês",
|
||||
home: "início",
|
||||
welcome: "bem-vindo",
|
||||
homeWelcomeParagraph: "Parece que você encontrou meu website! Olá, sou <b>Adrian Victor</b> (ou <b>tenkuma</b>), um cara brasileiro que gosta de mexer com computadores, programas de computadores e <i>enimatpirtlitemídios</i>.",
|
||||
socialsAndContact: "redes sociais e contato",
|
||||
aboutMe: "sobre mim",
|
||||
myMusic: "música",
|
||||
myVideos: "vídeos",
|
||||
mySoftware: "software",
|
||||
homeAboutMeParagraph: `
|
||||
Meu nome é Adrian Victor, mas on-line eu uso o nickname tenkuma. Estou no último ano do ensino médio e estudo informática. Meus hobbies são escutar e produzir música, programação, selfhosting, Linux, e muito mais.
|
||||
`,
|
||||
homeAboutMeParagraphTwo: `Tenkuma, ou 天くま em japonês, significa urso celestial e foi um nome dado a mim por um amigo que eu já perdi contato há muito tempo. Sakata se foi, mas o nome ficou e se tornou parte integral da personalidade do meu eu digital até hoje.`,
|
||||
homeSocialsAndContactParagraph: `
|
||||
Estou publicamente disponível no Mastodon <a href='${globalValues.mastodon.url}'>(${globalValues.mastodon.username})</a>,
|
||||
GitHub <a href='${globalValues.github.url}'>(${globalValues.github.username})</a>,
|
||||
Disroot Git <a href='${globalValues.disrootGit.url}'>(${globalValues.disrootGit.username})</a>,
|
||||
Discord <a href='${globalValues.discord.url}'>(${globalValues.discord.username})</a>,
|
||||
YouTube <a href='${globalValues.youtube.url}'>(${globalValues.youtube.username})</a>,
|
||||
BitView <a href='${globalValues.bitview.url}'>(${globalValues.bitview.username})</a>,
|
||||
Modrinth <a href='${globalValues.modrinth.url}'>(${globalValues.modrinth.username})</a>
|
||||
e XMPP <a href='${globalValues.xmpp.url}'>(${globalValues.xmpp.username})</a>.
|
||||
`,
|
||||
homeSocialsAndContactParagraphTwo: `Você pode enviar um correio eletrônico para <a href="mailto:${globalValues.email}">(${globalValues.email})</a> ou me contactar por qualquer outro meio citado acima. Para assuntos relativos a projetos específicos, verifique o campo de contato do projeto, caso não haja um adicione <i>+nomedoprojeto</i> ao meu endereço de E-mail (exemplo: adrianvictor+projetolegal@disroot.org).`,
|
||||
homeMyMusicParagraph: `Sempre amei música, e tenho achado produção musical algo muito interessante ultimamente. Publico minhas músicas como <i>tenkuma</i>, junto com meus amigos formei a <a href="${globalValues.margarinaRecordsWebsite}">Margarina Records</a>—uma label amadora.`,
|
||||
homeMyMusicParagraphTwo: `Você pode conferir minhas músicas mais recentes no meu perfil do <a href="${globalValues.genius.url}">Genius</a>.`,
|
||||
homeMyVideoParagraph: "Eu faço vídeos para o <a href='${globalValues.youtube.url}'>meu canal do YouTube</a>. Não posto regularmente; não tem calendário—apenas eu mostrando alguma coisa em vídeo.",
|
||||
homeMyVideoRandomVideoParagraph: "Aqui está um vídeo aleatório que eu me orgulho de ter postado:",
|
||||
homeVideoTitle: "Como instalar o FL Studio no Linux?",
|
||||
homeMySoftwareParagraph: `Estou estudando informática no IFC (SC, Brazil) mas no meu tempo livre tenho projetos como programas de computador, plugins para Minecraft, servidores Minecraft, etc... Todos meus projetos públicos estão disponíveis no meu <a href="${globalValues.github.url}">perfil do GitHub</a>.`,
|
||||
pestoWikiLogoAlt: "Um desenho digital do topo de um garfo com uma borda preta, à direita um texto branco diz 'Pesto Wiki'",
|
||||
homeMySoftwareNotableProjects: "Esses são meus projetos mais notáveis:",
|
||||
blogTitle: "Listando postagens do blog:",
|
||||
eyeofnemesisProjectDesctiption: "Eye of Nemesis é um plugin que permite aos administradores de servidores escrever políticas que negarão ou permitirão (lista negra/branca) que os jogadores façam coisas específicas com base no valor dos nós.",
|
||||
jamfishProjectDesctiption: "Reprodutor de música nativo para dispositivos Android que se conecta a servidores de mídia Jellyfin. O código é baseado no repositório arquivado do Gelli, que por sua vez se baseia em uma versão antiga do Phonograph.",
|
||||
pestoProjectDesctiption: "Cliente personalizável multiplataforma para wikis escrito em Python usando PySide6 (QT).",
|
||||
itemeconomyProjectDesctiption: "Este plugin PaperMC integra-se ao VaultUnlocked para fornecer um sistema de economia único baseado em itens para o seu servidor Minecraft. Em vez de depender apenas de saldos virtuais, os jogadores usam itens do jogo como moeda física, adicionando uma camada de imersão e realismo à sua economia.",
|
||||
by: "por",
|
||||
back: "voltar",
|
||||
hideBackground: "Esconder imagem de fundo",
|
||||
options: "Opções",
|
||||
alsoAvailableAsVideo: "Também disponível em vídeo",
|
||||
websiteDescription: "Website/blog pessoal de Adrian Victor.",
|
||||
miscellaneous: "Miscelâneo",
|
||||
i88x31hover: "Clique para expandir",
|
||||
lastEditedIn: "editado por último em",
|
||||
permissionIssue: "Problema de permissão",
|
||||
permissionIssueNotificationContent: "Não foi possivel continuar tocando a música de fundo, por favor habilite <b>reprodução automática</b> de áudio para esse website.",
|
||||
notificationDefaultHint: "<b>Clique para ignorar</b>"
|
||||
}
|
||||
};
|
||||
|
|
@ -1 +0,0 @@
|
|||
module.exports = ["en", "pt"];
|
||||
|
|
@ -1,61 +0,0 @@
|
|||
<!--
|
||||
_ _ _
|
||||
| |_ ___ _ __ | | ___ _ _ __ ___ __ _ __ ____ _ ___ | |__ ___ _ __ ___
|
||||
| __/ _ \ '_ \| |/ / | | | '_ ` _ \ / _` | \ \ /\ / / _` / __| | '_ \ / _ \ '__/ _ \
|
||||
| || __/ | | | <| |_| | | | | | | (_| | \ V V / (_| \__ \ | | | | __/ | | __/
|
||||
\__\___|_| |_|_|\_\\__,_|_| |_| |_|\__,_| \_/\_/ \__,_|___/ |_| |_|\___|_| \___|
|
||||
|
||||
-->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ langKey }}">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Adrian Victor{% if pageTitle or postTitle %} - {{ pageTitle or postTitle }}{% endif %}</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<link rel="stylesheet" href="{{ '/static/main.css?fixcache=1' | url }}">
|
||||
|
||||
<script type="module" src="{{ '/static/scripts/ccd.js' | url }}"></script>
|
||||
<script type="module" src="{{ '/static/scripts/music.js' | url }}" defer></script>
|
||||
<script type="module" src="{{ '/static/scripts/88x31.js' | url }}" defer></script>
|
||||
<script type="module" src="{{ '/static/scripts/tips.js' | url }}" defer></script>
|
||||
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="{{ '/static/apple-touch-icon.png' | url }}">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="{{ '/static/favicon-32x32.png' | url }}">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ '/static/favicon-16x16.png' | url }}">
|
||||
<link rel="manifest" href="{{ '/static/site.webmanifest' | url }}">
|
||||
|
||||
<script src="https://keepandroidopen.org/banner.js" defer></script>
|
||||
|
||||
<meta property="og:title" content="Adrian Victor{% if pageTitle or postTitle %} - {{ pageTitle or postTitle }}{% endif %}">
|
||||
<meta property="og:description" content="{{ description or i18n[langKey].websiteDescription }}">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="{{ page.url | url | absoluteUrl }}">
|
||||
<meta property="og:image" content="{{ ('/static/images/' ~ (background or 'bear.jpg')) | url | absoluteUrl }}">
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
const rootPrefix = "{{ '/' | url }}";
|
||||
</script>
|
||||
<style>
|
||||
.bg {
|
||||
opacity: {{ backgroundOpacity or ".4" }}!important;
|
||||
}
|
||||
</style>
|
||||
<noscript>
|
||||
<style>
|
||||
.i88x31:hover {
|
||||
transform: scale(2);
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
<div id="everythingHelper">
|
||||
<img src="{{ ('/static/images/' ~ (background or 'bear.jpg')) | url }}" class="bg">
|
||||
{% include "header.njk" %}
|
||||
<div id="mainHelper">
|
||||
{{ content | safe }}
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
<header>
|
||||
<div>
|
||||
<h1>{{ title or "Adrian Victor" }}</h1>
|
||||
<a id="headerSubtitle"><i>{{ subtitle or "Fanasy is not a crime, find your castle in the sky." }}</i></a>
|
||||
<script>
|
||||
const headeri18n =
|
||||
{
|
||||
by: "{{ i18n[langKey].by | safe }}",
|
||||
options: "{{ i18n[langKey].options | safe }}",
|
||||
hideBackground: "{{ i18n[langKey].hideBackground | safe }}",
|
||||
back: "{{ i18n[langKey].back | safe }}",
|
||||
permissionIssue: "{{ i18n[langKey].permissionIssue | safe }}",
|
||||
permissionIssueNotificationContent: "{{ i18n[langKey].permissionIssueNotificationContent | safe }}",
|
||||
notificationDefaultHint: "{{ i18n[langKey].notificationDefaultHint | safe }}",
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<div id="linksHelper">
|
||||
<div id="music"></div>
|
||||
|
||||
<ul id="headerLinks">
|
||||
<a href="{{ ('/' ~ langKey ~ '/') | url }}">{{ i18n[langKey].home }}</a>
|
||||
<a href="{{ ('/' ~ langKey ~ '/blog/') | url }}">blog</a>
|
||||
<a href="{{ ('/' ~ langKey ~ '/misc/') | url }}">misc</a>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
{% macro i88x31(link) %}
|
||||
<img
|
||||
class="i88x31"
|
||||
src="{{ ('/static/images/88x31/' ~ link) | url }}"
|
||||
data-tip="<b>{{ i18n[langKey].i88x31hover }}</b> ({{ link }})"
|
||||
>
|
||||
{% endmacro %}
|
||||
|
||||
{% macro videoCard(videoLink, videoTitle, videoImage, videoWebsite, videoDuration, videoAccent) %}
|
||||
<div class="youtubeCardHolderHelper">
|
||||
<div class="youtubeCardHolder">
|
||||
<a href="{{ videoLink }}">
|
||||
<div class="blogpostYoutubeVideo" {% if videoAccent %}style="border-color: {{ videoAccent }};"{% endif %}>
|
||||
<img src="{{ ('/static/images' ~ videoImage) | url }}">
|
||||
<div class="videoHeader">
|
||||
{# <p class="alsoAvailable">{{ i18n[langKey].alsoAvailableAsVideo }}:</p> #}
|
||||
<h2 class="videoTitle" {% if videoAccent %}style="color: {{ videoAccent }};"{% endif %}>
|
||||
{{ videoTitle }}
|
||||
</h2>
|
||||
<p>{{ videoWebsite }}{% if videoDuration %} ({{ videoDuration }}){% endif %}</p>
|
||||
</div>
|
||||
{# <p class="goLabel">ir</p> #}
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endmacro %}
|
||||
|
||||
{% macro projectCard(projectName, projectDescription, projectLink, projectImage, projectImageAlt) %}
|
||||
<div class="hsProject">
|
||||
<div class="hsProjectHeader">
|
||||
<div class="hsProjectImage">
|
||||
<img src="{{ projectImage | url }}" alt="{{ projectImageAlt or projectName }}">
|
||||
</div>
|
||||
<a href="{{ projectLink }}" class="hsProjectHeaderIcon">
|
||||
<img src="{{ '/static/visual/github.svg' | url }}" class="invertedc">
|
||||
</a>
|
||||
</div>
|
||||
<div class="hsProjectContent">
|
||||
<p>{{ projectDescription }}</p>
|
||||
</div>
|
||||
</div>
|
||||
{% endmacro %}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
module.exports = {
|
||||
langKey: data => data.lang
|
||||
};
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
---
|
||||
layout: base.njk
|
||||
title: Adrian Victor:Blog
|
||||
---
|
||||
{% set altLanguages = collections.post | alternateLanguages(postId, langKey) %}
|
||||
{% from "macros.njk" import videoCard with context %}
|
||||
|
||||
<main>
|
||||
<article>
|
||||
<div id="postHeader">
|
||||
<h1>{{ postTitle }}</h1>
|
||||
<p>{{ authors or "Adrian Victor" }} - <b>{{ date | postDate }}</b>{% if lastModified | postDate !== date | postDate %} ({{ i18n[langKey].lastEditedIn }} {{ lastModified | postDate }}){% endif %}</p>
|
||||
{% if altLanguages.length > 0 %}
|
||||
{{ i18n[langKey].availableInOtherLanguages }}:
|
||||
{% for alt in altLanguages %}
|
||||
<li class="inlineList">
|
||||
<a href="{{ alt.url | url }}" hreflang="{{ alt.lang }}">
|
||||
{{ i18n[alt.lang].language }}
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if postVideoLink and postVideoImage and postVideoTitle and postVideoWebsite %}
|
||||
{{ videoCard(postVideoLink, postVideoTitle, postVideoImage, postVideoWebsite, postVideoDuration) }}
|
||||
{% endif %}
|
||||
|
||||
{{ content | safe }}
|
||||
</article>
|
||||
</main>
|
||||
25
blog.njk
25
blog.njk
|
|
@ -1,25 +0,0 @@
|
|||
---
|
||||
pagination:
|
||||
data: i18n
|
||||
size: 1
|
||||
alias: langKey
|
||||
permalink: "/{{ langKey }}/blog/index.html"
|
||||
layout: base.njk
|
||||
title: Adrian Victor:Blog
|
||||
---
|
||||
|
||||
<main>
|
||||
<p><b>{{ i18n[langKey].blogTitle | smartTitle }}</b></p>
|
||||
<ul>
|
||||
{% for post in collections.post %}
|
||||
{% if post.data.langKey == langKey %}
|
||||
<li>
|
||||
<p>
|
||||
<a href="{{ post.url | url }}">{{ post.data.postTitle }}</a><br>
|
||||
<b>{{ post.data.date | postDate }}</b>{% if post.data.lastModified | postDate !== post.data.date | postDate %} ({{ i18n[langKey].lastEditedIn }} {{ post.data.lastModified | postDate}}){% endif %}
|
||||
</p>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</main>
|
||||
107
en/blog/index.html
Normal file
107
en/blog/index.html
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
<!--
|
||||
_ _ _
|
||||
| |_ ___ _ __ | | ___ _ _ __ ___ __ _ __ ____ _ ___ | |__ ___ _ __ ___
|
||||
| __/ _ \ '_ \| |/ / | | | '_ ` _ \ / _` | \ \ /\ / / _` / __| | '_ \ / _ \ '__/ _ \
|
||||
| || __/ | | | <| |_| | | | | | | (_| | \ V V / (_| \__ \ | | | | __/ | | __/
|
||||
\__\___|_| |_|_|\_\\__,_|_| |_| |_|\__,_| \_/\_/ \__,_|___/ |_| |_|\___|_| \___|
|
||||
|
||||
-->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Adrian Victor</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/static/main.css?fixcache=1">
|
||||
<script type="module" src="/static/scripts/ccd.js"></script>
|
||||
<script type="module" src="/static/scripts/music.js" defer></script>
|
||||
<script type="module" src="/static/scripts/88x31.js" defer></script>
|
||||
<script type="module" src="/static/scripts/tips.js" defer></script>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/static/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/static/favicon-16x16.png">
|
||||
<link rel="manifest" href="/static/site.webmanifest">
|
||||
<script src="https://keepandroidopen.org/banner.js" defer></script>
|
||||
<meta property="og:title" content="Adrian Victor">
|
||||
<meta property="og:description" content="Personal website/blog of Adrian Victor.">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://adrianvic.github.io/en/blog/">
|
||||
<meta property="og:image" content="https://adrianvic.github.io/static/images/bear.jpg">
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
.bg {
|
||||
opacity: .4!important;
|
||||
}
|
||||
</style>
|
||||
<noscript>
|
||||
<style>
|
||||
.i88x31:hover {
|
||||
transform: scale(2);
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
<div id="everythingHelper">
|
||||
<img src="/static/images/bear.jpg" class="bg">
|
||||
<header>
|
||||
<div>
|
||||
<h1>Adrian Victor:Blog</h1>
|
||||
<a id="headerSubtitle"><i>Fanasy is not a crime, find your castle in the sky.</i></a>
|
||||
<script>
|
||||
const headeri18n =
|
||||
{
|
||||
by: "by",
|
||||
options: "Options",
|
||||
hideBackground: "Hide background",
|
||||
back: "back",
|
||||
permissionIssue: "Permission issue",
|
||||
permissionIssueNotificationContent: "Unable to continue playing background music, please enable audio <b>autoplay</b> for this website.",
|
||||
notificationDefaultHint: "<b>Click to dismiss</b>",
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<div id="linksHelper">
|
||||
<div id="music">
|
||||
</div>
|
||||
<ul id="headerLinks">
|
||||
<a href="/en/">home</a>
|
||||
<a href="/en/blog/">blog</a>
|
||||
<a href="/en/misc/">misc</a>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
<div id="mainHelper">
|
||||
|
||||
<main>
|
||||
<p><b>Listing Blog Posts:</b></p>
|
||||
<ul>
|
||||
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<p>
|
||||
<a href="/posts/installing-fl-studio-on-linux/">Installing FL Studio on linux.</a><br>
|
||||
<b>4/19/2026</b> (last edited in 4/23/2026)
|
||||
</p>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<p>
|
||||
<a href="/posts/android-developer-verification/">On the Recent Changes to App Distribution Requirements in the Android System by Google.</a><br>
|
||||
<b>8/29/2025</b> (last edited in 4/23/2026)
|
||||
</p>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
275
en/index.html
Normal file
275
en/index.html
Normal file
|
|
@ -0,0 +1,275 @@
|
|||
<!--
|
||||
_ _ _
|
||||
| |_ ___ _ __ | | ___ _ _ __ ___ __ _ __ ____ _ ___ | |__ ___ _ __ ___
|
||||
| __/ _ \ '_ \| |/ / | | | '_ ` _ \ / _` | \ \ /\ / / _` / __| | '_ \ / _ \ '__/ _ \
|
||||
| || __/ | | | <| |_| | | | | | | (_| | \ V V / (_| \__ \ | | | | __/ | | __/
|
||||
\__\___|_| |_|_|\_\\__,_|_| |_| |_|\__,_| \_/\_/ \__,_|___/ |_| |_|\___|_| \___|
|
||||
|
||||
-->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Adrian Victor</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/static/main.css?fixcache=1">
|
||||
<script type="module" src="/static/scripts/ccd.js"></script>
|
||||
<script type="module" src="/static/scripts/music.js" defer></script>
|
||||
<script type="module" src="/static/scripts/88x31.js" defer></script>
|
||||
<script type="module" src="/static/scripts/tips.js" defer></script>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/static/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/static/favicon-16x16.png">
|
||||
<link rel="manifest" href="/static/site.webmanifest">
|
||||
<script src="https://keepandroidopen.org/banner.js" defer></script>
|
||||
<meta property="og:title" content="Adrian Victor">
|
||||
<meta property="og:description" content="Personal website/blog of Adrian Victor.">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://adrianvic.github.io/en/">
|
||||
<meta property="og:image" content="https://adrianvic.github.io/static/images/bear.jpg">
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
.bg {
|
||||
opacity: .4!important;
|
||||
}
|
||||
</style>
|
||||
<noscript>
|
||||
<style>
|
||||
.i88x31:hover {
|
||||
transform: scale(2);
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
<div id="everythingHelper">
|
||||
<img src="/static/images/bear.jpg" class="bg">
|
||||
<header>
|
||||
<div>
|
||||
<h1>Adrian Victor</h1>
|
||||
<a id="headerSubtitle"><i>Fanasy is not a crime, find your castle in the sky.</i></a>
|
||||
<script>
|
||||
const headeri18n =
|
||||
{
|
||||
by: "by",
|
||||
options: "Options",
|
||||
hideBackground: "Hide background",
|
||||
back: "back",
|
||||
permissionIssue: "Permission issue",
|
||||
permissionIssueNotificationContent: "Unable to continue playing background music, please enable audio <b>autoplay</b> for this website.",
|
||||
notificationDefaultHint: "<b>Click to dismiss</b>",
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<div id="linksHelper">
|
||||
<div id="music">
|
||||
</div>
|
||||
<ul id="headerLinks">
|
||||
<a href="/en/">home</a>
|
||||
<a href="/en/blog/">blog</a>
|
||||
<a href="/en/misc/">misc</a>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
<div id="mainHelper">
|
||||
|
||||
|
||||
|
||||
|
||||
<div id="homeSquares">
|
||||
</div>
|
||||
<main>
|
||||
<script src="/static/scripts/home.js" defer></script>
|
||||
<noscript><style>
|
||||
.hs {
|
||||
display: unset!important;
|
||||
}
|
||||
#homeSquares {
|
||||
display: none;
|
||||
}
|
||||
</style></noscript>
|
||||
|
||||
<div class="hs" id="hsDefault">
|
||||
<div class="box pageHeaderBox">
|
||||
<h1 id="homeTitle">Welcome</h1>
|
||||
<p>It seems that you have found my website! Hi, I am <b>Adrian Victor</b> (or <b>tenkuma</b>), a Brazilian guy who likes to mess around with computers, computer programs and <i>enimatpyrtlyhtemids</i>.</p>
|
||||
<div class="homeBadgesBox">
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/tenkuma.gif" data-tip="<b>Click to expand</b> (tenkuma.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/anybrowser6.gif" data-tip="<b>Click to expand</b> (anybrowser6.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/ai.gif" data-tip="<b>Click to expand</b> (ai.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/WEBP.gif" data-tip="<b>Click to expand</b> (WEBP.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/rainbowrain.gif" data-tip="<b>Click to expand</b> (rainbowrain.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/blasphemy.gif" data-tip="<b>Click to expand</b> (blasphemy.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/css3.gif" data-tip="<b>Click to expand</b> (css3.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/best_viewed_with_open_eyes.gif" data-tip="<b>Click to expand</b> (best_viewed_with_open_eyes.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/gnu-linux.gif" data-tip="<b>Click to expand</b> (gnu-linux.gif)">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<h2>About Me</h1>
|
||||
<p>
|
||||
My name is Adrian Victor, but I go by tenkuma on-line. I'm in high school's last year, also studying computing. My hobbies are music and music production, programming, selfhosting, Linux, and a lot more.
|
||||
</p>
|
||||
<p>Tenkuma, or 天くま in japanese, means celestial bear and was given by a friend of mine that I lost contact a long time ago. Sakata is gone, but the name stayed and turned into an integral part of my digital self.</p>
|
||||
<h2>Socials and Contact</h1>
|
||||
<p>
|
||||
I'm publicly available at Mastodon <a href='https://mstdn.social/@tenkuma'>(@tenkuma@mstdn.social)</a>,
|
||||
GitHub <a href='https://github.com/adrianvic'>(adrianvic)</a>,
|
||||
Disroot Git <a href='https://git.disroot.org/adrianvictor'>(adrianvictor)</a>,
|
||||
Discord <a href='https://discord.com/users/681643259764015116'>(@adrianvic)</a>,
|
||||
YouTube <a href='https://www.youtube.com/@adrianvictor8'>(@adrianvictor8)</a>,
|
||||
BitView <a href='https://www.bitview.net/user/tenkuma'>(tenkuma)</a>,
|
||||
Modrinth <a href='https://modrinth.com/user/tenkumabear'>(tenkumabear)</a>
|
||||
and XMPP <a href='xmpp:adrianvictor@disroot.org'>(adrianvictor@disroot.org)</a>.
|
||||
</p>
|
||||
<p>You can message me on my E-mail <a href="mailto:adrianvictor@disroot.org">(adrianvictor@disroot.org)</a> or feel free to get in touch through any of the other places mentioned above. For project-specific subjects, check for the project's contact field or if there's no such field add <i>+projectname</i> to my E-mail address (example: adrianvictor+coolproject@disroot.org).</p>
|
||||
<p><i><b>Please, avoid reaching me through ways not mentioned above :)</b></i></p>
|
||||
</div>
|
||||
|
||||
<div class="hs" id="hsMusic">
|
||||
<div class="box pageHeaderBox">
|
||||
<h1>My Music</h1>
|
||||
<p>I've always loved music, and lately I've been finding music production very interesting. I publish my songs as <i>tenkuma</i>, and have founded an amateur label called <a href="https://margarina-records.rf.gd">Margarina Records</a> with my friends.</p>
|
||||
<p>You can find my latest on songs <a href="https://genius.com/tenkuma">Genius</a>.</p>
|
||||
<div class="homeBadgesBox">
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/rave.gif" data-tip="<b>Click to expand</b> (rave.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/happymix.gif" data-tip="<b>Click to expand</b> (happymix.gif)">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="hsMusicCard">
|
||||
|
||||
<div class="youtubeCardHolderHelper">
|
||||
<div class="youtubeCardHolder">
|
||||
<a href="https://margarina.bandcamp.com/album/velkommen">
|
||||
<div class="blogpostYoutubeVideo" style="border-color: #482948;">
|
||||
<img src="/static/images/songs/velkommen.jpg">
|
||||
<div class="videoHeader">
|
||||
<!-- <p class="alsoAvailable">Also available as video:</p> -->
|
||||
<h2 class="videoTitle" style="color: #482948;">Velkommen</h2>
|
||||
<p>Bandcamp (5:39)</p>
|
||||
</div>
|
||||
<!-- <p class="goLabel">ir</p> -->
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="hs" id="hsVideo">
|
||||
<div class="box pageHeaderBox">
|
||||
<h1>My Videos</h1>
|
||||
<p>I make videos for my <a href='${globalValues.youtube.url}'>YouTube channel</a>. Videos do not come regularly, there's no schedule—just a guy wanting to show something.</p>
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
<div class="youtubeCardHolderHelper">
|
||||
<div class="youtubeCardHolder">
|
||||
<a href="https://www.youtube.com/watch?v=6bnNAnSY9Uo">
|
||||
<div class="blogpostYoutubeVideo" >
|
||||
<img src="/static/images/thumbnails/fl_studio_linux.png">
|
||||
<div class="videoHeader">
|
||||
<!-- <p class="alsoAvailable">Also available as video:</p> -->
|
||||
<h2 class="videoTitle" >Installing FL Studio on linux.</h2>
|
||||
<p>YouTube (5:53)</p>
|
||||
</div>
|
||||
<!-- <p class="goLabel">ir</p> -->
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="hs" id="hsCode">
|
||||
<div class="box pageHeaderBox">
|
||||
<h1>My Software</h1>
|
||||
<p>I am studying computing at IFC (SC, Brazil) but in my free time I have some projects like computer applications, Minecraft plugins, Minecraft servers, etc... Anything that is public should be in my <a href="https://github.com/adrianvic">GitHub profile</a>.</p>
|
||||
|
||||
</div>
|
||||
<hr>
|
||||
<div class="hsProjects">
|
||||
|
||||
<div class="hsProject">
|
||||
<div class="hsProjectHeader">
|
||||
<div class="hsProjectImage"><img src="/static/images/jamfish-wide.png" alt="Jamfish"></div>
|
||||
<a href="https://github.com/adrianvic/jamfish" class="hsProjectHeaderIcon">
|
||||
<img src="/static/visual/github.svg" class="invertedc">
|
||||
</a>
|
||||
</div>
|
||||
<div class="hsProjectContent">
|
||||
<p>Native music player for Android devices that connects to Jellyfin media servers. The code is based on Gelli's archived repository, which is based on an old version of Phonograph.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="hsProject">
|
||||
<div class="hsProjectHeader">
|
||||
<div class="hsProjectImage"><img src="/static/images/itemeconomy2-wide.png" alt="ItemEconomy"></div>
|
||||
<a href="https://github.com/adrianvic/ItemEconomy" class="hsProjectHeaderIcon">
|
||||
<img src="/static/visual/github.svg" class="invertedc">
|
||||
</a>
|
||||
</div>
|
||||
<div class="hsProjectContent">
|
||||
<p>This PaperMC plugin integrates with VaultUnlocked to provide a unique, item-based economy system for your Minecraft server. Instead of relying solely on virtual balances, players use in-game items as physical currency, adding a layer of immersion and realism to your economy.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="hsProject">
|
||||
<div class="hsProjectHeader">
|
||||
<div class="hsProjectImage"><img src="/static/images/eye_of_nemesis.png" alt="Eye of Nemesis"></div>
|
||||
<a href="https://github.com/adrianvic/NemesisEye" class="hsProjectHeaderIcon">
|
||||
<img src="/static/visual/github.svg" class="invertedc">
|
||||
</a>
|
||||
</div>
|
||||
<div class="hsProjectContent">
|
||||
<p>Eye of Nemesis is a plugin that allows server admins to write policies that will deny or allow (black/whitelist) players to do specific things based on the value of nodes.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="hsProject">
|
||||
<div class="hsProjectHeader">
|
||||
<div class="hsProjectImage"><img src="/static/images/pestowikifullwhite.png" alt="PestoWiki"></div>
|
||||
<a href="https://github.com/Margarina-not-butter/PestoWiki" class="hsProjectHeaderIcon">
|
||||
<img src="/static/visual/github.svg" class="invertedc">
|
||||
</a>
|
||||
</div>
|
||||
<div class="hsProjectContent">
|
||||
<p>Multi-platform customizable client for wikis written in Python using PySide6 (QT).</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
1589
en/misc/88x31/index.html
Normal file
1589
en/misc/88x31/index.html
Normal file
File diff suppressed because it is too large
Load diff
370
en/misc/bookmarks/index.html
Normal file
370
en/misc/bookmarks/index.html
Normal file
|
|
@ -0,0 +1,370 @@
|
|||
<!--
|
||||
_ _ _
|
||||
| |_ ___ _ __ | | ___ _ _ __ ___ __ _ __ ____ _ ___ | |__ ___ _ __ ___
|
||||
| __/ _ \ '_ \| |/ / | | | '_ ` _ \ / _` | \ \ /\ / / _` / __| | '_ \ / _ \ '__/ _ \
|
||||
| || __/ | | | <| |_| | | | | | | (_| | \ V V / (_| \__ \ | | | | __/ | | __/
|
||||
\__\___|_| |_|_|\_\\__,_|_| |_| |_|\__,_| \_/\_/ \__,_|___/ |_| |_|\___|_| \___|
|
||||
|
||||
-->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Adrian Victor</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/static/main.css?fixcache=1">
|
||||
<script type="module" src="/static/scripts/ccd.js"></script>
|
||||
<script type="module" src="/static/scripts/music.js" defer></script>
|
||||
<script type="module" src="/static/scripts/88x31.js" defer></script>
|
||||
<script type="module" src="/static/scripts/tips.js" defer></script>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/static/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/static/favicon-16x16.png">
|
||||
<link rel="manifest" href="/static/site.webmanifest">
|
||||
<script src="https://keepandroidopen.org/banner.js" defer></script>
|
||||
<meta property="og:title" content="Adrian Victor">
|
||||
<meta property="og:description" content="Personal website/blog of Adrian Victor.">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://adrianvic.github.io/en/misc/bookmarks/">
|
||||
<meta property="og:image" content="https://adrianvic.github.io/static/images/towers.jpg">
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
.bg {
|
||||
opacity: 0.2!important;
|
||||
}
|
||||
</style>
|
||||
<noscript>
|
||||
<style>
|
||||
.i88x31:hover {
|
||||
transform: scale(2);
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
<div id="everythingHelper">
|
||||
<img src="/static/images/towers.jpg" class="bg">
|
||||
<header>
|
||||
<div>
|
||||
<h1>Adrian Victor</h1>
|
||||
<a id="headerSubtitle"><i>Fanasy is not a crime, find your castle in the sky.</i></a>
|
||||
<script>
|
||||
const headeri18n =
|
||||
{
|
||||
by: "by",
|
||||
options: "Options",
|
||||
hideBackground: "Hide background",
|
||||
back: "back",
|
||||
permissionIssue: "Permission issue",
|
||||
permissionIssueNotificationContent: "Unable to continue playing background music, please enable audio <b>autoplay</b> for this website.",
|
||||
notificationDefaultHint: "<b>Click to dismiss</b>",
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<div id="linksHelper">
|
||||
<div id="music">
|
||||
</div>
|
||||
<ul id="headerLinks">
|
||||
<a href="/en/">home</a>
|
||||
<a href="/en/blog/">blog</a>
|
||||
<a href="/en/misc/">misc</a>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
<div id="mainHelper">
|
||||
|
||||
|
||||
<main>
|
||||
<div class="box pageHeaderBox">
|
||||
<h1>Bookmarks</h1>
|
||||
<p>A list of useful or cool websites/pages curated by me. Divided in sections for an easier navigation.</p>
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/BOOKMARKthispageNOW.png" data-tip="<b>Click to expand</b> (BOOKMARKthispageNOW.png)">
|
||||
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
<div>
|
||||
<h2>Downloads</h2>
|
||||
|
||||
<div class="box favorites88x31Box">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/iglooftp.gif" data-tip="<b>Click to expand</b> (iglooftp.gif)">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/eftpbutton.gif" data-tip="<b>Click to expand</b> (eftpbutton.gif)">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<dl>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://malwarewatch.org/">MalwareWatch</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
Enderman's website. Provides download to various useful softwares, operating system images and malware.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://free-images.com/">Free Images</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
Search through millions of free stock photos, art and vector images. Every image is Public Domain or CC0. Free to Download and Free to Use.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://88x31.nl/">88x31</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
This website is a collection with over 6500 GIF's and PNG's in 88x31 format. In the late 1990 and begin of the 2000's it was very common to use these pictures on your personal website.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/WEBP.gif" data-tip="<b>Click to expand</b> (WEBP.gif)">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/blank.gif" data-tip="<b>Click to expand</b> (blank.gif)">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
|
||||
<div>
|
||||
<h2>Profiles</h2>
|
||||
|
||||
<dl>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://www.youtube.com/@mrnandokk">Mr. Nando</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
My friend Fernando, he makes music and YouTube videos of Minecraft and speedrun.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://enderman.ch/">Endermanch</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
Andrew is a software engineer, a malware enthusiast and most importantly, a weird tall creature. I've grown up with his videos and he's a great inspiration for me.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
|
||||
<div>
|
||||
<h2>Tools</h2>
|
||||
|
||||
<dl>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://excalidraw.com/">Excalidraw</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
Whiteboard with no bloat.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://postimages.org/">Postimages</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
Get permanent links of your images for forums, blogs, and social media.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://github.com/gorhill/uBlock#ublock-origin">uBlock Origin</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
An efficient blocker for Chromium and Firefox. Fast and lean.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/ublock-now.png" data-tip="<b>Click to expand</b> (ublock-now.png)">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
|
||||
<div>
|
||||
<h2>Games</h2>
|
||||
|
||||
<div class="box favorites88x31Box">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/gb.gif" data-tip="<b>Click to expand</b> (gb.gif)">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/amd_powered.gif" data-tip="<b>Click to expand</b> (amd_powered.gif)">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<dl>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://www.steamgriddb.com/">SteamGridDB</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
Download and share custom video game assets and personalize your gaming library.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
|
||||
<div>
|
||||
<h2>Music</h2>
|
||||
|
||||
<div class="box favorites88x31Box">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/rave.gif" data-tip="<b>Click to expand</b> (rave.gif)">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/2014-rave.gif" data-tip="<b>Click to expand</b> (2014-rave.gif)">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/wmpfree.gif" data-tip="<b>Click to expand</b> (wmpfree.gif)">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/wmp.gif" data-tip="<b>Click to expand</b> (wmp.gif)">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/wmp9.gif" data-tip="<b>Click to expand</b> (wmp9.gif)">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/wmp10.gif" data-tip="<b>Click to expand</b> (wmp10.gif)">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/wmp11.gif" data-tip="<b>Click to expand</b> (wmp11.gif)">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/ffmpeg.gif" data-tip="<b>Click to expand</b> (ffmpeg.gif)">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/ymusic.gif" data-tip="<b>Click to expand</b> (ymusic.gif)">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<dl>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://radio.cvgm.net/demovibes/">CVGM Radio</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
Your home for video game, demo scene and computer related music.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
|
||||
<div>
|
||||
<h2>Piracy</h2>
|
||||
|
||||
<div class="box favorites88x31Box">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/piracy.png" data-tip="<b>Click to expand</b> (piracy.png)">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<dl>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://nyaa.si/">Nyaa</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
A tracker of animes, mangas and related stuff.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/rukia.gif" data-tip="<b>Click to expand</b> (rukia.gif)">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://lucida.to/">Lucida</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
With Lucida, you can download music directly from Qobuz, Tidal, Soundcloud, Deezer, Amazon Music, and Yandex Music in high quality for free. No catches, no mandatory ads, no BS. How does it work?
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://doubledouble.top/">DoubleDouble</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
Download music directly from Amazon Music, Soundcloud, Qobuz, Deezer and Tidal for free.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
113
en/misc/index.html
Normal file
113
en/misc/index.html
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
<!--
|
||||
_ _ _
|
||||
| |_ ___ _ __ | | ___ _ _ __ ___ __ _ __ ____ _ ___ | |__ ___ _ __ ___
|
||||
| __/ _ \ '_ \| |/ / | | | '_ ` _ \ / _` | \ \ /\ / / _` / __| | '_ \ / _ \ '__/ _ \
|
||||
| || __/ | | | <| |_| | | | | | | (_| | \ V V / (_| \__ \ | | | | __/ | | __/
|
||||
\__\___|_| |_|_|\_\\__,_|_| |_| |_|\__,_| \_/\_/ \__,_|___/ |_| |_|\___|_| \___|
|
||||
|
||||
-->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Adrian Victor</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/static/main.css?fixcache=1">
|
||||
<script type="module" src="/static/scripts/ccd.js"></script>
|
||||
<script type="module" src="/static/scripts/music.js" defer></script>
|
||||
<script type="module" src="/static/scripts/88x31.js" defer></script>
|
||||
<script type="module" src="/static/scripts/tips.js" defer></script>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/static/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/static/favicon-16x16.png">
|
||||
<link rel="manifest" href="/static/site.webmanifest">
|
||||
<script src="https://keepandroidopen.org/banner.js" defer></script>
|
||||
<meta property="og:title" content="Adrian Victor">
|
||||
<meta property="og:description" content="Personal website/blog of Adrian Victor.">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://adrianvic.github.io/en/misc/">
|
||||
<meta property="og:image" content="https://adrianvic.github.io/static/images/bear.jpg">
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
.bg {
|
||||
opacity: .4!important;
|
||||
}
|
||||
</style>
|
||||
<noscript>
|
||||
<style>
|
||||
.i88x31:hover {
|
||||
transform: scale(2);
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
<div id="everythingHelper">
|
||||
<img src="/static/images/bear.jpg" class="bg">
|
||||
<header>
|
||||
<div>
|
||||
<h1>Adrian Victor:Misc</h1>
|
||||
<a id="headerSubtitle"><i>Fanasy is not a crime, find your castle in the sky.</i></a>
|
||||
<script>
|
||||
const headeri18n =
|
||||
{
|
||||
by: "by",
|
||||
options: "Options",
|
||||
hideBackground: "Hide background",
|
||||
back: "back",
|
||||
permissionIssue: "Permission issue",
|
||||
permissionIssueNotificationContent: "Unable to continue playing background music, please enable audio <b>autoplay</b> for this website.",
|
||||
notificationDefaultHint: "<b>Click to dismiss</b>",
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<div id="linksHelper">
|
||||
<div id="music">
|
||||
</div>
|
||||
<ul id="headerLinks">
|
||||
<a href="/en/">home</a>
|
||||
<a href="/en/blog/">blog</a>
|
||||
<a href="/en/misc/">misc</a>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
<div id="mainHelper">
|
||||
|
||||
<main>
|
||||
<h1>Miscellaneous</h1>
|
||||
<ul>
|
||||
<dl>
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<a href="/en/misc/88x31/">
|
||||
88x31
|
||||
</a>
|
||||
</dt>
|
||||
|
||||
<dd>
|
||||
|
||||
My collection of 88x31 GIFs and images.
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<a href="/en/misc/bookmarks/">
|
||||
Bookmarks
|
||||
</a>
|
||||
</dt>
|
||||
|
||||
<dd>
|
||||
|
||||
My collection of interesting websites/pages.
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
</ul>
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
93
global/blog/index.html
Normal file
93
global/blog/index.html
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
<!--
|
||||
_ _ _
|
||||
| |_ ___ _ __ | | ___ _ _ __ ___ __ _ __ ____ _ ___ | |__ ___ _ __ ___
|
||||
| __/ _ \ '_ \| |/ / | | | '_ ` _ \ / _` | \ \ /\ / / _` / __| | '_ \ / _ \ '__/ _ \
|
||||
| || __/ | | | <| |_| | | | | | | (_| | \ V V / (_| \__ \ | | | | __/ | | __/
|
||||
\__\___|_| |_|_|\_\\__,_|_| |_| |_|\__,_| \_/\_/ \__,_|___/ |_| |_|\___|_| \___|
|
||||
|
||||
-->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="global">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Adrian Victor</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/static/main.css?fixcache=1">
|
||||
<script type="module" src="/static/scripts/ccd.js"></script>
|
||||
<script type="module" src="/static/scripts/music.js" defer></script>
|
||||
<script type="module" src="/static/scripts/88x31.js" defer></script>
|
||||
<script type="module" src="/static/scripts/tips.js" defer></script>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/static/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/static/favicon-16x16.png">
|
||||
<link rel="manifest" href="/static/site.webmanifest">
|
||||
<script src="https://keepandroidopen.org/banner.js" defer></script>
|
||||
<meta property="og:title" content="Adrian Victor">
|
||||
<meta property="og:description" content="">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://adrianvic.github.io/global/blog/">
|
||||
<meta property="og:image" content="https://adrianvic.github.io/static/images/bear.jpg">
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
.bg {
|
||||
opacity: .4!important;
|
||||
}
|
||||
</style>
|
||||
<noscript>
|
||||
<style>
|
||||
.i88x31:hover {
|
||||
transform: scale(2);
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
<div id="everythingHelper">
|
||||
<img src="/static/images/bear.jpg" class="bg">
|
||||
<header>
|
||||
<div>
|
||||
<h1>Adrian Victor:Blog</h1>
|
||||
<a id="headerSubtitle"><i>Fanasy is not a crime, find your castle in the sky.</i></a>
|
||||
<script>
|
||||
const headeri18n =
|
||||
{
|
||||
by: "",
|
||||
options: "",
|
||||
hideBackground: "",
|
||||
back: "",
|
||||
permissionIssue: "",
|
||||
permissionIssueNotificationContent: "",
|
||||
notificationDefaultHint: "",
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<div id="linksHelper">
|
||||
<div id="music">
|
||||
</div>
|
||||
<ul id="headerLinks">
|
||||
<a href="/global/"></a>
|
||||
<a href="/global/blog/">blog</a>
|
||||
<a href="/global/misc/">misc</a>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
<div id="mainHelper">
|
||||
|
||||
<main>
|
||||
<p><b></b></p>
|
||||
<ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
263
global/index.html
Normal file
263
global/index.html
Normal file
|
|
@ -0,0 +1,263 @@
|
|||
<!--
|
||||
_ _ _
|
||||
| |_ ___ _ __ | | ___ _ _ __ ___ __ _ __ ____ _ ___ | |__ ___ _ __ ___
|
||||
| __/ _ \ '_ \| |/ / | | | '_ ` _ \ / _` | \ \ /\ / / _` / __| | '_ \ / _ \ '__/ _ \
|
||||
| || __/ | | | <| |_| | | | | | | (_| | \ V V / (_| \__ \ | | | | __/ | | __/
|
||||
\__\___|_| |_|_|\_\\__,_|_| |_| |_|\__,_| \_/\_/ \__,_|___/ |_| |_|\___|_| \___|
|
||||
|
||||
-->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="global">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Adrian Victor</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/static/main.css?fixcache=1">
|
||||
<script type="module" src="/static/scripts/ccd.js"></script>
|
||||
<script type="module" src="/static/scripts/music.js" defer></script>
|
||||
<script type="module" src="/static/scripts/88x31.js" defer></script>
|
||||
<script type="module" src="/static/scripts/tips.js" defer></script>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/static/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/static/favicon-16x16.png">
|
||||
<link rel="manifest" href="/static/site.webmanifest">
|
||||
<script src="https://keepandroidopen.org/banner.js" defer></script>
|
||||
<meta property="og:title" content="Adrian Victor">
|
||||
<meta property="og:description" content="">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://adrianvic.github.io/global/">
|
||||
<meta property="og:image" content="https://adrianvic.github.io/static/images/bear.jpg">
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
.bg {
|
||||
opacity: .4!important;
|
||||
}
|
||||
</style>
|
||||
<noscript>
|
||||
<style>
|
||||
.i88x31:hover {
|
||||
transform: scale(2);
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
<div id="everythingHelper">
|
||||
<img src="/static/images/bear.jpg" class="bg">
|
||||
<header>
|
||||
<div>
|
||||
<h1>Adrian Victor</h1>
|
||||
<a id="headerSubtitle"><i>Fanasy is not a crime, find your castle in the sky.</i></a>
|
||||
<script>
|
||||
const headeri18n =
|
||||
{
|
||||
by: "",
|
||||
options: "",
|
||||
hideBackground: "",
|
||||
back: "",
|
||||
permissionIssue: "",
|
||||
permissionIssueNotificationContent: "",
|
||||
notificationDefaultHint: "",
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<div id="linksHelper">
|
||||
<div id="music">
|
||||
</div>
|
||||
<ul id="headerLinks">
|
||||
<a href="/global/"></a>
|
||||
<a href="/global/blog/">blog</a>
|
||||
<a href="/global/misc/">misc</a>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
<div id="mainHelper">
|
||||
|
||||
|
||||
|
||||
|
||||
<div id="homeSquares">
|
||||
</div>
|
||||
<main>
|
||||
<script src="/static/scripts/home.js" defer></script>
|
||||
<noscript><style>
|
||||
.hs {
|
||||
display: unset!important;
|
||||
}
|
||||
#homeSquares {
|
||||
display: none;
|
||||
}
|
||||
</style></noscript>
|
||||
|
||||
<div class="hs" id="hsDefault">
|
||||
<div class="box pageHeaderBox">
|
||||
<h1 id="homeTitle"></h1>
|
||||
<p></p>
|
||||
<div class="homeBadgesBox">
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/tenkuma.gif" data-tip="<b></b> (tenkuma.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/anybrowser6.gif" data-tip="<b></b> (anybrowser6.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/ai.gif" data-tip="<b></b> (ai.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/WEBP.gif" data-tip="<b></b> (WEBP.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/rainbowrain.gif" data-tip="<b></b> (rainbowrain.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/blasphemy.gif" data-tip="<b></b> (blasphemy.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/css3.gif" data-tip="<b></b> (css3.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/best_viewed_with_open_eyes.gif" data-tip="<b></b> (best_viewed_with_open_eyes.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/gnu-linux.gif" data-tip="<b></b> (gnu-linux.gif)">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<h2></h1>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<h2></h1>
|
||||
<p></p>
|
||||
<p></p>
|
||||
</div>
|
||||
|
||||
<div class="hs" id="hsMusic">
|
||||
<div class="box pageHeaderBox">
|
||||
<h1></h1>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<div class="homeBadgesBox">
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/rave.gif" data-tip="<b></b> (rave.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/happymix.gif" data-tip="<b></b> (happymix.gif)">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="hsMusicCard">
|
||||
|
||||
<div class="youtubeCardHolderHelper">
|
||||
<div class="youtubeCardHolder">
|
||||
<a href="https://margarina.bandcamp.com/album/velkommen">
|
||||
<div class="blogpostYoutubeVideo" style="border-color: #482948;">
|
||||
<img src="/static/images/songs/velkommen.jpg">
|
||||
<div class="videoHeader">
|
||||
<!-- <p class="alsoAvailable">:</p> -->
|
||||
<h2 class="videoTitle" style="color: #482948;">Velkommen</h2>
|
||||
<p>Bandcamp (5:39)</p>
|
||||
</div>
|
||||
<!-- <p class="goLabel">ir</p> -->
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="hs" id="hsVideo">
|
||||
<div class="box pageHeaderBox">
|
||||
<h1></h1>
|
||||
<p></p>
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
<div class="youtubeCardHolderHelper">
|
||||
<div class="youtubeCardHolder">
|
||||
<a href="https://www.youtube.com/watch?v=6bnNAnSY9Uo">
|
||||
<div class="blogpostYoutubeVideo" >
|
||||
<img src="/static/images/thumbnails/fl_studio_linux.png">
|
||||
<div class="videoHeader">
|
||||
<!-- <p class="alsoAvailable">:</p> -->
|
||||
<h2 class="videoTitle" ></h2>
|
||||
<p>YouTube (5:53)</p>
|
||||
</div>
|
||||
<!-- <p class="goLabel">ir</p> -->
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="hs" id="hsCode">
|
||||
<div class="box pageHeaderBox">
|
||||
<h1></h1>
|
||||
<p></p>
|
||||
|
||||
</div>
|
||||
<hr>
|
||||
<div class="hsProjects">
|
||||
|
||||
<div class="hsProject">
|
||||
<div class="hsProjectHeader">
|
||||
<div class="hsProjectImage"><img src="/static/images/jamfish-wide.png" alt="Jamfish"></div>
|
||||
<a href="https://github.com/adrianvic/jamfish" class="hsProjectHeaderIcon">
|
||||
<img src="/static/visual/github.svg" class="invertedc">
|
||||
</a>
|
||||
</div>
|
||||
<div class="hsProjectContent">
|
||||
<p></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="hsProject">
|
||||
<div class="hsProjectHeader">
|
||||
<div class="hsProjectImage"><img src="/static/images/itemeconomy2-wide.png" alt="ItemEconomy"></div>
|
||||
<a href="https://github.com/adrianvic/ItemEconomy" class="hsProjectHeaderIcon">
|
||||
<img src="/static/visual/github.svg" class="invertedc">
|
||||
</a>
|
||||
</div>
|
||||
<div class="hsProjectContent">
|
||||
<p></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="hsProject">
|
||||
<div class="hsProjectHeader">
|
||||
<div class="hsProjectImage"><img src="/static/images/eye_of_nemesis.png" alt="Eye of Nemesis"></div>
|
||||
<a href="https://github.com/adrianvic/NemesisEye" class="hsProjectHeaderIcon">
|
||||
<img src="/static/visual/github.svg" class="invertedc">
|
||||
</a>
|
||||
</div>
|
||||
<div class="hsProjectContent">
|
||||
<p></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="hsProject">
|
||||
<div class="hsProjectHeader">
|
||||
<div class="hsProjectImage"><img src="/static/images/pestowikifullwhite.png" alt="PestoWiki"></div>
|
||||
<a href="https://github.com/Margarina-not-butter/PestoWiki" class="hsProjectHeaderIcon">
|
||||
<img src="/static/visual/github.svg" class="invertedc">
|
||||
</a>
|
||||
</div>
|
||||
<div class="hsProjectContent">
|
||||
<p></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
113
global/misc/index.html
Normal file
113
global/misc/index.html
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
<!--
|
||||
_ _ _
|
||||
| |_ ___ _ __ | | ___ _ _ __ ___ __ _ __ ____ _ ___ | |__ ___ _ __ ___
|
||||
| __/ _ \ '_ \| |/ / | | | '_ ` _ \ / _` | \ \ /\ / / _` / __| | '_ \ / _ \ '__/ _ \
|
||||
| || __/ | | | <| |_| | | | | | | (_| | \ V V / (_| \__ \ | | | | __/ | | __/
|
||||
\__\___|_| |_|_|\_\\__,_|_| |_| |_|\__,_| \_/\_/ \__,_|___/ |_| |_|\___|_| \___|
|
||||
|
||||
-->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="global">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Adrian Victor</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/static/main.css?fixcache=1">
|
||||
<script type="module" src="/static/scripts/ccd.js"></script>
|
||||
<script type="module" src="/static/scripts/music.js" defer></script>
|
||||
<script type="module" src="/static/scripts/88x31.js" defer></script>
|
||||
<script type="module" src="/static/scripts/tips.js" defer></script>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/static/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/static/favicon-16x16.png">
|
||||
<link rel="manifest" href="/static/site.webmanifest">
|
||||
<script src="https://keepandroidopen.org/banner.js" defer></script>
|
||||
<meta property="og:title" content="Adrian Victor">
|
||||
<meta property="og:description" content="">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://adrianvic.github.io/global/misc/">
|
||||
<meta property="og:image" content="https://adrianvic.github.io/static/images/bear.jpg">
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
.bg {
|
||||
opacity: .4!important;
|
||||
}
|
||||
</style>
|
||||
<noscript>
|
||||
<style>
|
||||
.i88x31:hover {
|
||||
transform: scale(2);
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
<div id="everythingHelper">
|
||||
<img src="/static/images/bear.jpg" class="bg">
|
||||
<header>
|
||||
<div>
|
||||
<h1>Adrian Victor:Misc</h1>
|
||||
<a id="headerSubtitle"><i>Fanasy is not a crime, find your castle in the sky.</i></a>
|
||||
<script>
|
||||
const headeri18n =
|
||||
{
|
||||
by: "",
|
||||
options: "",
|
||||
hideBackground: "",
|
||||
back: "",
|
||||
permissionIssue: "",
|
||||
permissionIssueNotificationContent: "",
|
||||
notificationDefaultHint: "",
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<div id="linksHelper">
|
||||
<div id="music">
|
||||
</div>
|
||||
<ul id="headerLinks">
|
||||
<a href="/global/"></a>
|
||||
<a href="/global/blog/">blog</a>
|
||||
<a href="/global/misc/">misc</a>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
<div id="mainHelper">
|
||||
|
||||
<main>
|
||||
<h1></h1>
|
||||
<ul>
|
||||
<dl>
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<a href="/global/misc/88x31/">
|
||||
88x31
|
||||
</a>
|
||||
</dt>
|
||||
|
||||
<dd>
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<a href="/global/misc/bookmarks/">
|
||||
|
||||
</a>
|
||||
</dt>
|
||||
|
||||
<dd>
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
</ul>
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
91
index.html
Normal file
91
index.html
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
<!--
|
||||
_ _ _
|
||||
| |_ ___ _ __ | | ___ _ _ __ ___ __ _ __ ____ _ ___ | |__ ___ _ __ ___
|
||||
| __/ _ \ '_ \| |/ / | | | '_ ` _ \ / _` | \ \ /\ / / _` / __| | '_ \ / _ \ '__/ _ \
|
||||
| || __/ | | | <| |_| | | | | | | (_| | \ V V / (_| \__ \ | | | | __/ | | __/
|
||||
\__\___|_| |_|_|\_\\__,_|_| |_| |_|\__,_| \_/\_/ \__,_|___/ |_| |_|\___|_| \___|
|
||||
|
||||
-->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Adrian Victor</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/static/main.css?fixcache=1">
|
||||
<script type="module" src="/static/scripts/ccd.js"></script>
|
||||
<script type="module" src="/static/scripts/music.js" defer></script>
|
||||
<script type="module" src="/static/scripts/88x31.js" defer></script>
|
||||
<script type="module" src="/static/scripts/tips.js" defer></script>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/static/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/static/favicon-16x16.png">
|
||||
<link rel="manifest" href="/static/site.webmanifest">
|
||||
<script src="https://keepandroidopen.org/banner.js" defer></script>
|
||||
<meta property="og:title" content="Adrian Victor">
|
||||
<meta property="og:description" content="Personal website/blog of Adrian Victor.">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://adrianvic.github.io/">
|
||||
<meta property="og:image" content="https://adrianvic.github.io/static/images/bear.jpg">
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
.bg {
|
||||
opacity: .4!important;
|
||||
}
|
||||
</style>
|
||||
<noscript>
|
||||
<style>
|
||||
.i88x31:hover {
|
||||
transform: scale(2);
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
<div id="everythingHelper">
|
||||
<img src="/static/images/bear.jpg" class="bg">
|
||||
<header>
|
||||
<div>
|
||||
<h1>Adrian Victor</h1>
|
||||
<a id="headerSubtitle"><i>Fanasy is not a crime, find your castle in the sky.</i></a>
|
||||
<script>
|
||||
const headeri18n =
|
||||
{
|
||||
by: "by",
|
||||
options: "Options",
|
||||
hideBackground: "Hide background",
|
||||
back: "back",
|
||||
permissionIssue: "Permission issue",
|
||||
permissionIssueNotificationContent: "Unable to continue playing background music, please enable audio <b>autoplay</b> for this website.",
|
||||
notificationDefaultHint: "<b>Click to dismiss</b>",
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<div id="linksHelper">
|
||||
<div id="music">
|
||||
</div>
|
||||
<ul id="headerLinks">
|
||||
<a href="/en/">home</a>
|
||||
<a href="/en/blog/">blog</a>
|
||||
<a href="/en/misc/">misc</a>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
<div id="mainHelper">
|
||||
<script src="/static/scripts/language.js" defer></script>
|
||||
<style>
|
||||
#headerLinks {
|
||||
display: none!important;
|
||||
}
|
||||
</style>
|
||||
<main>
|
||||
<h1 id="languageTitle">Pick a language</h1>
|
||||
<ul id="languageList">
|
||||
<li><a href="/en/">English</a></li>
|
||||
<li><a href="/pt/">Português Brasileiro</a></li>
|
||||
</ul>
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
156
index.njk
156
index.njk
|
|
@ -1,156 +0,0 @@
|
|||
---
|
||||
pagination:
|
||||
data: i18n
|
||||
size: 1
|
||||
alias: langKey
|
||||
permalink: "/{{ langKey }}/index.html"
|
||||
layout: base.njk
|
||||
---
|
||||
{% from "macros.njk" import i88x31 with context %}
|
||||
{% from "macros.njk" import videoCard with context %}
|
||||
{% from "macros.njk" import projectCard %}
|
||||
|
||||
<div id="homeSquares">
|
||||
</div>
|
||||
|
||||
<main>
|
||||
<script src="{{ '/static/scripts/home.js' | url }}" defer></script>
|
||||
|
||||
<noscript>
|
||||
<style>
|
||||
.hs {
|
||||
display: unset !important;
|
||||
}
|
||||
#homeSquares {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
|
||||
<div class="hs" id="hsDefault">
|
||||
<div class="box pageHeaderBox">
|
||||
<h1 id="homeTitle">{{ i18n[langKey].welcome | smartTitle }}</h1>
|
||||
<p>{{ i18n[langKey].homeWelcomeParagraph | safe }}</p>
|
||||
|
||||
<div class="homeBadgesBox">
|
||||
{{ i88x31("tenkuma.gif") }}
|
||||
{{ i88x31("anybrowser6.gif") }}
|
||||
{{ i88x31("ai.gif") }}
|
||||
{{ i88x31("WEBP.gif") }}
|
||||
{{ i88x31("rainbowrain.gif") }}
|
||||
{{ i88x31("blasphemy.gif") }}
|
||||
{{ i88x31("css3.gif") }}
|
||||
{{ i88x31("best_viewed_with_open_eyes.gif") }}
|
||||
{{ i88x31("gnu-linux.gif") }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>{{ i18n[langKey].aboutMe | smartTitle }}</h2>
|
||||
<p>{{ i18n[langKey].homeAboutMeParagraph | safe }}</p>
|
||||
<p>{{ i18n[langKey].homeAboutMeParagraphTwo | safe }}</p>
|
||||
|
||||
<h2>{{ i18n[langKey].socialsAndContact | smartTitle }}</h2>
|
||||
<p>{{ i18n[langKey].homeSocialsAndContactParagraph | safe }}</p>
|
||||
<p>{{ i18n[langKey].homeSocialsAndContactParagraphTwo | safe }}</p>
|
||||
</div>
|
||||
|
||||
<div class="hs" id="hsMusic">
|
||||
<div class="box pageHeaderBox">
|
||||
<h1>{{ i18n[langKey].myMusic | smartTitle }}</h1>
|
||||
<p>{{ i18n[langKey].homeMyMusicParagraph | safe }}</p>
|
||||
<p>{{ i18n[langKey].homeMyMusicParagraphTwo | safe }}</p>
|
||||
|
||||
<div class="homeBadgesBox">
|
||||
{{ i88x31("rave.gif") }}
|
||||
{{ i88x31("happymix.gif") }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div class="hsMusicCard">
|
||||
{{
|
||||
videoCard(
|
||||
i18n["global"].homeSongLink,
|
||||
i18n["global"].homeSongTitle,
|
||||
i18n["global"].homeSongImage,
|
||||
i18n["global"].homeSongWebsite,
|
||||
i18n["global"].homeSongDuration,
|
||||
i18n["global"].homeSongAccent
|
||||
)
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="hs" id="hsVideo">
|
||||
<div class="box pageHeaderBox">
|
||||
<h1>{{ i18n[langKey].myVideos | smartTitle }}</h1>
|
||||
<p>{{ i18n[langKey].homeMyVideoParagraph | safe }}</p>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
{{
|
||||
videoCard(
|
||||
i18n["global"].homeVideoLink,
|
||||
i18n[langKey].homeVideoTitle,
|
||||
i18n["global"].homeVideoImage,
|
||||
i18n["global"].homeVideoWebsite,
|
||||
i18n["global"].homeVideoDuration
|
||||
)
|
||||
}}
|
||||
</div>
|
||||
|
||||
<div class="hs" id="hsCode">
|
||||
<div class="box pageHeaderBox">
|
||||
<h1>{{ i18n[langKey].mySoftware | smartTitle }}</h1>
|
||||
<p>{{ i18n[langKey].homeMySoftwareParagraph | safe }}</p>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div class="hsProjects">
|
||||
{{
|
||||
projectCard(
|
||||
"Jamfish",
|
||||
i18n[langKey].jamfishProjectDesctiption,
|
||||
"https://github.com/adrianvic/jamfish",
|
||||
'/static/images/jamfish-wide.png',
|
||||
"Jamfish"
|
||||
)
|
||||
}}
|
||||
|
||||
{{
|
||||
projectCard(
|
||||
"ItemEconomy",
|
||||
i18n[langKey].itemeconomyProjectDesctiption,
|
||||
"https://github.com/adrianvic/ItemEconomy",
|
||||
'/static/images/itemeconomy2-wide.png',
|
||||
"ItemEconomy"
|
||||
)
|
||||
}}
|
||||
|
||||
{{
|
||||
projectCard(
|
||||
"Eye of Nemesis",
|
||||
i18n[langKey].eyeofnemesisProjectDesctiption,
|
||||
"https://github.com/adrianvic/NemesisEye",
|
||||
'/static/images/eye_of_nemesis.png',
|
||||
"Eye of Nemesis"
|
||||
)
|
||||
}}
|
||||
|
||||
{{
|
||||
projectCard(
|
||||
"PestoWiki",
|
||||
i18n[langKey].pestoProjectDesctiption,
|
||||
"https://github.com/Margarina-not-butter/PestoWiki",
|
||||
'/static/images/pestowikifullwhite.png',
|
||||
"PestoWiki"
|
||||
)
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
---
|
||||
permalink: "/index.html"
|
||||
layout: base.njk
|
||||
langKey: "en"
|
||||
---
|
||||
<script src="{{ '/static/scripts/language.js' | url }}" defer></script>
|
||||
<style>
|
||||
#headerLinks {
|
||||
display: none!important;
|
||||
}
|
||||
</style>
|
||||
<main>
|
||||
<h1 id="languageTitle">Pick a language</h1>
|
||||
<ul id="languageList">
|
||||
<li><a href="{{ '/en/' | url }}">English</a></li>
|
||||
<li><a href="{{ '/pt/' | url }}">Português Brasileiro</a></li>
|
||||
</ul>
|
||||
</main>
|
||||
|
|
@ -1,191 +0,0 @@
|
|||
// Coded entirely by ChatGPT
|
||||
// :(
|
||||
|
||||
const express = require("express");
|
||||
const fs = require("fs");
|
||||
const parser = require("@babel/parser");
|
||||
const traverse = require("@babel/traverse").default;
|
||||
const generate = require("@babel/generator").default;
|
||||
const t = require("@babel/types");
|
||||
|
||||
const app = express();
|
||||
app.use(express.json());
|
||||
|
||||
const FILE = "../_data/i18n.js";
|
||||
|
||||
function loadAST() {
|
||||
const code = fs.readFileSync(FILE, "utf8");
|
||||
return parser.parse(code, { sourceType: "module" });
|
||||
}
|
||||
|
||||
function extract(ast) {
|
||||
const out = {};
|
||||
|
||||
traverse(ast, {
|
||||
AssignmentExpression(path) {
|
||||
if (
|
||||
path.node.left.object?.name === "module" &&
|
||||
path.node.left.property?.name === "exports"
|
||||
) {
|
||||
path.node.right.properties.forEach(langProp => {
|
||||
const lang = langProp.key.name || langProp.key.value;
|
||||
out[lang] = {};
|
||||
|
||||
langProp.value.properties.forEach(p => {
|
||||
const key = p.key.name || p.key.value;
|
||||
out[lang][key] = p.value.extra?.raw || generate(p.value).code;
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
function write(ast, newData) {
|
||||
traverse(ast, {
|
||||
AssignmentExpression(path) {
|
||||
if (
|
||||
path.node.left.object?.name === "module" &&
|
||||
path.node.left.property?.name === "exports"
|
||||
) {
|
||||
path.node.right.properties.forEach(langProp => {
|
||||
const lang = langProp.key.name || langProp.key.value;
|
||||
|
||||
const existingKeys = new Set(
|
||||
langProp.value.properties.map(p => p.key.name || p.key.value)
|
||||
);
|
||||
|
||||
// update existing
|
||||
langProp.value.properties.forEach(p => {
|
||||
const key = p.key.name || p.key.value;
|
||||
|
||||
if (key in (newData[lang] || {})) {
|
||||
p.value = parser.parseExpression(newData[lang][key]);
|
||||
}
|
||||
});
|
||||
|
||||
// add new keys
|
||||
Object.keys(newData[lang] || {}).forEach(key => {
|
||||
if (!existingKeys.has(key)) {
|
||||
langProp.value.properties.push(
|
||||
t.objectProperty(
|
||||
t.identifier(key),
|
||||
parser.parseExpression(newData[lang][key])
|
||||
)
|
||||
);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
const output = generate(ast, { retainLines: true }).code;
|
||||
fs.writeFileSync(FILE, output);
|
||||
}
|
||||
|
||||
app.get("/data", (req, res) => {
|
||||
const ast = loadAST();
|
||||
res.json(extract(ast));
|
||||
});
|
||||
|
||||
app.post("/save", (req, res) => {
|
||||
const ast = loadAST();
|
||||
write(ast, req.body);
|
||||
res.send("ok");
|
||||
});
|
||||
|
||||
app.get("/", (req, res) => {
|
||||
res.send(`
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body>
|
||||
<h2>i18n Editor</h2>
|
||||
<table id="t"></table>
|
||||
<button onclick="addRow()">Add</button>
|
||||
<button onclick="save()">Save</button>
|
||||
|
||||
<script>
|
||||
let data;
|
||||
|
||||
fetch('/data').then(r=>r.json()).then(d=>{
|
||||
data=d;
|
||||
render();
|
||||
});
|
||||
|
||||
function render(){
|
||||
const table=document.getElementById('t');
|
||||
table.innerHTML='';
|
||||
|
||||
const langs=Object.keys(data);
|
||||
const keys=[...new Set(langs.flatMap(l=>Object.keys(data[l]||{})))];
|
||||
|
||||
// header
|
||||
const headRow=document.createElement('tr');
|
||||
const thKey=document.createElement('th');
|
||||
thKey.textContent='key';
|
||||
headRow.appendChild(thKey);
|
||||
|
||||
langs.forEach(l=>{
|
||||
const th=document.createElement('th');
|
||||
th.textContent=l;
|
||||
headRow.appendChild(th);
|
||||
});
|
||||
|
||||
table.appendChild(headRow);
|
||||
|
||||
// rows
|
||||
keys.forEach(k=>{
|
||||
const tr=document.createElement('tr');
|
||||
|
||||
const tdKey=document.createElement('td');
|
||||
tdKey.textContent=k;
|
||||
tr.appendChild(tdKey);
|
||||
|
||||
langs.forEach(l=>{
|
||||
const td=document.createElement('td');
|
||||
const input=document.createElement('input');
|
||||
|
||||
input.value = (data[l] && data[l][k]) || '';
|
||||
|
||||
input.addEventListener('change', (e)=>{
|
||||
upd(l, k, e.target.value);
|
||||
});
|
||||
|
||||
td.appendChild(input);
|
||||
tr.appendChild(td);
|
||||
});
|
||||
|
||||
table.appendChild(tr);
|
||||
});
|
||||
}
|
||||
|
||||
function upd(lang,key,val){
|
||||
if(!data[lang])data[lang]={};
|
||||
data[lang][key]=val;
|
||||
}
|
||||
|
||||
function addRow(){
|
||||
const k=prompt('key');
|
||||
if(!k)return;
|
||||
Object.keys(data).forEach(l=>data[l][k]='');
|
||||
render();
|
||||
}
|
||||
|
||||
function save(){
|
||||
fetch('/save',{
|
||||
method:'POST',
|
||||
headers:{'Content-Type':'application/json'},
|
||||
body:JSON.stringify(data)
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
`);
|
||||
});
|
||||
|
||||
app.listen(3000,()=>console.log('http://localhost:3000'));
|
||||
|
||||
37
misc.njk
37
misc.njk
|
|
@ -1,37 +0,0 @@
|
|||
---
|
||||
pagination:
|
||||
data: i18n
|
||||
size: 1
|
||||
alias: langKey
|
||||
permalink: "/{{ langKey }}/misc/index.html"
|
||||
layout: base.njk
|
||||
title: Adrian Victor:Misc
|
||||
---
|
||||
|
||||
<main>
|
||||
<h1>{{ i18n[langKey].miscellaneous }}</h1>
|
||||
|
||||
<ul>
|
||||
<dl>
|
||||
{% for page in collections.misc %}
|
||||
{% set t = page | getTranslation(langKey) %}
|
||||
|
||||
<dt>
|
||||
<a href="{{ ('/' ~ langKey ~ '/misc/' ~ page.fileSlug ~ '/') | url }}">
|
||||
{{ page.data.pageTitle or t.pageTitle }}
|
||||
</a>
|
||||
</dt>
|
||||
|
||||
<dd>
|
||||
{% if page.data["88x31"] %}
|
||||
<img
|
||||
src="{{ ('/static/images/88x31/' ~ page.data['88x31']) | url }}"
|
||||
><br>
|
||||
{% endif %}
|
||||
|
||||
{{ t.pageDescription }}
|
||||
</dd>
|
||||
{% endfor %}
|
||||
</dl>
|
||||
</ul>
|
||||
</main>
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"pageDescription": "My collection of 88x31 GIFs and images.",
|
||||
"intro": "This is the collection of 88x31 GIFs and images I've downloaded across the web.",
|
||||
"others": "Others",
|
||||
"me": "Made by me"
|
||||
}
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
---
|
||||
layout: base.njk
|
||||
pagination:
|
||||
data: languages
|
||||
size: 1
|
||||
alias: langKey
|
||||
<!-- 88x31: WEBP.gif -->
|
||||
pageTitle: 88x31
|
||||
tags: misc
|
||||
---
|
||||
{% from "macros.njk" import i88x31 with context %}
|
||||
|
||||
<main class="misc88x31Page">
|
||||
<div class="box pageHeaderBox">
|
||||
<h1>88x31</h1>
|
||||
<p>{{ t.intro }}</p>
|
||||
</div>
|
||||
<hr>
|
||||
<h2>{{ t.me }}</h2>
|
||||
<div class="homeBadgesBox">
|
||||
{{ i88x31("tenkuma.gif") }}
|
||||
</div>
|
||||
<h2>{{ t.others }}</h2>
|
||||
<div class="homeBadgesBox">
|
||||
{% for image in collections.88x31 %}
|
||||
{{ i88x31(image.fileSlug) }}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</main>
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"pageDescription": "Minha coleção de GIFs e imagens 88x31.",
|
||||
"intro": "Essa é uma coleção de GIFs e imagens 88x31 que eu baixei pela internet.",
|
||||
"others": "Outros",
|
||||
"me": "Feitos por mim"
|
||||
}
|
||||
|
|
@ -1,158 +0,0 @@
|
|||
{
|
||||
"links": {
|
||||
"downloads": {
|
||||
"88x31": [
|
||||
"iglooftp.gif",
|
||||
"eftpbutton.gif"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"name": "MalwareWatch",
|
||||
"link": "https://malwarewatch.org/",
|
||||
"description": {
|
||||
"pt": "Website do Enderman. Tem download de vários softwares úteis, imagens de sistemas operacionais e malware.",
|
||||
"en": "Enderman's website. Provides download to various useful softwares, operating system images and malware."
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Free Images",
|
||||
"link": "https://free-images.com/",
|
||||
"description": {
|
||||
"pt": "Pesquise por milhões de imagens, artes e vetores. Todas as imagens são de domínio público ou sobre CC0. Livre para baixar e livre para usar.",
|
||||
"en": "Search through millions of free stock photos, art and vector images. Every image is Public Domain or CC0. Free to Download and Free to Use."
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "88x31",
|
||||
"link": "https://88x31.nl/",
|
||||
"description": {
|
||||
"pt": "Essa é uma coleção de mais de 6500 GIFs e PNGs no formato 88x31. No final dos anos 1990 e começo dos 2000 era muito comum usar essas imagens no seu site pessoal.",
|
||||
"en": "This website is a collection with over 6500 GIF's and PNG's in 88x31 format. In the late 1990 and begin of the 2000's it was very common to use these pictures on your personal website."
|
||||
},
|
||||
"88x31": [
|
||||
"WEBP.gif",
|
||||
"blank.gif"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"profiles": {
|
||||
"links": [
|
||||
{
|
||||
"name": "Mr. Nando",
|
||||
"link": "https://www.youtube.com/@mrnandokk",
|
||||
"description": {
|
||||
"pt": "Meu amigo Fernando, ele faz músicas e vídeos de Minecraft e speedrun.",
|
||||
"en": "My friend Fernando, he makes music and YouTube videos of Minecraft and speedrun."
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Endermanch",
|
||||
"link": "https://enderman.ch/",
|
||||
"description": {
|
||||
"pt": "Andrew é um engenheiro de software, entusiasta de malware e, mais importante, uma estranha e alta criatura. Cresci com os seus videos e ele é uma grande inspiração para mim.",
|
||||
"en": "Andrew is a software engineer, a malware enthusiast and most importantly, a weird tall creature. I've grown up with his videos and he's a great inspiration for me."
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"tools": {
|
||||
"links": [
|
||||
{
|
||||
"name": "Excalidraw",
|
||||
"link": "https://excalidraw.com/",
|
||||
"description": {
|
||||
"pt": "Quadro branco sem distrações.",
|
||||
"en": "Whiteboard with no bloat."
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Postimages",
|
||||
"link": "https://postimages.org/",
|
||||
"description": {
|
||||
"pt": "Gere links permantes de suas imagens para forums, blogs e redes sociais.",
|
||||
"en": "Get permanent links of your images for forums, blogs, and social media."
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "uBlock Origin",
|
||||
"link": "https://github.com/gorhill/uBlock#ublock-origin",
|
||||
"description": {
|
||||
"pt": "Um bloqueador eficiente para Chromium e Firefox. Rápido e pequeno.",
|
||||
"en": "An efficient blocker for Chromium and Firefox. Fast and lean."
|
||||
},
|
||||
"88x31": ["ublock-now.png"]
|
||||
}
|
||||
]
|
||||
},
|
||||
"games": {
|
||||
"88x31": [
|
||||
"gb.gif",
|
||||
"amd_powered.gif"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"name": "SteamGridDB",
|
||||
"link": "https://www.steamgriddb.com/",
|
||||
"description": {
|
||||
"pt": "Baixe e compartilhe recursos visuais de jogos e personalize sua biblioteca de jogos.",
|
||||
"en": "Download and share custom video game assets and personalize your gaming library."
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"music": {
|
||||
"88x31": [
|
||||
"rave.gif",
|
||||
"2014-rave.gif",
|
||||
"wmpfree.gif",
|
||||
"wmp.gif",
|
||||
"wmp9.gif",
|
||||
"wmp10.gif",
|
||||
"wmp11.gif",
|
||||
"ffmpeg.gif",
|
||||
"ymusic.gif"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"name": "CVGM Radio",
|
||||
"link": "https://radio.cvgm.net/demovibes/",
|
||||
"description": {
|
||||
"pt": "Seu lar para música relacionada a video games, demo scene e computadores.",
|
||||
"en": "Your home for video game, demo scene and computer related music."
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"piracy": {
|
||||
"88x31": ["piracy.png"],
|
||||
"links": [
|
||||
{
|
||||
"name": "Nyaa",
|
||||
"link": "https://nyaa.si/",
|
||||
"description": {
|
||||
"pt": "Um tracker de animes, mangás e coisas relacionadas.",
|
||||
"en": "A tracker of animes, mangas and related stuff."
|
||||
},
|
||||
"88x31": ["rukia.gif"]
|
||||
},
|
||||
{
|
||||
"name": "Lucida",
|
||||
"link": "https://lucida.to/",
|
||||
"description": {
|
||||
"pt": "Com Lucida, você pode baixar musica diretamente de Qobuz, Tidal, Soundcloud, Deezer, Amazon Music, e Yandex Music em alta qualidade de graça. Sem pegadinhas, sem anúncios obrigatórios, sem enrolação. Como que funciona?",
|
||||
"en": "With Lucida, you can download music directly from Qobuz, Tidal, Soundcloud, Deezer, Amazon Music, and Yandex Music in high quality for free. No catches, no mandatory ads, no BS. How does it work?"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "DoubleDouble",
|
||||
"link": "https://doubledouble.top/",
|
||||
"description": {
|
||||
"pt": "Baixe musica diretamente de Qobuz, Tidal, Soundcloud, Deezer, Amazon Music, e Yandex Music em alta qualidade de graça.",
|
||||
"en": "Download music directly from Amazon Music, Soundcloud, Qobuz, Deezer and Tidal for free."
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"pageTitle": "Bookmarks",
|
||||
"pageDescription": "My collection of interesting websites/pages.",
|
||||
"intro": "A list of useful or cool websites/pages curated by me. Divided in sections for an easier navigation.",
|
||||
"profiles": "Profiles",
|
||||
"downloads": "Downloads",
|
||||
"games": "Games",
|
||||
"tools": "Tools",
|
||||
"music": "Music",
|
||||
"piracy": "Piracy"
|
||||
}
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
---
|
||||
layout: base.njk
|
||||
pagination:
|
||||
data: languages
|
||||
size: 1
|
||||
alias: langKey
|
||||
tags: misc
|
||||
background: towers.jpg
|
||||
backgroundOpacity: .2
|
||||
---
|
||||
{% from "macros.njk" import i88x31 with context %}
|
||||
|
||||
<main>
|
||||
<div class="box pageHeaderBox">
|
||||
<h1>{{ t.pageTitle }}</h1>
|
||||
<p>{{ t.intro }}</p>
|
||||
{{ i88x31("BOOKMARKthispageNOW.png") }}
|
||||
</div>
|
||||
<hr>
|
||||
{% for sectionName, section in c.links %}
|
||||
<div>
|
||||
<h2>{{ t[sectionName] }}</h2>
|
||||
{% if section.88x31 %}
|
||||
<div class="box favorites88x31Box">
|
||||
{% for 88x31 in section.88x31 %}
|
||||
{{ i88x31(88x31) }}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
<dl>
|
||||
{% for link in section.links %}
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="{{ link.link }}">{{ link.name }}</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
{{ link.description[langKey] }}
|
||||
<div class="favorite88x31Box">
|
||||
{% if link.88x31 %}
|
||||
{% for 88x31 in link.88x31 %}
|
||||
{{ i88x31(88x31) }}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</dl>
|
||||
{% endfor %}
|
||||
</main>
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"pageTitle": "Favoritos",
|
||||
"pageDescription": "Minha coleção de sites e páginas interessantes.",
|
||||
"intro": "Essa é a lista de links favoritos curada por mim, dividida em seções para facilitar a navegação ;-)",
|
||||
"profiles": "Perfis",
|
||||
"downloads": "Downloads",
|
||||
"games": "Jogos",
|
||||
"tools": "Ferramentas",
|
||||
"music": "Música",
|
||||
"piracy": "Pirataria"
|
||||
}
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
|
||||
module.exports = {
|
||||
eleventyComputed: {
|
||||
t: (data) => {
|
||||
const dir = path.dirname(data.page.inputPath);
|
||||
|
||||
const file = path.join(dir, `${data.langKey}.json`);
|
||||
if (fs.existsSync(file)) {
|
||||
return JSON.parse(fs.readFileSync(file, "utf-8"));
|
||||
}
|
||||
|
||||
return {};
|
||||
},
|
||||
c: (data) => {
|
||||
const dir = path.dirname(data.page.inputPath);
|
||||
|
||||
const file = path.join(dir, `common.json`);
|
||||
if (fs.existsSync(file)) {
|
||||
return JSON.parse(fs.readFileSync(file, "utf-8"));
|
||||
}
|
||||
|
||||
return {};
|
||||
}
|
||||
},
|
||||
permalink: data => {
|
||||
return `/${data.langKey}/misc/${data.page.fileSlug}/`;
|
||||
},
|
||||
tags: "misc"
|
||||
};
|
||||
2766
package-lock.json
generated
2766
package-lock.json
generated
File diff suppressed because it is too large
Load diff
15
package.json
15
package.json
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"name": "adrianvictor-new",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"build": "npx @11ty/eleventy",
|
||||
"serve": "npx @11ty/eleventy --serve",
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"type": "commonjs"
|
||||
}
|
||||
|
|
@ -1,13 +1,99 @@
|
|||
---
|
||||
postTitle: "On the Recent Changes to App Distribution Requirements in the Android System by Google."
|
||||
postId: developer-verification
|
||||
langKey: en
|
||||
layout: post.njk
|
||||
date: 2025-08-30
|
||||
background: android-jellybean.jpg
|
||||
backgroundOpacity: .35
|
||||
---
|
||||
<h2>Recap</h2>
|
||||
<!--
|
||||
_ _ _
|
||||
| |_ ___ _ __ | | ___ _ _ __ ___ __ _ __ ____ _ ___ | |__ ___ _ __ ___
|
||||
| __/ _ \ '_ \| |/ / | | | '_ ` _ \ / _` | \ \ /\ / / _` / __| | '_ \ / _ \ '__/ _ \
|
||||
| || __/ | | | <| |_| | | | | | | (_| | \ V V / (_| \__ \ | | | | __/ | | __/
|
||||
\__\___|_| |_|_|\_\\__,_|_| |_| |_|\__,_| \_/\_/ \__,_|___/ |_| |_|\___|_| \___|
|
||||
|
||||
-->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Adrian Victor - On the Recent Changes to App Distribution Requirements in the Android System by Google.</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/static/main.css?fixcache=1">
|
||||
<script type="module" src="/static/scripts/ccd.js"></script>
|
||||
<script type="module" src="/static/scripts/music.js" defer></script>
|
||||
<script type="module" src="/static/scripts/88x31.js" defer></script>
|
||||
<script type="module" src="/static/scripts/tips.js" defer></script>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/static/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/static/favicon-16x16.png">
|
||||
<link rel="manifest" href="/static/site.webmanifest">
|
||||
<script src="https://keepandroidopen.org/banner.js" defer></script>
|
||||
<meta property="og:title" content="Adrian Victor - On the Recent Changes to App Distribution Requirements in the Android System by Google.">
|
||||
<meta property="og:description" content="Personal website/blog of Adrian Victor.">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://adrianvic.github.io/posts/android-developer-verification/">
|
||||
<meta property="og:image" content="https://adrianvic.github.io/static/images/android-jellybean.jpg">
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
.bg {
|
||||
opacity: 0.35!important;
|
||||
}
|
||||
</style>
|
||||
<noscript>
|
||||
<style>
|
||||
.i88x31:hover {
|
||||
transform: scale(2);
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
<div id="everythingHelper">
|
||||
<img src="/static/images/android-jellybean.jpg" class="bg">
|
||||
<header>
|
||||
<div>
|
||||
<h1>Adrian Victor:Blog</h1>
|
||||
<a id="headerSubtitle"><i>Fanasy is not a crime, find your castle in the sky.</i></a>
|
||||
<script>
|
||||
const headeri18n =
|
||||
{
|
||||
by: "by",
|
||||
options: "Options",
|
||||
hideBackground: "Hide background",
|
||||
back: "back",
|
||||
permissionIssue: "Permission issue",
|
||||
permissionIssueNotificationContent: "Unable to continue playing background music, please enable audio <b>autoplay</b> for this website.",
|
||||
notificationDefaultHint: "<b>Click to dismiss</b>",
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<div id="linksHelper">
|
||||
<div id="music">
|
||||
</div>
|
||||
<ul id="headerLinks">
|
||||
<a href="/en/">home</a>
|
||||
<a href="/en/blog/">blog</a>
|
||||
<a href="/en/misc/">misc</a>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
<div id="mainHelper">
|
||||
|
||||
|
||||
|
||||
<main>
|
||||
<article>
|
||||
<div id="postHeader">
|
||||
<h1>On the Recent Changes to App Distribution Requirements in the Android System by Google.</h1>
|
||||
<p>Adrian Victor - <b>8/29/2025</b> (last edited in 4/23/2026)</p>
|
||||
|
||||
Also available in other languages:
|
||||
|
||||
<li class="inlineList">
|
||||
<a href="/posts/verificacao-de-desenvolvedor-no-android/" hreflang="pt">
|
||||
português
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Recap</h2>
|
||||
|
||||
<p>Android is that open-source operating system that works well for users and is loved by developers. Always known for breaking barriers and being open, expandable, versatile, and even friendly to power users–something not every system dares to be (iOS, Windows Phone). For a long time, Android was seen this way compared to its competitors: a breath of fresh air against the abusive practices of companies like Apple. But it seems the Android we've nurtured for two decades no longer fits in the pockets of Google executives; it is too free, creating ethical and technical barriers to the profitable exploitation path adopted by its developer.</p>
|
||||
|
||||
|
|
@ -48,4 +134,10 @@ justify our API usage to their satisfaction. As such, the permission is now bloc
|
|||
|
||||
<p>We must watch how these policies are applied and how they affect the Android ecosystem. An inevitable consequence is that countless abandoned apps, perfectly functional without the new requirements, will disappear overnight. Not all old software connects to the internet, and not all represents a constant threat. Google is taking away the option for experienced users to take responsibility and say: "I know what I'm doing!", treating us as if they know what's best for everyone.</p>
|
||||
|
||||
<p>The commercial Android on phones is based on the <abbr title="Android Open Source Project">AOSP</abbr>, meaning Android's core remains open, and Google hasn't taken that from users yet. I plan to write another post explaining how to regain control of your device through system modifications, from the simplest, safest, most stable methods to advanced approaches, if you feel confident.</p>
|
||||
<p>The commercial Android on phones is based on the <abbr title="Android Open Source Project">AOSP</abbr>, meaning Android's core remains open, and Google hasn't taken that from users yet. I plan to write another post explaining how to regain control of your device through system modifications, from the simplest, safest, most stable methods to advanced approaches, if you feel confident.</p>
|
||||
</article>
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,18 +1,117 @@
|
|||
---
|
||||
postTitle: "Instalando FL Studio no Linux."
|
||||
postId: fl-linux-install
|
||||
postVideoLink: "https://www.youtube.com/watch?v=6bnNAnSY9Uo"
|
||||
postVideoTitle: "Como instalar o FL Studio no Linux?"
|
||||
postVideoImage: "/thumbnails/fl_studio_linux.png"
|
||||
postVideoWebsite: "YouTube"
|
||||
postVideoDuration: "5:53"
|
||||
langKey: pt
|
||||
layout: post.njk
|
||||
date: 2026-04-20
|
||||
background: fl_screenshot_no_text.png
|
||||
backgroundOpacity: .35
|
||||
---
|
||||
<h2>Prólogo</h2>
|
||||
<!--
|
||||
_ _ _
|
||||
| |_ ___ _ __ | | ___ _ _ __ ___ __ _ __ ____ _ ___ | |__ ___ _ __ ___
|
||||
| __/ _ \ '_ \| |/ / | | | '_ ` _ \ / _` | \ \ /\ / / _` / __| | '_ \ / _ \ '__/ _ \
|
||||
| || __/ | | | <| |_| | | | | | | (_| | \ V V / (_| \__ \ | | | | __/ | | __/
|
||||
\__\___|_| |_|_|\_\\__,_|_| |_| |_|\__,_| \_/\_/ \__,_|___/ |_| |_|\___|_| \___|
|
||||
|
||||
-->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="pt">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Adrian Victor - Instalando FL Studio no Linux.</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/static/main.css?fixcache=1">
|
||||
<script type="module" src="/static/scripts/ccd.js"></script>
|
||||
<script type="module" src="/static/scripts/music.js" defer></script>
|
||||
<script type="module" src="/static/scripts/88x31.js" defer></script>
|
||||
<script type="module" src="/static/scripts/tips.js" defer></script>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/static/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/static/favicon-16x16.png">
|
||||
<link rel="manifest" href="/static/site.webmanifest">
|
||||
<script src="https://keepandroidopen.org/banner.js" defer></script>
|
||||
<meta property="og:title" content="Adrian Victor - Instalando FL Studio no Linux.">
|
||||
<meta property="og:description" content="Website/blog pessoal de Adrian Victor.">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://adrianvic.github.io/posts/instalando-fl-studio-no-linux/">
|
||||
<meta property="og:image" content="https://adrianvic.github.io/static/images/fl_screenshot_no_text.png">
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
.bg {
|
||||
opacity: 0.35!important;
|
||||
}
|
||||
</style>
|
||||
<noscript>
|
||||
<style>
|
||||
.i88x31:hover {
|
||||
transform: scale(2);
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
<div id="everythingHelper">
|
||||
<img src="/static/images/fl_screenshot_no_text.png" class="bg">
|
||||
<header>
|
||||
<div>
|
||||
<h1>Adrian Victor:Blog</h1>
|
||||
<a id="headerSubtitle"><i>Fanasy is not a crime, find your castle in the sky.</i></a>
|
||||
<script>
|
||||
const headeri18n =
|
||||
{
|
||||
by: "por",
|
||||
options: "Opções",
|
||||
hideBackground: "Esconder imagem de fundo",
|
||||
back: "voltar",
|
||||
permissionIssue: "Problema de permissão",
|
||||
permissionIssueNotificationContent: "Não foi possivel continuar tocando a música de fundo, por favor habilite <b>reprodução automática</b> de áudio para esse website.",
|
||||
notificationDefaultHint: "<b>Clique para ignorar</b>",
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<div id="linksHelper">
|
||||
<div id="music">
|
||||
</div>
|
||||
<ul id="headerLinks">
|
||||
<a href="/pt/">início</a>
|
||||
<a href="/pt/blog/">blog</a>
|
||||
<a href="/pt/misc/">misc</a>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
<div id="mainHelper">
|
||||
|
||||
|
||||
|
||||
<main>
|
||||
<article>
|
||||
<div id="postHeader">
|
||||
<h1>Instalando FL Studio no Linux.</h1>
|
||||
<p>Adrian Victor - <b>4/19/2026</b> (editado por último em 4/23/2026)</p>
|
||||
|
||||
Também disponível em outros idiomas:
|
||||
|
||||
<li class="inlineList">
|
||||
<a href="/posts/installing-fl-studio-on-linux/" hreflang="en">
|
||||
english
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="youtubeCardHolderHelper">
|
||||
<div class="youtubeCardHolder">
|
||||
<a href="https://www.youtube.com/watch?v=6bnNAnSY9Uo">
|
||||
<div class="blogpostYoutubeVideo" >
|
||||
<img src="/static/images/thumbnails/fl_studio_linux.png">
|
||||
<div class="videoHeader">
|
||||
<!-- <p class="alsoAvailable">Também disponível em vídeo:</p> -->
|
||||
<h2 class="videoTitle" >Como instalar o FL Studio no Linux?</h2>
|
||||
<p>YouTube (5:53)</p>
|
||||
</div>
|
||||
<!-- <p class="goLabel">ir</p> -->
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<h2>Prólogo</h2>
|
||||
<p>Desde que mudei permanentemente para o Linux em 2024, venho me impressionando com a capacidade inabalável da comunidade open-source de trazer a vida no Linux softwares complexos feitos originalmente para Windows. Entretanto, um dos programas amaldiçoados com os mais ímpetos e abstratos erros na velha guarda do Wine é o FL Studio, caracteristica essa que fez com que eu, por muito tempo, achasse que a DAW da Image-Line não iria rodar de jeito nenhum no sistema do penguim.</p>
|
||||
<p>Acontece que o FL roda no Linux, e roda muito bem, considerando a sua complexidade. Descartando uns problemas visuais, algumas VSTs que simplesmente não rodam e uma gambiarra para rodar plugins 32-bits, a experiência de usar o FL Studio no Linux é bem sólida. Parece que a Valve, Wine e comunidade open-source não estão para brincadeira mesmo.</p>
|
||||
<p>Antes de ir às formalidades, gostaria de definir o escopo desse tutorial. Faço ele com tudo o que cabe na minha memória recente trabalhando com o FL no Linux. Mas também não é uma postagem estática; se estiver faltando alguma coisa me mande um e-mail e eu atualizo.</p>
|
||||
|
|
@ -61,4 +160,10 @@ backgroundOpacity: .35
|
|||
<h2>Conclusões</h2>
|
||||
<p>Não sou a pessoa mais apta para dizer até onde a usabilidade da DAW se extende no Linux; não sou nem de longe um usuário avançado do FL. Mas, a título de informação, consegui produzir a faixa <a href="https://margarina.bandcamp.com/album/velkommen">Velkommen</a> inteiramente no sistema do penguim e não tenho a intenção de voltar para o Windows.</p>
|
||||
<p>É mesmo inconveniente quando um plugin ou outro não funciona, quando eu tenho que criar um Fruity Wrapper antes de usar um plugin 32bits, ou quando eu penso que talvez a DAW possa performar um pouco melhor nativamente no Windows. Porém, para mim, é um preço muito justo a se pagar para misturar nas minhas músicas um pouco desse suco de ideologia que é me desafiar a não usar o sistema da Microsoft.</p>
|
||||
<p>Espero que você também encontre esse conforto—não na conveniência, mas em desafiar o molde com intenção. Excentricidade digna de um artista.</p>
|
||||
<p>Espero que você também encontre esse conforto—não na conveniência, mas em desafiar o molde com intenção. Excentricidade digna de um artista.</p>
|
||||
</article>
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,13 +1,99 @@
|
|||
---
|
||||
postTitle: "Installing FL Studio on linux."
|
||||
postId: fl-linux-install
|
||||
langKey: en
|
||||
layout: post.njk
|
||||
date: 2026-04-20
|
||||
background: fl_screenshot_no_text.png
|
||||
backgroundOpacity: .35
|
||||
---
|
||||
<h2>Prologue</h2>
|
||||
<!--
|
||||
_ _ _
|
||||
| |_ ___ _ __ | | ___ _ _ __ ___ __ _ __ ____ _ ___ | |__ ___ _ __ ___
|
||||
| __/ _ \ '_ \| |/ / | | | '_ ` _ \ / _` | \ \ /\ / / _` / __| | '_ \ / _ \ '__/ _ \
|
||||
| || __/ | | | <| |_| | | | | | | (_| | \ V V / (_| \__ \ | | | | __/ | | __/
|
||||
\__\___|_| |_|_|\_\\__,_|_| |_| |_|\__,_| \_/\_/ \__,_|___/ |_| |_|\___|_| \___|
|
||||
|
||||
-->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Adrian Victor - Installing FL Studio on linux.</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/static/main.css?fixcache=1">
|
||||
<script type="module" src="/static/scripts/ccd.js"></script>
|
||||
<script type="module" src="/static/scripts/music.js" defer></script>
|
||||
<script type="module" src="/static/scripts/88x31.js" defer></script>
|
||||
<script type="module" src="/static/scripts/tips.js" defer></script>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/static/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/static/favicon-16x16.png">
|
||||
<link rel="manifest" href="/static/site.webmanifest">
|
||||
<script src="https://keepandroidopen.org/banner.js" defer></script>
|
||||
<meta property="og:title" content="Adrian Victor - Installing FL Studio on linux.">
|
||||
<meta property="og:description" content="Personal website/blog of Adrian Victor.">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://adrianvic.github.io/posts/installing-fl-studio-on-linux/">
|
||||
<meta property="og:image" content="https://adrianvic.github.io/static/images/fl_screenshot_no_text.png">
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
.bg {
|
||||
opacity: 0.35!important;
|
||||
}
|
||||
</style>
|
||||
<noscript>
|
||||
<style>
|
||||
.i88x31:hover {
|
||||
transform: scale(2);
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
<div id="everythingHelper">
|
||||
<img src="/static/images/fl_screenshot_no_text.png" class="bg">
|
||||
<header>
|
||||
<div>
|
||||
<h1>Adrian Victor:Blog</h1>
|
||||
<a id="headerSubtitle"><i>Fanasy is not a crime, find your castle in the sky.</i></a>
|
||||
<script>
|
||||
const headeri18n =
|
||||
{
|
||||
by: "by",
|
||||
options: "Options",
|
||||
hideBackground: "Hide background",
|
||||
back: "back",
|
||||
permissionIssue: "Permission issue",
|
||||
permissionIssueNotificationContent: "Unable to continue playing background music, please enable audio <b>autoplay</b> for this website.",
|
||||
notificationDefaultHint: "<b>Click to dismiss</b>",
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<div id="linksHelper">
|
||||
<div id="music">
|
||||
</div>
|
||||
<ul id="headerLinks">
|
||||
<a href="/en/">home</a>
|
||||
<a href="/en/blog/">blog</a>
|
||||
<a href="/en/misc/">misc</a>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
<div id="mainHelper">
|
||||
|
||||
|
||||
|
||||
<main>
|
||||
<article>
|
||||
<div id="postHeader">
|
||||
<h1>Installing FL Studio on linux.</h1>
|
||||
<p>Adrian Victor - <b>4/19/2026</b> (last edited in 4/23/2026)</p>
|
||||
|
||||
Also available in other languages:
|
||||
|
||||
<li class="inlineList">
|
||||
<a href="/posts/instalando-fl-studio-no-linux/" hreflang="pt">
|
||||
português
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Prologue</h2>
|
||||
<p>Since I permanently moved to Linux in 2024, I have been impressed by the unwavering ability of the open-source community to bring to life in Linux complex software originally made for Windows. However, one of the programs cursed with the most stubborn and abstract errors in the old guard of Wine is FL Studio, a characteristic that made me, for a long time, think that Image-Line's DAW would not run at all on the penguin's system.</p>
|
||||
<p>It turns out that FL runs on Linux, and runs very well, considering its complexity. Disregarding some visual problems, some VSTs that simply don't run, and a workaround to run 32-bit plugins, the experience of using FL Studio on Linux is quite solid. It seems that Valve, Wine, and the open-source community are not messing around.</p>
|
||||
<p>Before getting into the formalities, I would like to define the scope of this tutorial. I'm making it with everything that fits in my recent memory working with FL on Linux. But it's also not a static post; if something is missing, send me an email and I'll update it.</p>
|
||||
|
|
@ -59,4 +145,10 @@ backgroundOpacity: .35
|
|||
<h2>Conclusions</h2>
|
||||
<p>I'm not the most apt person to say how far the DAW's usability extends on Linux; I'm far from an advanced FL user. But, for your information, I was able to produce the track <a href="https://margarina.bandcamp.com/album/velkommen">Velkommen</a> entirely on the penguin's system and have no intention of going back to Windows.</p>
|
||||
<p>It's really inconvenient when one plugin or another doesn't work, when I have to create a Fruity Wrapper before using a 32-bit plugin, or when I think that maybe the DAW could perform a little better natively on Windows. However, for me, it's a very fair price to pay to mix into my music a little bit of that ideology juice that is challenging myself not to use Microsoft's system.</p>
|
||||
<p>I hope you also find that comfort—not in convenience, but in challenging the mold with intention. Eccentricity worthy of an artist.</p>
|
||||
<p>I hope you also find that comfort—not in convenience, but in challenging the mold with intention. Eccentricity worthy of an artist.</p>
|
||||
</article>
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
let data = {
|
||||
layout: "_includes/post.njk",
|
||||
eleventyComputed: {
|
||||
lastModified: function(data) {
|
||||
const fs = require('fs');
|
||||
const stats = fs.statSync(data.page.inputPath);
|
||||
return stats.mtime;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = data;
|
||||
|
|
@ -1,13 +1,99 @@
|
|||
---
|
||||
postTitle: "Sobre as recentes mudanças nos requisitos de distribuição de apps no sistema Android feitas pela Google."
|
||||
postId: developer-verification
|
||||
layout: post.njk
|
||||
date: 2025-08-30
|
||||
background: android-jellybean.jpg
|
||||
backgroundOpacity: .35
|
||||
langKey: pt
|
||||
---
|
||||
<h2>Recapitulando</h2>
|
||||
<!--
|
||||
_ _ _
|
||||
| |_ ___ _ __ | | ___ _ _ __ ___ __ _ __ ____ _ ___ | |__ ___ _ __ ___
|
||||
| __/ _ \ '_ \| |/ / | | | '_ ` _ \ / _` | \ \ /\ / / _` / __| | '_ \ / _ \ '__/ _ \
|
||||
| || __/ | | | <| |_| | | | | | | (_| | \ V V / (_| \__ \ | | | | __/ | | __/
|
||||
\__\___|_| |_|_|\_\\__,_|_| |_| |_|\__,_| \_/\_/ \__,_|___/ |_| |_|\___|_| \___|
|
||||
|
||||
-->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="pt">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Adrian Victor - Sobre as recentes mudanças nos requisitos de distribuição de apps no sistema Android feitas pela Google.</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/static/main.css?fixcache=1">
|
||||
<script type="module" src="/static/scripts/ccd.js"></script>
|
||||
<script type="module" src="/static/scripts/music.js" defer></script>
|
||||
<script type="module" src="/static/scripts/88x31.js" defer></script>
|
||||
<script type="module" src="/static/scripts/tips.js" defer></script>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/static/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/static/favicon-16x16.png">
|
||||
<link rel="manifest" href="/static/site.webmanifest">
|
||||
<script src="https://keepandroidopen.org/banner.js" defer></script>
|
||||
<meta property="og:title" content="Adrian Victor - Sobre as recentes mudanças nos requisitos de distribuição de apps no sistema Android feitas pela Google.">
|
||||
<meta property="og:description" content="Website/blog pessoal de Adrian Victor.">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://adrianvic.github.io/posts/verificacao-de-desenvolvedor-no-android/">
|
||||
<meta property="og:image" content="https://adrianvic.github.io/static/images/android-jellybean.jpg">
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
.bg {
|
||||
opacity: 0.35!important;
|
||||
}
|
||||
</style>
|
||||
<noscript>
|
||||
<style>
|
||||
.i88x31:hover {
|
||||
transform: scale(2);
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
<div id="everythingHelper">
|
||||
<img src="/static/images/android-jellybean.jpg" class="bg">
|
||||
<header>
|
||||
<div>
|
||||
<h1>Adrian Victor:Blog</h1>
|
||||
<a id="headerSubtitle"><i>Fanasy is not a crime, find your castle in the sky.</i></a>
|
||||
<script>
|
||||
const headeri18n =
|
||||
{
|
||||
by: "por",
|
||||
options: "Opções",
|
||||
hideBackground: "Esconder imagem de fundo",
|
||||
back: "voltar",
|
||||
permissionIssue: "Problema de permissão",
|
||||
permissionIssueNotificationContent: "Não foi possivel continuar tocando a música de fundo, por favor habilite <b>reprodução automática</b> de áudio para esse website.",
|
||||
notificationDefaultHint: "<b>Clique para ignorar</b>",
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<div id="linksHelper">
|
||||
<div id="music">
|
||||
</div>
|
||||
<ul id="headerLinks">
|
||||
<a href="/pt/">início</a>
|
||||
<a href="/pt/blog/">blog</a>
|
||||
<a href="/pt/misc/">misc</a>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
<div id="mainHelper">
|
||||
|
||||
|
||||
|
||||
<main>
|
||||
<article>
|
||||
<div id="postHeader">
|
||||
<h1>Sobre as recentes mudanças nos requisitos de distribuição de apps no sistema Android feitas pela Google.</h1>
|
||||
<p>Adrian Victor - <b>8/29/2025</b> (editado por último em 4/23/2026)</p>
|
||||
|
||||
Também disponível em outros idiomas:
|
||||
|
||||
<li class="inlineList">
|
||||
<a href="/posts/android-developer-verification/" hreflang="en">
|
||||
english
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Recapitulando</h2>
|
||||
|
||||
<p>Android é aquele sistema operacional open-source que funciona bem para os usuários, e que os desenvolvedores amam. Sempre conhecido por quebrar barreiras e por ser aberto, expansível, versátil e até amigável com os mais nerds, coisa que nem todo sistema tem a cara e coragem de ser (iOS, Windows Phone). É assim que, por muito tempo, o Android foi visto em relação aos seus concorrentes: Um suspiro de ar puro em relação às práticas abusivas de empresas como a Apple. Mas parece que o Android que cultivamos por duas décadas não cabe mais no bolso dos executivos da Google, é livre demais, e isso criou barreiras éticas e técnicas no lucrativo caminho de exploração adotado pela sua desenvolvedora.</p>
|
||||
|
||||
|
|
@ -47,4 +133,10 @@ langKey: pt
|
|||
|
||||
<p>Devemos ficar atentos a como essas novas políticas vão ser aplicadas, e como as mesmas afetarão o ecossistema do Android. Uma consequência inevitável das mudanças é que um número inestimável de aplicações abandonadas pelos desenvolvedores, que, se não fosse pelos novos requisitos, seriam perfeitamente funcionais serão perdidas de um dia para o outro. Nem todo software antigo se conecta à internet, nem todo software antigo representa um perigo constante ao usuário. A Google está tirando do usuário experiente a opção de assumir a responsabilidade e dizer: "Eu sei o que estou fazendo!", nos segurando como crianças, como se soubessem o que é melhor para todos.</p>
|
||||
|
||||
<p>O Android comercializado nos celulares é baseado no <abbr title="Android Open Source Project">AOSP</abbr>, o que significa que a força vital do Android é aberta, e isso a Google ainda não tirou dos usuários. Portanto pretendo fazer um outro post explicando como você pode recuperar o controle do seu dispositivo por meio de modificações no sistema, da forma mais simples, segura e estável possível, até as formas mais avançadas, caso você se sinta confiante.</p>
|
||||
<p>O Android comercializado nos celulares é baseado no <abbr title="Android Open Source Project">AOSP</abbr>, o que significa que a força vital do Android é aberta, e isso a Google ainda não tirou dos usuários. Portanto pretendo fazer um outro post explicando como você pode recuperar o controle do seu dispositivo por meio de modificações no sistema, da forma mais simples, segura e estável possível, até as formas mais avançadas, caso você se sinta confiante.</p>
|
||||
</article>
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
107
pt/blog/index.html
Normal file
107
pt/blog/index.html
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
<!--
|
||||
_ _ _
|
||||
| |_ ___ _ __ | | ___ _ _ __ ___ __ _ __ ____ _ ___ | |__ ___ _ __ ___
|
||||
| __/ _ \ '_ \| |/ / | | | '_ ` _ \ / _` | \ \ /\ / / _` / __| | '_ \ / _ \ '__/ _ \
|
||||
| || __/ | | | <| |_| | | | | | | (_| | \ V V / (_| \__ \ | | | | __/ | | __/
|
||||
\__\___|_| |_|_|\_\\__,_|_| |_| |_|\__,_| \_/\_/ \__,_|___/ |_| |_|\___|_| \___|
|
||||
|
||||
-->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="pt">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Adrian Victor</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/static/main.css?fixcache=1">
|
||||
<script type="module" src="/static/scripts/ccd.js"></script>
|
||||
<script type="module" src="/static/scripts/music.js" defer></script>
|
||||
<script type="module" src="/static/scripts/88x31.js" defer></script>
|
||||
<script type="module" src="/static/scripts/tips.js" defer></script>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/static/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/static/favicon-16x16.png">
|
||||
<link rel="manifest" href="/static/site.webmanifest">
|
||||
<script src="https://keepandroidopen.org/banner.js" defer></script>
|
||||
<meta property="og:title" content="Adrian Victor">
|
||||
<meta property="og:description" content="Website/blog pessoal de Adrian Victor.">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://adrianvic.github.io/pt/blog/">
|
||||
<meta property="og:image" content="https://adrianvic.github.io/static/images/bear.jpg">
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
.bg {
|
||||
opacity: .4!important;
|
||||
}
|
||||
</style>
|
||||
<noscript>
|
||||
<style>
|
||||
.i88x31:hover {
|
||||
transform: scale(2);
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
<div id="everythingHelper">
|
||||
<img src="/static/images/bear.jpg" class="bg">
|
||||
<header>
|
||||
<div>
|
||||
<h1>Adrian Victor:Blog</h1>
|
||||
<a id="headerSubtitle"><i>Fanasy is not a crime, find your castle in the sky.</i></a>
|
||||
<script>
|
||||
const headeri18n =
|
||||
{
|
||||
by: "por",
|
||||
options: "Opções",
|
||||
hideBackground: "Esconder imagem de fundo",
|
||||
back: "voltar",
|
||||
permissionIssue: "Problema de permissão",
|
||||
permissionIssueNotificationContent: "Não foi possivel continuar tocando a música de fundo, por favor habilite <b>reprodução automática</b> de áudio para esse website.",
|
||||
notificationDefaultHint: "<b>Clique para ignorar</b>",
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<div id="linksHelper">
|
||||
<div id="music">
|
||||
</div>
|
||||
<ul id="headerLinks">
|
||||
<a href="/pt/">início</a>
|
||||
<a href="/pt/blog/">blog</a>
|
||||
<a href="/pt/misc/">misc</a>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
<div id="mainHelper">
|
||||
|
||||
<main>
|
||||
<p><b>Listando Postagens do Blog:</b></p>
|
||||
<ul>
|
||||
|
||||
|
||||
<li>
|
||||
<p>
|
||||
<a href="/posts/instalando-fl-studio-no-linux/">Instalando FL Studio no Linux.</a><br>
|
||||
<b>4/19/2026</b> (editado por último em 4/23/2026)
|
||||
</p>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<p>
|
||||
<a href="/posts/verificacao-de-desenvolvedor-no-android/">Sobre as recentes mudanças nos requisitos de distribuição de apps no sistema Android feitas pela Google.</a><br>
|
||||
<b>8/29/2025</b> (editado por último em 4/23/2026)
|
||||
</p>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
274
pt/index.html
Normal file
274
pt/index.html
Normal file
|
|
@ -0,0 +1,274 @@
|
|||
<!--
|
||||
_ _ _
|
||||
| |_ ___ _ __ | | ___ _ _ __ ___ __ _ __ ____ _ ___ | |__ ___ _ __ ___
|
||||
| __/ _ \ '_ \| |/ / | | | '_ ` _ \ / _` | \ \ /\ / / _` / __| | '_ \ / _ \ '__/ _ \
|
||||
| || __/ | | | <| |_| | | | | | | (_| | \ V V / (_| \__ \ | | | | __/ | | __/
|
||||
\__\___|_| |_|_|\_\\__,_|_| |_| |_|\__,_| \_/\_/ \__,_|___/ |_| |_|\___|_| \___|
|
||||
|
||||
-->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="pt">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Adrian Victor</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/static/main.css?fixcache=1">
|
||||
<script type="module" src="/static/scripts/ccd.js"></script>
|
||||
<script type="module" src="/static/scripts/music.js" defer></script>
|
||||
<script type="module" src="/static/scripts/88x31.js" defer></script>
|
||||
<script type="module" src="/static/scripts/tips.js" defer></script>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/static/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/static/favicon-16x16.png">
|
||||
<link rel="manifest" href="/static/site.webmanifest">
|
||||
<script src="https://keepandroidopen.org/banner.js" defer></script>
|
||||
<meta property="og:title" content="Adrian Victor">
|
||||
<meta property="og:description" content="Website/blog pessoal de Adrian Victor.">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://adrianvic.github.io/pt/">
|
||||
<meta property="og:image" content="https://adrianvic.github.io/static/images/bear.jpg">
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
.bg {
|
||||
opacity: .4!important;
|
||||
}
|
||||
</style>
|
||||
<noscript>
|
||||
<style>
|
||||
.i88x31:hover {
|
||||
transform: scale(2);
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
<div id="everythingHelper">
|
||||
<img src="/static/images/bear.jpg" class="bg">
|
||||
<header>
|
||||
<div>
|
||||
<h1>Adrian Victor</h1>
|
||||
<a id="headerSubtitle"><i>Fanasy is not a crime, find your castle in the sky.</i></a>
|
||||
<script>
|
||||
const headeri18n =
|
||||
{
|
||||
by: "por",
|
||||
options: "Opções",
|
||||
hideBackground: "Esconder imagem de fundo",
|
||||
back: "voltar",
|
||||
permissionIssue: "Problema de permissão",
|
||||
permissionIssueNotificationContent: "Não foi possivel continuar tocando a música de fundo, por favor habilite <b>reprodução automática</b> de áudio para esse website.",
|
||||
notificationDefaultHint: "<b>Clique para ignorar</b>",
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<div id="linksHelper">
|
||||
<div id="music">
|
||||
</div>
|
||||
<ul id="headerLinks">
|
||||
<a href="/pt/">início</a>
|
||||
<a href="/pt/blog/">blog</a>
|
||||
<a href="/pt/misc/">misc</a>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
<div id="mainHelper">
|
||||
|
||||
|
||||
|
||||
|
||||
<div id="homeSquares">
|
||||
</div>
|
||||
<main>
|
||||
<script src="/static/scripts/home.js" defer></script>
|
||||
<noscript><style>
|
||||
.hs {
|
||||
display: unset!important;
|
||||
}
|
||||
#homeSquares {
|
||||
display: none;
|
||||
}
|
||||
</style></noscript>
|
||||
|
||||
<div class="hs" id="hsDefault">
|
||||
<div class="box pageHeaderBox">
|
||||
<h1 id="homeTitle">Bem-vindo</h1>
|
||||
<p>Parece que você encontrou meu website! Olá, sou <b>Adrian Victor</b> (ou <b>tenkuma</b>), um cara brasileiro que gosta de mexer com computadores, programas de computadores e <i>enimatpirtlitemídios</i>.</p>
|
||||
<div class="homeBadgesBox">
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/tenkuma.gif" data-tip="<b>Clique para expandir</b> (tenkuma.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/anybrowser6.gif" data-tip="<b>Clique para expandir</b> (anybrowser6.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/ai.gif" data-tip="<b>Clique para expandir</b> (ai.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/WEBP.gif" data-tip="<b>Clique para expandir</b> (WEBP.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/rainbowrain.gif" data-tip="<b>Clique para expandir</b> (rainbowrain.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/blasphemy.gif" data-tip="<b>Clique para expandir</b> (blasphemy.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/css3.gif" data-tip="<b>Clique para expandir</b> (css3.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/best_viewed_with_open_eyes.gif" data-tip="<b>Clique para expandir</b> (best_viewed_with_open_eyes.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/gnu-linux.gif" data-tip="<b>Clique para expandir</b> (gnu-linux.gif)">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<h2>Sobre Mim</h1>
|
||||
<p>
|
||||
Meu nome é Adrian Victor, mas on-line eu uso o nickname tenkuma. Estou no último ano do ensino médio e estudo informática. Meus hobbies são escutar e produzir música, programação, selfhosting, Linux, e muito mais.
|
||||
</p>
|
||||
<p>Tenkuma, ou 天くま em japonês, significa urso celestial e foi um nome dado a mim por um amigo que eu já perdi contato há muito tempo. Sakata se foi, mas o nome ficou e se tornou parte integral da personalidade do meu eu digital até hoje.</p>
|
||||
<h2>Redes Sociais e Contato</h1>
|
||||
<p>
|
||||
Estou publicamente disponível no Mastodon <a href='https://mstdn.social/@tenkuma'>(@tenkuma@mstdn.social)</a>,
|
||||
GitHub <a href='https://github.com/adrianvic'>(adrianvic)</a>,
|
||||
Disroot Git <a href='https://git.disroot.org/adrianvictor'>(adrianvictor)</a>,
|
||||
Discord <a href='https://discord.com/users/681643259764015116'>(@adrianvic)</a>,
|
||||
YouTube <a href='https://www.youtube.com/@adrianvictor8'>(@adrianvictor8)</a>,
|
||||
BitView <a href='https://www.bitview.net/user/tenkuma'>(tenkuma)</a>,
|
||||
Modrinth <a href='https://modrinth.com/user/tenkumabear'>(tenkumabear)</a>
|
||||
e XMPP <a href='xmpp:adrianvictor@disroot.org'>(adrianvictor@disroot.org)</a>.
|
||||
</p>
|
||||
<p>Você pode enviar um correio eletrônico para <a href="mailto:adrianvictor@disroot.org">(adrianvictor@disroot.org)</a> ou me contactar por qualquer outro meio citado acima. Para assuntos relativos a projetos específicos, verifique o campo de contato do projeto, caso não haja um adicione <i>+nomedoprojeto</i> ao meu endereço de E-mail (exemplo: adrianvictor+projetolegal@disroot.org).</p>
|
||||
</div>
|
||||
|
||||
<div class="hs" id="hsMusic">
|
||||
<div class="box pageHeaderBox">
|
||||
<h1>Música</h1>
|
||||
<p>Sempre amei música, e tenho achado produção musical algo muito interessante ultimamente. Publico minhas músicas como <i>tenkuma</i>, junto com meus amigos formei a <a href="https://margarina-records.rf.gd">Margarina Records</a>—uma label amadora.</p>
|
||||
<p>Você pode conferir minhas músicas mais recentes no meu perfil do <a href="https://genius.com/tenkuma">Genius</a>.</p>
|
||||
<div class="homeBadgesBox">
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/rave.gif" data-tip="<b>Clique para expandir</b> (rave.gif)">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/happymix.gif" data-tip="<b>Clique para expandir</b> (happymix.gif)">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="hsMusicCard">
|
||||
|
||||
<div class="youtubeCardHolderHelper">
|
||||
<div class="youtubeCardHolder">
|
||||
<a href="https://margarina.bandcamp.com/album/velkommen">
|
||||
<div class="blogpostYoutubeVideo" style="border-color: #482948;">
|
||||
<img src="/static/images/songs/velkommen.jpg">
|
||||
<div class="videoHeader">
|
||||
<!-- <p class="alsoAvailable">Também disponível em vídeo:</p> -->
|
||||
<h2 class="videoTitle" style="color: #482948;">Velkommen</h2>
|
||||
<p>Bandcamp (5:39)</p>
|
||||
</div>
|
||||
<!-- <p class="goLabel">ir</p> -->
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="hs" id="hsVideo">
|
||||
<div class="box pageHeaderBox">
|
||||
<h1>Vídeos</h1>
|
||||
<p>Eu faço vídeos para o <a href='${globalValues.youtube.url}'>meu canal do YouTube</a>. Não posto regularmente; não tem calendário—apenas eu mostrando alguma coisa em vídeo.</p>
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
<div class="youtubeCardHolderHelper">
|
||||
<div class="youtubeCardHolder">
|
||||
<a href="https://www.youtube.com/watch?v=6bnNAnSY9Uo">
|
||||
<div class="blogpostYoutubeVideo" >
|
||||
<img src="/static/images/thumbnails/fl_studio_linux.png">
|
||||
<div class="videoHeader">
|
||||
<!-- <p class="alsoAvailable">Também disponível em vídeo:</p> -->
|
||||
<h2 class="videoTitle" >Como instalar o FL Studio no Linux?</h2>
|
||||
<p>YouTube (5:53)</p>
|
||||
</div>
|
||||
<!-- <p class="goLabel">ir</p> -->
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="hs" id="hsCode">
|
||||
<div class="box pageHeaderBox">
|
||||
<h1>Software</h1>
|
||||
<p>Estou estudando informática no IFC (SC, Brazil) mas no meu tempo livre tenho projetos como programas de computador, plugins para Minecraft, servidores Minecraft, etc... Todos meus projetos públicos estão disponíveis no meu <a href="https://github.com/adrianvic">perfil do GitHub</a>.</p>
|
||||
|
||||
</div>
|
||||
<hr>
|
||||
<div class="hsProjects">
|
||||
|
||||
<div class="hsProject">
|
||||
<div class="hsProjectHeader">
|
||||
<div class="hsProjectImage"><img src="/static/images/jamfish-wide.png" alt="Jamfish"></div>
|
||||
<a href="https://github.com/adrianvic/jamfish" class="hsProjectHeaderIcon">
|
||||
<img src="/static/visual/github.svg" class="invertedc">
|
||||
</a>
|
||||
</div>
|
||||
<div class="hsProjectContent">
|
||||
<p>Reprodutor de música nativo para dispositivos Android que se conecta a servidores de mídia Jellyfin. O código é baseado no repositório arquivado do Gelli, que por sua vez se baseia em uma versão antiga do Phonograph.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="hsProject">
|
||||
<div class="hsProjectHeader">
|
||||
<div class="hsProjectImage"><img src="/static/images/itemeconomy2-wide.png" alt="ItemEconomy"></div>
|
||||
<a href="https://github.com/adrianvic/ItemEconomy" class="hsProjectHeaderIcon">
|
||||
<img src="/static/visual/github.svg" class="invertedc">
|
||||
</a>
|
||||
</div>
|
||||
<div class="hsProjectContent">
|
||||
<p>Este plugin PaperMC integra-se ao VaultUnlocked para fornecer um sistema de economia único baseado em itens para o seu servidor Minecraft. Em vez de depender apenas de saldos virtuais, os jogadores usam itens do jogo como moeda física, adicionando uma camada de imersão e realismo à sua economia.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="hsProject">
|
||||
<div class="hsProjectHeader">
|
||||
<div class="hsProjectImage"><img src="/static/images/eye_of_nemesis.png" alt="Eye of Nemesis"></div>
|
||||
<a href="https://github.com/adrianvic/NemesisEye" class="hsProjectHeaderIcon">
|
||||
<img src="/static/visual/github.svg" class="invertedc">
|
||||
</a>
|
||||
</div>
|
||||
<div class="hsProjectContent">
|
||||
<p>Eye of Nemesis é um plugin que permite aos administradores de servidores escrever políticas que negarão ou permitirão (lista negra/branca) que os jogadores façam coisas específicas com base no valor dos nós.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="hsProject">
|
||||
<div class="hsProjectHeader">
|
||||
<div class="hsProjectImage"><img src="/static/images/pestowikifullwhite.png" alt="PestoWiki"></div>
|
||||
<a href="https://github.com/Margarina-not-butter/PestoWiki" class="hsProjectHeaderIcon">
|
||||
<img src="/static/visual/github.svg" class="invertedc">
|
||||
</a>
|
||||
</div>
|
||||
<div class="hsProjectContent">
|
||||
<p>Cliente personalizável multiplataforma para wikis escrito em Python usando PySide6 (QT).</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
1589
pt/misc/88x31/index.html
Normal file
1589
pt/misc/88x31/index.html
Normal file
File diff suppressed because it is too large
Load diff
370
pt/misc/bookmarks/index.html
Normal file
370
pt/misc/bookmarks/index.html
Normal file
|
|
@ -0,0 +1,370 @@
|
|||
<!--
|
||||
_ _ _
|
||||
| |_ ___ _ __ | | ___ _ _ __ ___ __ _ __ ____ _ ___ | |__ ___ _ __ ___
|
||||
| __/ _ \ '_ \| |/ / | | | '_ ` _ \ / _` | \ \ /\ / / _` / __| | '_ \ / _ \ '__/ _ \
|
||||
| || __/ | | | <| |_| | | | | | | (_| | \ V V / (_| \__ \ | | | | __/ | | __/
|
||||
\__\___|_| |_|_|\_\\__,_|_| |_| |_|\__,_| \_/\_/ \__,_|___/ |_| |_|\___|_| \___|
|
||||
|
||||
-->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="pt">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Adrian Victor</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/static/main.css?fixcache=1">
|
||||
<script type="module" src="/static/scripts/ccd.js"></script>
|
||||
<script type="module" src="/static/scripts/music.js" defer></script>
|
||||
<script type="module" src="/static/scripts/88x31.js" defer></script>
|
||||
<script type="module" src="/static/scripts/tips.js" defer></script>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/static/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/static/favicon-16x16.png">
|
||||
<link rel="manifest" href="/static/site.webmanifest">
|
||||
<script src="https://keepandroidopen.org/banner.js" defer></script>
|
||||
<meta property="og:title" content="Adrian Victor">
|
||||
<meta property="og:description" content="Website/blog pessoal de Adrian Victor.">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://adrianvic.github.io/pt/misc/bookmarks/">
|
||||
<meta property="og:image" content="https://adrianvic.github.io/static/images/towers.jpg">
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
.bg {
|
||||
opacity: 0.2!important;
|
||||
}
|
||||
</style>
|
||||
<noscript>
|
||||
<style>
|
||||
.i88x31:hover {
|
||||
transform: scale(2);
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
<div id="everythingHelper">
|
||||
<img src="/static/images/towers.jpg" class="bg">
|
||||
<header>
|
||||
<div>
|
||||
<h1>Adrian Victor</h1>
|
||||
<a id="headerSubtitle"><i>Fanasy is not a crime, find your castle in the sky.</i></a>
|
||||
<script>
|
||||
const headeri18n =
|
||||
{
|
||||
by: "por",
|
||||
options: "Opções",
|
||||
hideBackground: "Esconder imagem de fundo",
|
||||
back: "voltar",
|
||||
permissionIssue: "Problema de permissão",
|
||||
permissionIssueNotificationContent: "Não foi possivel continuar tocando a música de fundo, por favor habilite <b>reprodução automática</b> de áudio para esse website.",
|
||||
notificationDefaultHint: "<b>Clique para ignorar</b>",
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<div id="linksHelper">
|
||||
<div id="music">
|
||||
</div>
|
||||
<ul id="headerLinks">
|
||||
<a href="/pt/">início</a>
|
||||
<a href="/pt/blog/">blog</a>
|
||||
<a href="/pt/misc/">misc</a>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
<div id="mainHelper">
|
||||
|
||||
|
||||
<main>
|
||||
<div class="box pageHeaderBox">
|
||||
<h1>Favoritos</h1>
|
||||
<p>Essa é a lista de links favoritos curada por mim, dividida em seções para facilitar a navegação ;-)</p>
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/BOOKMARKthispageNOW.png" data-tip="<b>Clique para expandir</b> (BOOKMARKthispageNOW.png)">
|
||||
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
<div>
|
||||
<h2>Downloads</h2>
|
||||
|
||||
<div class="box favorites88x31Box">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/iglooftp.gif" data-tip="<b>Clique para expandir</b> (iglooftp.gif)">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/eftpbutton.gif" data-tip="<b>Clique para expandir</b> (eftpbutton.gif)">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<dl>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://malwarewatch.org/">MalwareWatch</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
Website do Enderman. Tem download de vários softwares úteis, imagens de sistemas operacionais e malware.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://free-images.com/">Free Images</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
Pesquise por milhões de imagens, artes e vetores. Todas as imagens são de domínio público ou sobre CC0. Livre para baixar e livre para usar.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://88x31.nl/">88x31</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
Essa é uma coleção de mais de 6500 GIFs e PNGs no formato 88x31. No final dos anos 1990 e começo dos 2000 era muito comum usar essas imagens no seu site pessoal.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/WEBP.gif" data-tip="<b>Clique para expandir</b> (WEBP.gif)">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/blank.gif" data-tip="<b>Clique para expandir</b> (blank.gif)">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
|
||||
<div>
|
||||
<h2>Perfis</h2>
|
||||
|
||||
<dl>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://www.youtube.com/@mrnandokk">Mr. Nando</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
Meu amigo Fernando, ele faz músicas e vídeos de Minecraft e speedrun.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://enderman.ch/">Endermanch</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
Andrew é um engenheiro de software, entusiasta de malware e, mais importante, uma estranha e alta criatura. Cresci com os seus videos e ele é uma grande inspiração para mim.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
|
||||
<div>
|
||||
<h2>Ferramentas</h2>
|
||||
|
||||
<dl>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://excalidraw.com/">Excalidraw</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
Quadro branco sem distrações.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://postimages.org/">Postimages</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
Gere links permantes de suas imagens para forums, blogs e redes sociais.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://github.com/gorhill/uBlock#ublock-origin">uBlock Origin</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
Um bloqueador eficiente para Chromium e Firefox. Rápido e pequeno.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/ublock-now.png" data-tip="<b>Clique para expandir</b> (ublock-now.png)">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
|
||||
<div>
|
||||
<h2>Jogos</h2>
|
||||
|
||||
<div class="box favorites88x31Box">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/gb.gif" data-tip="<b>Clique para expandir</b> (gb.gif)">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/amd_powered.gif" data-tip="<b>Clique para expandir</b> (amd_powered.gif)">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<dl>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://www.steamgriddb.com/">SteamGridDB</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
Baixe e compartilhe recursos visuais de jogos e personalize sua biblioteca de jogos.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
|
||||
<div>
|
||||
<h2>Música</h2>
|
||||
|
||||
<div class="box favorites88x31Box">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/rave.gif" data-tip="<b>Clique para expandir</b> (rave.gif)">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/2014-rave.gif" data-tip="<b>Clique para expandir</b> (2014-rave.gif)">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/wmpfree.gif" data-tip="<b>Clique para expandir</b> (wmpfree.gif)">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/wmp.gif" data-tip="<b>Clique para expandir</b> (wmp.gif)">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/wmp9.gif" data-tip="<b>Clique para expandir</b> (wmp9.gif)">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/wmp10.gif" data-tip="<b>Clique para expandir</b> (wmp10.gif)">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/wmp11.gif" data-tip="<b>Clique para expandir</b> (wmp11.gif)">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/ffmpeg.gif" data-tip="<b>Clique para expandir</b> (ffmpeg.gif)">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/ymusic.gif" data-tip="<b>Clique para expandir</b> (ymusic.gif)">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<dl>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://radio.cvgm.net/demovibes/">CVGM Radio</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
Seu lar para música relacionada a video games, demo scene e computadores.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
|
||||
<div>
|
||||
<h2>Pirataria</h2>
|
||||
|
||||
<div class="box favorites88x31Box">
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/piracy.png" data-tip="<b>Clique para expandir</b> (piracy.png)">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<dl>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://nyaa.si/">Nyaa</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
Um tracker de animes, mangás e coisas relacionadas.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
|
||||
|
||||
<img class="i88x31" src="/static/images/88x31/rukia.gif" data-tip="<b>Clique para expandir</b> (rukia.gif)">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://lucida.to/">Lucida</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
Com Lucida, você pode baixar musica diretamente de Qobuz, Tidal, Soundcloud, Deezer, Amazon Music, e Yandex Music em alta qualidade de graça. Sem pegadinhas, sem anúncios obrigatórios, sem enrolação. Como que funciona?
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
<div class="favoritesDefinitionListItem">
|
||||
<dt><a href="https://doubledouble.top/">DoubleDouble</a></dt>
|
||||
<hr class="favoritesDivider">
|
||||
<dd>
|
||||
Baixe musica diretamente de Qobuz, Tidal, Soundcloud, Deezer, Amazon Music, e Yandex Music em alta qualidade de graça.
|
||||
<div class="favorite88x31Box">
|
||||
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
113
pt/misc/index.html
Normal file
113
pt/misc/index.html
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
<!--
|
||||
_ _ _
|
||||
| |_ ___ _ __ | | ___ _ _ __ ___ __ _ __ ____ _ ___ | |__ ___ _ __ ___
|
||||
| __/ _ \ '_ \| |/ / | | | '_ ` _ \ / _` | \ \ /\ / / _` / __| | '_ \ / _ \ '__/ _ \
|
||||
| || __/ | | | <| |_| | | | | | | (_| | \ V V / (_| \__ \ | | | | __/ | | __/
|
||||
\__\___|_| |_|_|\_\\__,_|_| |_| |_|\__,_| \_/\_/ \__,_|___/ |_| |_|\___|_| \___|
|
||||
|
||||
-->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="pt">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Adrian Victor</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/static/main.css?fixcache=1">
|
||||
<script type="module" src="/static/scripts/ccd.js"></script>
|
||||
<script type="module" src="/static/scripts/music.js" defer></script>
|
||||
<script type="module" src="/static/scripts/88x31.js" defer></script>
|
||||
<script type="module" src="/static/scripts/tips.js" defer></script>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/static/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/static/favicon-16x16.png">
|
||||
<link rel="manifest" href="/static/site.webmanifest">
|
||||
<script src="https://keepandroidopen.org/banner.js" defer></script>
|
||||
<meta property="og:title" content="Adrian Victor">
|
||||
<meta property="og:description" content="Website/blog pessoal de Adrian Victor.">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://adrianvic.github.io/pt/misc/">
|
||||
<meta property="og:image" content="https://adrianvic.github.io/static/images/bear.jpg">
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
.bg {
|
||||
opacity: .4!important;
|
||||
}
|
||||
</style>
|
||||
<noscript>
|
||||
<style>
|
||||
.i88x31:hover {
|
||||
transform: scale(2);
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
<div id="everythingHelper">
|
||||
<img src="/static/images/bear.jpg" class="bg">
|
||||
<header>
|
||||
<div>
|
||||
<h1>Adrian Victor:Misc</h1>
|
||||
<a id="headerSubtitle"><i>Fanasy is not a crime, find your castle in the sky.</i></a>
|
||||
<script>
|
||||
const headeri18n =
|
||||
{
|
||||
by: "por",
|
||||
options: "Opções",
|
||||
hideBackground: "Esconder imagem de fundo",
|
||||
back: "voltar",
|
||||
permissionIssue: "Problema de permissão",
|
||||
permissionIssueNotificationContent: "Não foi possivel continuar tocando a música de fundo, por favor habilite <b>reprodução automática</b> de áudio para esse website.",
|
||||
notificationDefaultHint: "<b>Clique para ignorar</b>",
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<div id="linksHelper">
|
||||
<div id="music">
|
||||
</div>
|
||||
<ul id="headerLinks">
|
||||
<a href="/pt/">início</a>
|
||||
<a href="/pt/blog/">blog</a>
|
||||
<a href="/pt/misc/">misc</a>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
<div id="mainHelper">
|
||||
|
||||
<main>
|
||||
<h1>Miscelâneo</h1>
|
||||
<ul>
|
||||
<dl>
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<a href="/pt/misc/88x31/">
|
||||
88x31
|
||||
</a>
|
||||
</dt>
|
||||
|
||||
<dd>
|
||||
|
||||
Minha coleção de GIFs e imagens 88x31.
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<a href="/pt/misc/bookmarks/">
|
||||
Favoritos
|
||||
</a>
|
||||
</dt>
|
||||
|
||||
<dd>
|
||||
|
||||
Minha coleção de sites e páginas interessantes.
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
</ul>
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,7 +1,78 @@
|
|||
---
|
||||
pageTitle: "Demonstração da API do Prof. Rodrigo Ribeiro"
|
||||
---
|
||||
<style>
|
||||
<!--
|
||||
_ _ _
|
||||
| |_ ___ _ __ | | ___ _ _ __ ___ __ _ __ ____ _ ___ | |__ ___ _ __ ___
|
||||
| __/ _ \ '_ \| |/ / | | | '_ ` _ \ / _` | \ \ /\ / / _` / __| | '_ \ / _ \ '__/ _ \
|
||||
| || __/ | | | <| |_| | | | | | | (_| | \ V V / (_| \__ \ | | | | __/ | | __/
|
||||
\__\___|_| |_|_|\_\\__,_|_| |_| |_|\__,_| \_/\_/ \__,_|___/ |_| |_|\___|_| \___|
|
||||
|
||||
-->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="pt">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Adrian Victor - Demonstração da API do Prof. Rodrigo Ribeiro</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/static/main.css?fixcache=1">
|
||||
<script type="module" src="/static/scripts/ccd.js"></script>
|
||||
<script type="module" src="/static/scripts/music.js" defer></script>
|
||||
<script type="module" src="/static/scripts/88x31.js" defer></script>
|
||||
<script type="module" src="/static/scripts/tips.js" defer></script>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/static/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/static/favicon-16x16.png">
|
||||
<link rel="manifest" href="/static/site.webmanifest">
|
||||
<script src="https://keepandroidopen.org/banner.js" defer></script>
|
||||
<meta property="og:title" content="Adrian Victor - Demonstração da API do Prof. Rodrigo Ribeiro">
|
||||
<meta property="og:description" content="Website/blog pessoal de Adrian Victor.">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://adrianvic.github.io/school/api-rodrigoribeiro/">
|
||||
<meta property="og:image" content="https://adrianvic.github.io/static/images/bear.jpg">
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
.bg {
|
||||
opacity: .4!important;
|
||||
}
|
||||
</style>
|
||||
<noscript>
|
||||
<style>
|
||||
.i88x31:hover {
|
||||
transform: scale(2);
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
<div id="everythingHelper">
|
||||
<img src="/static/images/bear.jpg" class="bg">
|
||||
<header>
|
||||
<div>
|
||||
<h1>Adrian Victor:Trabalhos</h1>
|
||||
<a id="headerSubtitle"><i>Fanasy is not a crime, find your castle in the sky.</i></a>
|
||||
<script>
|
||||
const headeri18n =
|
||||
{
|
||||
by: "por",
|
||||
options: "Opções",
|
||||
hideBackground: "Esconder imagem de fundo",
|
||||
back: "voltar",
|
||||
permissionIssue: "Problema de permissão",
|
||||
permissionIssueNotificationContent: "Não foi possivel continuar tocando a música de fundo, por favor habilite <b>reprodução automática</b> de áudio para esse website.",
|
||||
notificationDefaultHint: "<b>Clique para ignorar</b>",
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<div id="linksHelper">
|
||||
<div id="music">
|
||||
</div>
|
||||
<ul id="headerLinks">
|
||||
<a href="/pt/">início</a>
|
||||
<a href="/pt/blog/">blog</a>
|
||||
<a href="/pt/misc/">misc</a>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
<div id="mainHelper">
|
||||
<style>
|
||||
#mainAPI, #login {
|
||||
display: none;
|
||||
}
|
||||
|
|
@ -11,7 +82,7 @@ pageTitle: "Demonstração da API do Prof. Rodrigo Ribeiro"
|
|||
}
|
||||
</style>
|
||||
<div style="display: flex; gap: 1em; flex-direction: column;">
|
||||
<h1>{{pageTitle}}</h1>
|
||||
<h1>Demonstração da API do Prof. Rodrigo Ribeiro</h1>
|
||||
<p>A API do Prof. Rodrigo Ribeiro permite que o <i>client</i> envie uma imagem, assim retornando o resultado de uma leitura óptica realizada sobre a mesma com inteligência artificial. Esse client lê o resultado e o mostra de forma simples para o usuário.</p>
|
||||
<p><a href="https://api.rodrigoribeiro.net/doc">Mais informações sobre a API podem ser encontradas no seu website.</a></p>
|
||||
<div id="token">Token: Ausente</div>
|
||||
|
|
@ -128,4 +199,8 @@ pageTitle: "Demonstração da API do Prof. Rodrigo Ribeiro"
|
|||
apiDiv.classList.toggle('selected');
|
||||
loginDiv.classList.toggle('selected');
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,13 +1,90 @@
|
|||
---
|
||||
postTitle: "Guia para novatos no IFC."
|
||||
langKey: pt
|
||||
layout: post.njk
|
||||
date: 2026-01-13
|
||||
background: ifc.jpg
|
||||
backgroundOpacity: .35
|
||||
title: Adrian Victor:Escola
|
||||
---
|
||||
<style>
|
||||
<!--
|
||||
_ _ _
|
||||
| |_ ___ _ __ | | ___ _ _ __ ___ __ _ __ ____ _ ___ | |__ ___ _ __ ___
|
||||
| __/ _ \ '_ \| |/ / | | | '_ ` _ \ / _` | \ \ /\ / / _` / __| | '_ \ / _ \ '__/ _ \
|
||||
| || __/ | | | <| |_| | | | | | | (_| | \ V V / (_| \__ \ | | | | __/ | | __/
|
||||
\__\___|_| |_|_|\_\\__,_|_| |_| |_|\__,_| \_/\_/ \__,_|___/ |_| |_|\___|_| \___|
|
||||
|
||||
-->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="pt">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Adrian Victor - Guia para novatos no IFC.</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/static/main.css?fixcache=1">
|
||||
<script type="module" src="/static/scripts/ccd.js"></script>
|
||||
<script type="module" src="/static/scripts/music.js" defer></script>
|
||||
<script type="module" src="/static/scripts/88x31.js" defer></script>
|
||||
<script type="module" src="/static/scripts/tips.js" defer></script>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/static/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/static/favicon-16x16.png">
|
||||
<link rel="manifest" href="/static/site.webmanifest">
|
||||
<script src="https://keepandroidopen.org/banner.js" defer></script>
|
||||
<meta property="og:title" content="Adrian Victor - Guia para novatos no IFC.">
|
||||
<meta property="og:description" content="Website/blog pessoal de Adrian Victor.">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://adrianvic.github.io/school/guia-ifc-novatos/">
|
||||
<meta property="og:image" content="https://adrianvic.github.io/static/images/ifc.jpg">
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
.bg {
|
||||
opacity: 0.35!important;
|
||||
}
|
||||
</style>
|
||||
<noscript>
|
||||
<style>
|
||||
.i88x31:hover {
|
||||
transform: scale(2);
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
<div id="everythingHelper">
|
||||
<img src="/static/images/ifc.jpg" class="bg">
|
||||
<header>
|
||||
<div>
|
||||
<h1>Adrian Victor:Escola</h1>
|
||||
<a id="headerSubtitle"><i>Fanasy is not a crime, find your castle in the sky.</i></a>
|
||||
<script>
|
||||
const headeri18n =
|
||||
{
|
||||
by: "por",
|
||||
options: "Opções",
|
||||
hideBackground: "Esconder imagem de fundo",
|
||||
back: "voltar",
|
||||
permissionIssue: "Problema de permissão",
|
||||
permissionIssueNotificationContent: "Não foi possivel continuar tocando a música de fundo, por favor habilite <b>reprodução automática</b> de áudio para esse website.",
|
||||
notificationDefaultHint: "<b>Clique para ignorar</b>",
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<div id="linksHelper">
|
||||
<div id="music">
|
||||
</div>
|
||||
<ul id="headerLinks">
|
||||
<a href="/pt/">início</a>
|
||||
<a href="/pt/blog/">blog</a>
|
||||
<a href="/pt/misc/">misc</a>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
<div id="mainHelper">
|
||||
|
||||
|
||||
|
||||
<main>
|
||||
<article>
|
||||
<div id="postHeader">
|
||||
<h1>Guia para novatos no IFC.</h1>
|
||||
<p>Adrian Victor - <b>1/12/2026</b> (editado por último em )</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<style>
|
||||
.screenshotBox img {
|
||||
margin: auto;
|
||||
max-width: 80%;
|
||||
|
|
@ -85,4 +162,10 @@ title: Adrian Victor:Escola
|
|||
<h2>Referências</h2>
|
||||
<ul>
|
||||
<li><a href="https://desciclopedia.ws/wiki/Cambori%C3%BA#Instituto_CannabialFederal_Catarinense">https://desciclopedia.ws/wiki/Cambori%C3%BA#Instituto_CannabialFederal_Catarinense</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
</article>
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"layout": "base.njk",
|
||||
"title": "Adrian Victor:Trabalhos",
|
||||
"langKey": "pt"
|
||||
}
|
||||
|
|
@ -1,12 +1,90 @@
|
|||
---
|
||||
postTitle: "Telnet"
|
||||
layout: post.njk
|
||||
date: 2025-08-27
|
||||
background: redes.jpg
|
||||
authors: Adrian Victor & Arthur Borges
|
||||
langKey: en
|
||||
---
|
||||
<script src="/static/scripts/telnetSimulator.js" defer></script>
|
||||
<!--
|
||||
_ _ _
|
||||
| |_ ___ _ __ | | ___ _ _ __ ___ __ _ __ ____ _ ___ | |__ ___ _ __ ___
|
||||
| __/ _ \ '_ \| |/ / | | | '_ ` _ \ / _` | \ \ /\ / / _` / __| | '_ \ / _ \ '__/ _ \
|
||||
| || __/ | | | <| |_| | | | | | | (_| | \ V V / (_| \__ \ | | | | __/ | | __/
|
||||
\__\___|_| |_|_|\_\\__,_|_| |_| |_|\__,_| \_/\_/ \__,_|___/ |_| |_|\___|_| \___|
|
||||
|
||||
-->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Adrian Victor - Telnet</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/static/main.css?fixcache=1">
|
||||
<script type="module" src="/static/scripts/ccd.js"></script>
|
||||
<script type="module" src="/static/scripts/music.js" defer></script>
|
||||
<script type="module" src="/static/scripts/88x31.js" defer></script>
|
||||
<script type="module" src="/static/scripts/tips.js" defer></script>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/static/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/static/favicon-16x16.png">
|
||||
<link rel="manifest" href="/static/site.webmanifest">
|
||||
<script src="https://keepandroidopen.org/banner.js" defer></script>
|
||||
<meta property="og:title" content="Adrian Victor - Telnet">
|
||||
<meta property="og:description" content="Personal website/blog of Adrian Victor.">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://adrianvic.github.io/school/telnet-en/">
|
||||
<meta property="og:image" content="https://adrianvic.github.io/static/images/redes.jpg">
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
.bg {
|
||||
opacity: .4!important;
|
||||
}
|
||||
</style>
|
||||
<noscript>
|
||||
<style>
|
||||
.i88x31:hover {
|
||||
transform: scale(2);
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
<div id="everythingHelper">
|
||||
<img src="/static/images/redes.jpg" class="bg">
|
||||
<header>
|
||||
<div>
|
||||
<h1>Adrian Victor:Trabalhos</h1>
|
||||
<a id="headerSubtitle"><i>Fanasy is not a crime, find your castle in the sky.</i></a>
|
||||
<script>
|
||||
const headeri18n =
|
||||
{
|
||||
by: "by",
|
||||
options: "Options",
|
||||
hideBackground: "Hide background",
|
||||
back: "back",
|
||||
permissionIssue: "Permission issue",
|
||||
permissionIssueNotificationContent: "Unable to continue playing background music, please enable audio <b>autoplay</b> for this website.",
|
||||
notificationDefaultHint: "<b>Click to dismiss</b>",
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<div id="linksHelper">
|
||||
<div id="music">
|
||||
</div>
|
||||
<ul id="headerLinks">
|
||||
<a href="/en/">home</a>
|
||||
<a href="/en/blog/">blog</a>
|
||||
<a href="/en/misc/">misc</a>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
<div id="mainHelper">
|
||||
|
||||
|
||||
|
||||
<main>
|
||||
<article>
|
||||
<div id="postHeader">
|
||||
<h1>Telnet</h1>
|
||||
<p>Adrian Victor & Arthur Borges - <b>8/26/2025</b> (last edited in )</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script src="/static/scripts/telnetSimulator.js" defer></script>
|
||||
<h2>What the protocol is, its function and history</h2>
|
||||
<p>Telnet (from <b>TEL</b>ecommunication <b>NET</b>work) is a TCP/IP stack network protocol that allows remote text-mode communication between computers. Its main function is to provide an interactive session where a user can access and control another device as if they were on a local terminal.</p>
|
||||
<p>Created in 1969, Telnet was one of the first protocols developed for ARPANET (the network that gave rise to the Internet) and became fundamental for system and device administration in the 1970s, 1980s, and 1990s. Over time, it fell out of use due to lack of security, being replaced by more modern alternatives such as SSH (Secure Shell).</p>
|
||||
|
|
@ -58,4 +136,10 @@ Ready to receive commands.
|
|||
<button id="telnetSimulationClientSend">Send</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,12 +1,90 @@
|
|||
---
|
||||
postTitle: "Telnet"
|
||||
layout: post.njk
|
||||
date: 2025-08-27
|
||||
background: redes.jpg
|
||||
authors: Adrian Victor & Arthur Borges
|
||||
langKey: pt
|
||||
---
|
||||
<script src="/static/scripts/telnetSimulator.js" defer></script>
|
||||
<!--
|
||||
_ _ _
|
||||
| |_ ___ _ __ | | ___ _ _ __ ___ __ _ __ ____ _ ___ | |__ ___ _ __ ___
|
||||
| __/ _ \ '_ \| |/ / | | | '_ ` _ \ / _` | \ \ /\ / / _` / __| | '_ \ / _ \ '__/ _ \
|
||||
| || __/ | | | <| |_| | | | | | | (_| | \ V V / (_| \__ \ | | | | __/ | | __/
|
||||
\__\___|_| |_|_|\_\\__,_|_| |_| |_|\__,_| \_/\_/ \__,_|___/ |_| |_|\___|_| \___|
|
||||
|
||||
-->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="pt">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Adrian Victor - Telnet</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/static/main.css?fixcache=1">
|
||||
<script type="module" src="/static/scripts/ccd.js"></script>
|
||||
<script type="module" src="/static/scripts/music.js" defer></script>
|
||||
<script type="module" src="/static/scripts/88x31.js" defer></script>
|
||||
<script type="module" src="/static/scripts/tips.js" defer></script>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/static/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/static/favicon-16x16.png">
|
||||
<link rel="manifest" href="/static/site.webmanifest">
|
||||
<script src="https://keepandroidopen.org/banner.js" defer></script>
|
||||
<meta property="og:title" content="Adrian Victor - Telnet">
|
||||
<meta property="og:description" content="Website/blog pessoal de Adrian Victor.">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://adrianvic.github.io/school/telnet-pt/">
|
||||
<meta property="og:image" content="https://adrianvic.github.io/static/images/redes.jpg">
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
.bg {
|
||||
opacity: .4!important;
|
||||
}
|
||||
</style>
|
||||
<noscript>
|
||||
<style>
|
||||
.i88x31:hover {
|
||||
transform: scale(2);
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
<div id="everythingHelper">
|
||||
<img src="/static/images/redes.jpg" class="bg">
|
||||
<header>
|
||||
<div>
|
||||
<h1>Adrian Victor:Trabalhos</h1>
|
||||
<a id="headerSubtitle"><i>Fanasy is not a crime, find your castle in the sky.</i></a>
|
||||
<script>
|
||||
const headeri18n =
|
||||
{
|
||||
by: "por",
|
||||
options: "Opções",
|
||||
hideBackground: "Esconder imagem de fundo",
|
||||
back: "voltar",
|
||||
permissionIssue: "Problema de permissão",
|
||||
permissionIssueNotificationContent: "Não foi possivel continuar tocando a música de fundo, por favor habilite <b>reprodução automática</b> de áudio para esse website.",
|
||||
notificationDefaultHint: "<b>Clique para ignorar</b>",
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<div id="linksHelper">
|
||||
<div id="music">
|
||||
</div>
|
||||
<ul id="headerLinks">
|
||||
<a href="/pt/">início</a>
|
||||
<a href="/pt/blog/">blog</a>
|
||||
<a href="/pt/misc/">misc</a>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
<div id="mainHelper">
|
||||
|
||||
|
||||
|
||||
<main>
|
||||
<article>
|
||||
<div id="postHeader">
|
||||
<h1>Telnet</h1>
|
||||
<p>Adrian Victor & Arthur Borges - <b>8/26/2025</b> (editado por último em )</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script src="/static/scripts/telnetSimulator.js" defer></script>
|
||||
<h2>O que é o protocolo, sua função e histórico</h2>
|
||||
<p>O Telnet (do inglês <b>TEL</b>ecommunication <b>NET</b>work) é um protocolo de rede da pilha
|
||||
TCP/IP que permite a comunicação remota entre computadores em modo texto. Sua
|
||||
|
|
@ -100,3 +178,10 @@ Pronto para receber comandos.
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</article>
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
---
|
||||
permalink: /static/site.webmanifest
|
||||
---
|
||||
|
||||
{
|
||||
"name": "",
|
||||
"short_name": "",
|
||||
"icons": [
|
||||
{
|
||||
"src": "{{ '/static/android-chrome-192x192.png' | url }}",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png"
|
||||
},
|
||||
{
|
||||
"src": "{{ '/static/android-chrome-512x512.png' | url }}",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png"
|
||||
}
|
||||
],
|
||||
"theme_color": "#ffffff",
|
||||
"background_color": "#ffffff",
|
||||
"display": "standalone"
|
||||
}
|
||||
|
|
@ -5,7 +5,7 @@ document.addEventListener('keydown', function(event) {
|
|||
if (event.code === konamiCode[keyIndex]) {
|
||||
keyIndex++;
|
||||
if (keyIndex === konamiCode.length) {
|
||||
window.location.href = `${rootPrefix}static/toyourdreams.txt`
|
||||
window.location.href = '/static/toyourdreams.txt'
|
||||
keyIndex = 0;
|
||||
}
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ let info = [
|
|||
]
|
||||
|
||||
info.forEach(square => {
|
||||
let rawHTML = `<div class='headerSquare' id='${square[1]}'><img src='${rootPrefix}static/images/${square[2]}' alt='${square[3]}'></div>`;
|
||||
let rawHTML = `<div class='headerSquare' id='${square[1]}'><img src='/static/images/${square[2]}' alt='${square[3]}'></div>`;
|
||||
_homeSquares.innerHTML += rawHTML;
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ const body = document.querySelector("body");
|
|||
|
||||
const musicdiv = document.getElementById("music");
|
||||
musicdiv.innerHTML = `
|
||||
<img src="${rootPrefix}static/images/gears.svg" class="optionsToggle invertedc">
|
||||
<img src="${rootPrefix}static/images/sound-on.png" id="sound">
|
||||
<img src="/static/images/gears.svg" class="optionsToggle invertedc">
|
||||
<img src="/static/images/sound-on.png" id="sound">
|
||||
<select name="song" id="songSelection"></select>
|
||||
`
|
||||
const linksHelper = document.getElementById("linksHelper");
|
||||
|
|
@ -89,7 +89,7 @@ songs.forEach(song => {
|
|||
songElement.classList.add("drawerSong");
|
||||
songElement.dataset.song = song.file;
|
||||
const songImage = document.createElement("img");
|
||||
songImage.src = `${rootPrefix}static/images/songs/${song.artwork}`;
|
||||
songImage.src = `/static/images/songs/${song.artwork}`;
|
||||
songElement.appendChild(songImage);
|
||||
songElement.addEventListener('click', () => {
|
||||
changeSong(song.file);
|
||||
|
|
@ -146,7 +146,7 @@ optionsButton.forEach(button => {
|
|||
});
|
||||
|
||||
// Create the audio object using the current select value
|
||||
let audio = new Audio(`${rootPrefix}static/music/${audioSelect.value}`);
|
||||
let audio = new Audio(`/static/music/${audioSelect.value}`);
|
||||
|
||||
const savedTime = localStorage.getItem("audioTime");
|
||||
const savedVolume = localStorage.getItem("volume");
|
||||
|
|
@ -166,14 +166,14 @@ function play() {
|
|||
showNotification(headeri18n.permissionIssue, headeri18n.permissionIssueNotificationContent, 5000);
|
||||
});;
|
||||
localStorage.setItem("audioPlaying", "true")
|
||||
toggleIMG.src = `${rootPrefix}static/images/sound-on.png`
|
||||
toggleIMG.src = "/static/images/sound-on.png"
|
||||
console.log(`[Music Player] playing ${audioSelect.value}`)
|
||||
}
|
||||
|
||||
function stop() {
|
||||
audio.pause();
|
||||
localStorage.setItem("audioPlaying", "false")
|
||||
toggleIMG.src = `${rootPrefix}static/images/sound-off.png`
|
||||
toggleIMG.src = "/static/images/sound-off.png"
|
||||
}
|
||||
|
||||
function setVolume(volume) {
|
||||
|
|
@ -198,7 +198,7 @@ function changeSong(song) {
|
|||
const wasPlaying = !audio.paused;
|
||||
stop();
|
||||
localStorage.removeItem("audioTime");
|
||||
audio = new Audio(`${rootPrefix}static/music/${song}`);
|
||||
audio = new Audio(`/static/music/${song}`);
|
||||
if (savedVolume) setVolume(savedVolume);
|
||||
console.log(`[Music Player] changing song to ${song}`)
|
||||
localStorage.setItem("song", song);
|
||||
|
|
|
|||
1
static/site.webmanifest
Normal file
1
static/site.webmanifest
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"name":"","short_name":"","icons":[{"src":"/static/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/static/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
|
||||
Loading…
Add table
Add a link
Reference in a new issue