Compare commits

..

69 Commits

Author SHA1 Message Date
cc62d0bb95 chore: deploy to Cloudflare Pages 2025-02-09 12:11:44 +01:00
727ec58600 chore: update vuepress and plugins 2025-02-09 11:57:54 +01:00
333b7a7562 docs: update mastodon link
All checks were successful
deploy / deploy (push) Successful in 3m28s
2024-11-17 14:29:45 +01:00
baf999ea1c docs: update resume
All checks were successful
deploy / deploy (push) Successful in 5m23s
2024-10-01 23:20:02 +02:00
9a92f57986 chore: update metadata 2024-07-09 20:45:36 +02:00
c8ce7ca6da chore(package.json): remove unused packages
All checks were successful
deploy / deploy (push) Successful in 1m30s
2024-06-20 09:33:58 +02:00
d54aabd621 refactor: rework API loader and caching
All checks were successful
deploy / deploy (push) Successful in 2m24s
This commit removes dependency on rxjs.

It also implements better composables to handle data fetching from
remote APIs and caching these values more transparently.

This commit also switches from yarn to npm

It also switches to the official Umami plugin
2024-06-20 09:27:59 +02:00
24d558e0f5 test
All checks were successful
deploy / deploy (push) Successful in 2m51s
2024-02-26 07:38:38 +01:00
bc36bdec90 feat(umami): switch to dedicated Vuepress plugin
All checks were successful
deploy / deploy (push) Successful in 3m24s
2024-02-26 06:51:54 +01:00
1b54860f93 docs(find-me): Update Discord handle
Update content/en/find-me.org
Update content/find-me.org
Update content/lfn/find-me.org
2024-02-26 06:51:27 +01:00
37f9b36b2f feat,docs: add Umami to website, update privacy pages
All checks were successful
deploy / deploy (push) Successful in 2m1s
2024-01-27 18:25:44 +01:00
4b447369c2 chore: switch from Drone to Gitea Actions
All checks were successful
deploy / deploy (push) Successful in 2m8s
2024-01-27 16:55:30 +01:00
cf1147204c chore: update Vuepress, add search bar 2024-01-27 16:15:57 +01:00
1ff33bfd64 chore: update dependencies
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-03 19:48:47 +01:00
2496bff82f fix: only subscribe once to observables 2023-11-03 19:48:47 +01:00
6a37029e55 docs: update index and privacy 2023-11-03 19:48:47 +01:00
2f11f5a477 docs: update index in English and French 2023-11-03 19:48:46 +01:00
b84d320908 docs: update content/lfn/index.org 2023-11-03 19:48:40 +01:00
48ec3f49a0 docs(README): update Emacs version on badge 2023-11-03 19:48:40 +01:00
0fa7aa7a97 docs(resume): update resume 2023-11-03 19:48:40 +01:00
236e28c14e docs(vocal synth): update ALYS links 2023-11-03 19:48:39 +01:00
ec625ce8a5 Revert "chore: update mastodon account"
This reverts commit 5d88c1855a.
2023-11-03 19:48:39 +01:00
4ae4912268 chore: update mastodon account 2023-11-03 19:48:39 +01:00
7d09cfa8ef docs: update webfinger 2023-11-03 19:48:39 +01:00
fc863eab30 docs: fixed incorrect link to image 2023-11-03 19:48:39 +01:00
1a5565a953 docs: update readme 2023-11-03 19:48:39 +01:00
c1f6a4b110 chore: add two static files
The webfinger is my general Mastodon alias.

I use sometimes the CSS files in my emails to stylize them a bit.
2023-11-03 19:48:39 +01:00
4f0aee4c62 feat: implement Gemini export and deployment 2023-11-03 19:48:39 +01:00
23bbcfabe3 docs: update pinned GitHub repositories 2023-11-03 19:48:39 +01:00
c19d847686 chore: add gitattributes file for orgmode detection in languages of project 2023-11-03 19:48:39 +01:00
e9d890f4dc docs: update README instructions 2023-11-03 19:48:39 +01:00
6eb11a8e09 refactor: simplify code head generation 2023-11-03 19:48:39 +01:00
c0b7ed4984 chore: update CI 2023-11-03 19:48:34 +01:00
cc0a479550 docs: switch from Markdown to orgmode
BREAKING CHANGE: Emacs required to export orgmode files to Markdown
2023-05-11 00:19:47 +02:00
e4014d78d4 docs: fix English spelling
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-08 18:30:12 +02:00
89d2e1b9b3 feat: display API errors
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-08 18:04:30 +02:00
c026ed4c6f docs: update projects page
All checks were successful
continuous-integration/drone/push Build is passing
Remove linguistics projects since it would be a duplicate of the already existing conlanging page
2023-05-08 17:39:44 +02:00
e1180f6227 docs: update find me page 2023-05-08 17:37:29 +02:00
9ee9b2e4c2 docs: update about page 2023-05-08 17:37:29 +02:00
40b88ee4fd feat: change order of pages, set about page to second to last 2023-05-08 17:37:29 +02:00
8b5ce594c5 chore: update fonts 2023-05-08 17:37:20 +02:00
937e618a7c docs: update resume
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-08 16:35:33 +02:00
1885072da2 feat: better repository card
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-08 15:57:45 +02:00
1e738b51b7 docs: better Elefen translation 2023-05-08 15:57:14 +02:00
893544a53c docs: add credits for icons
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-08 15:34:20 +02:00
5fbab2eefc feat: add custom icons to the website
This commit adds icons from various sources as a single font file to the website. Icons can be
inserted with the new Icon component.
2023-05-08 15:33:22 +02:00
9641f40f65 feat: fix missing privacy in sidebar
All checks were successful
continuous-integration/drone/push Build is passing
This commit not only fixes the missing privacy page in the sidebar when the website is in English or
Elefen, but it also simplifies listing all pages available on the website regardless of the
language.
2023-05-08 14:44:10 +02:00
158b61e57c docs: fix headings in project pages
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-08 13:22:18 +02:00
a025f39d5a feat: add link on repository cards to repos
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-08 13:16:58 +02:00
af8ae8aea2 docs: fix typos 2023-05-08 13:16:29 +02:00
a92580cdd3 docs: separate about and privacy pages 2023-05-08 13:16:10 +02:00
09971c0f24 docs: update projets pages 2023-05-08 12:48:56 +02:00
1e3e15ab4e feat: add possibility to list specific repositories
ListRepositories will now fetch repos with FetchRepositories only if no repositories are already
passed to the component in its default slot.
2023-05-08 12:48:56 +02:00
1678100198 feat: improve caching of individual repositories
This commit adds the possibility to provide to the caching component data already known and to be
cached immediately without the need of a callback function. This allows caching individual
repositories without having to rely on additional API calls. However, repos can also be retrieved
individually from the GitHub API based on their full name.
2023-05-08 11:19:41 +02:00
e0bcdb6dd3 refactor(cache): remove unused elements in Cache's script 2023-05-08 10:37:39 +02:00
85da82cd70 feat(cache): improve error message in console
No need to try and give the data found in localStorage, just say what went wrong and move on.
2023-05-08 10:36:19 +02:00
e02a336353 docs: update projects page to use new components
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-08 03:43:36 +02:00
4927ef369a fix: remove debug console.log
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-08 03:40:59 +02:00
620296d22f fix: also apply margin to loader
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-08 03:38:17 +02:00
fea30d5bea feat: nicer styling of repositories and repositories lists
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-08 03:35:28 +02:00
de2f11f8fe feat: add loader spinner to API loader 2023-05-08 03:34:48 +02:00
8cbd1dbf07 feat: remove unused PreviewImage component
All checks were successful
continuous-integration/drone/push Build is passing
This commit removes the PreviewImage component that hasn't been used for quite some time in the
codebase.

BREAKING CHANGE: deletion of PreviewImage component
2023-05-08 03:02:37 +02:00
0a1e9536cd feat: handle API calls and caching through Vue components
BREAKING CHANGE: API calls and cache no longer made in their respective composable
2023-05-08 03:01:17 +02:00
08825d870b feat: properly display GitHub repositories 2023-05-05 00:42:11 +02:00
aa82e265c8 fix: correctly update displayed repos after fetch
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-05 00:38:37 +02:00
28223c44d4 fix: fix website compilation
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-05 00:26:34 +02:00
8a24c9d4b1 docs: update some info on resume
Some checks failed
continuous-integration/drone/push Build is failing
2023-05-04 23:37:47 +02:00
9096788def docs: update social links 2023-05-04 23:25:42 +02:00
7c185dd453 feat: add bases for GitHub API interaction and cache 2023-05-04 23:23:01 +02:00
94 changed files with 7895 additions and 4290 deletions

View File

@@ -1,121 +0,0 @@
---
kind: pipeline
type: docker
name: CD
steps:
- name: restore cache
image: drillster/drone-volume-cache
volumes:
- name: cache
path: /cache
settings:
restore: true
mount:
- ./node_modules
- name: generate
image: node:19-alpine
commands:
- yarn install
- yarn build
depends_on:
- "restore cache"
- name: rebuild cache
image: drillster/drone-volume-cache
volumes:
- name: cache
path: /cache
settings:
rebuild: true
mount:
- ./node_modules
depends_on:
- generate
- name: deploy stable
image: appleboy/drone-scp
settings:
host:
from_secret: ssh_host
target:
from_secret: ssh_target
source: content/.vuepress/dist/*
strip_components: 3
username:
from_secret: ssh_username
password:
from_secret: ssh_password
port:
from_secret: ssh_port
depends_on:
- generate
when:
branch:
- main
event:
exclude:
- pull_request
- name: purge cache stable
image: jetrails/drone-cloudflare-caching
settings:
api_token:
from_secret: cloudflare_cache_api
zone_identifier:
from_secret: phundrak_com_zone_id
action: purge_files
list:
- https://beta.phundrak.com
depends_on:
- "deploy stable"
when:
branch:
- main
event:
exclude:
- pull_request
- name: deploy devel
image: appleboy/drone-scp
settings:
host:
from_secret: ssh_host
target:
from_secret: ssh_target_devel
source: content/.vuepress/dist/*
strip_components: 3
username:
from_secret: ssh_username
password:
from_secret: ssh_password
port:
from_secret: ssh_port
depends_on:
- generate
when:
branch:
- devel
event:
exclude:
- pull_request
- name: purge cache devel
image: jetrails/drone-cloudflare-caching
settings:
api_token:
from_secret: cloudflare_cache_api
zone_identifier:
from_secret: phundrak_com_zone_id
action: purge_files
list:
- https://alpha.phundrak.com
depends_on:
- "deploy devel"
when:
branch:
- devel
event:
exclude:
- pull_request

View File

@@ -11,5 +11,5 @@ trim_trailing_whitespace = true
indent_style = space
indent_size = 2
[*.ts]
[*.{ts,vue}]
quote_type = single

1
.envrc Normal file
View File

@@ -0,0 +1 @@
use nix

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
*.org linguist-detectable=true

50
.github/workflows/deploy.yaml vendored Normal file
View File

@@ -0,0 +1,50 @@
name: deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v4
with:
node-version: 22.x
- run: npm ci
- uses: purcell/setup-emacs@master
with:
version: 29.1
- name: "Export org to md"
run: emacs -Q --script export.el
- run: npm run build
- name: "Deploy to Cloudflare Pages"
uses: cloudflare/pages-action@v1
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.ACCOUNT_ID }}
projectName: phundrak-com
directory: content/.vuepress/dist/
githubToken: ${{ secrets.TOKEN }}
# - name: "Deploy on the Web"
# uses: appleboy/scp-action@v0.1.7
# with:
# host: ${{ secrets.HOST }}
# username: ${{ secrets.USERNAME }}
# key: ${{ secrets.KEY }}
# port: ${{ secrets.PORT }}
# source: content/.vuepress/dist/*
# target: ${{ secrets.DESTPATH }}
# strip_components: 3
# - name: "Deploy on Gemini"
# uses: appleboy/scp-action@v0.1.7
# with:
# host: ${{ secrets.HOST }}
# username: ${{ secrets.USERNAME }}
# key: ${{ secrets.KEY }}
# port: ${{ secrets.PORT }}
# source: gemini/*
# target: ${{ secrets.DESTPATH_GMI }}
# strip_components: 1

2
.gitignore vendored
View File

@@ -2,3 +2,5 @@ node_modules
.temp
.cache
/content/.vuepress/dist/*
*.md
/.yarn/

3
.yarnrc.yml Normal file
View File

@@ -0,0 +1,3 @@
enableMessageNames: false
nodeLinker: node-modules

View File

@@ -1,15 +1,14 @@
#+title: phundrak.com
#+html: <a href="https://www.gnu.org/software/emacs/"><img src="https://img.shields.io/badge/Emacs-30.0.50-blueviolet.svg?style=flat-square&logo=GNU%20Emacs&logoColor=white" /></a>
#+html: <a href="https://www.gnu.org/software/emacs/"><img src="https://img.shields.io/badge/Emacs-29.1-blueviolet.svg?style=flat-square&logo=GNU%20Emacs&logoColor=white" /></a>
#+html: <a href="https://orgmode.org/"><img src="https://img.shields.io/badge/Written%20with-Org%20mode-success?logo=Org&logoColor=white&style=flat-square"/></a>
#+html: <a href="https://v2.vuepress.vuejs.org/"><img src="https://img.shields.io/badge/Framework-Vuepress-42D392?logo=Vue.js&logoColor=white&style=flat-square"/></a>
#+html: <a href="https://beta.phundrak.com"><img src="https://img.shields.io/badge/dynamic/json?label=Website&query=%24%5B%3A1%5D.status&url=https%3A%2F%2Fdrone.phundrak.com%2Fapi%2Frepos%2Fphundrak%2Fphundrak.com%2Fbuilds&style=flat-square&logo=buffer" /></a>
#+html: <a href="https://phundrak.com"><img src="https://img.shields.io/badge/dynamic/json?label=Website&query=%24%5B%3A1%5D.status&url=https%3A%2F%2Fdrone.phundrak.com%2Fapi%2Frepos%2Fphundrak%2Fphundrak.com%2Fbuilds&style=flat-square&logo=buffer" /></a>
* Introduction
This is the repository for my website [[https://phundrak.com][phundrak.com]]. While it is not
yet live on this address, development versions can be found at
[[https://alpha.phundrak.com][alpha.phundrak.com]] and [[https://beta.phundrak.com][beta.phundrak.com]] (the former follows the
=develop= branch while the latter follows the =master= branch).
This is the repository for my website [[https://phundrak.com][phundrak.com]] which contains the
code available on the =main= branch. Code available on the =develop=
branch is available at [[https://beta.phundrak.com][beta.phundrak.com]].
* Structure of the project
This website is made with [[https://v2.vuepress.vuejs.org/][VuePress]], a Vue-powered static site
@@ -18,6 +17,14 @@ file as well as its content and general configuration in the directory
[[file:content/][content]].
** Installing and running
In order to run the website, you firts need to export all the orgmode
files to Markdown files. I recommend using =ox-gfm= to do so. If you
dont mind =package.el= installing it as well as =f.el=, you can run the
following command:
#+begin_src shell
emacs -Q --script export.el
#+end_src
To install the NPM dependencies for the project, run one of the
following commands:
#+begin_src shell

View File

@@ -1,11 +1,23 @@
import { defineClientConfig } from '@vuepress/client';
import PreviewImage from './components/PreviewImage.vue';
import ResponsiveImage from './components/ResponsiveImage.vue';
import ListRepositories from './components/GitHub/ListRepositories.vue';
import FetchRepositories from './components/GitHub/FetchRepositories.vue';
import GithubRepository from './components/GitHub/GithubRepository.vue';
import ApiLoader from './components/ApiLoader.vue';
import LoaderAnimation from './components/LoaderAnimation.vue';
import FetchError from './components/FetchError.vue';
import Icon from './components/Icon.vue';
export default defineClientConfig({
enhance({ app, router, siteData }) {
app.component('PreviewImage', PreviewImage);
enhance({ app }) {
app.component('ResponsiveImage', ResponsiveImage);
app.component('ListRepositories', ListRepositories);
app.component('FetchRepositories', FetchRepositories);
app.component('GithubRepository', GithubRepository);
app.component('ApiLoader', ApiLoader);
app.component('LoaderAnimation', LoaderAnimation);
app.component('FetchError', FetchError);
app.component('Icon', Icon);
},
setup() {},
layouts: {},

View File

@@ -0,0 +1,36 @@
<template>
<slot v-if="loading" name="loader">
<LoaderAnimation />
</slot>
<slot v-else-if="error" name="error">
<FetchError :url="props.url" />
</slot>
<slot v-else> </slot>
</template>
<script setup lang="ts">
import LoaderAnimation from './LoaderAnimation.vue';
import FetchError from './FetchError.vue';
import { useFetchAndCache } from '../composables/fetchAndCache';
const props = defineProps({
url: {
default: '',
required: true,
type: String,
},
cacheName: {
required: true,
type: String,
},
alreadyKnownData: Object,
});
const emits = defineEmits(['loaded', 'error', 'loading']);
const { loading, error } = useFetchAndCache(props.url, {
emits: emits,
cacheName: props.cacheName,
});
</script>

View File

@@ -0,0 +1,26 @@
<template>
<div class="error rounded-corners card-width">
<p>API call to {{ props.url }} failed</p>
</div>
</template>
<script setup lang="ts">
const props = defineProps({
url: {
required: true,
type: String,
},
});
</script>
<style lang="less">
@import 'node_modules/nord/src/lesscss/nord.less';
@import '../styles/classes.less';
.error {
display: inline-block;
padding: 2rem;
text-align: center;
background: @nord11;
}
</style>

View File

@@ -0,0 +1,46 @@
<template>
<ApiLoader :url="fetchUrl" @loaded="filterRepos" cache-name="repos" />
<slot />
</template>
<script setup lang="ts">
import { PropType, ref } from 'vue';
import { GithubRepo } from '../../types/github';
const props = defineProps({
sortBy: {
default: 'none',
required: false,
type: String as PropType<'stars' | 'forks' | 'pushed_at'>,
},
user: {
default: '',
required: true,
type: String,
},
limit: {
default: 5,
required: false,
type: Number,
},
});
const emits = defineEmits(['loaded']);
const fetchUrl = `https://api.github.com/users/${props.user}/repos?per_page=100`;
const repos = ref<GithubRepo[]>([]);
const filterRepos = (response: GithubRepo[]) => {
repos.value = response
.sort((a, b) => {
if (props.sortBy === 'stars') {
return b.stargazers_count - a.stargazers_count;
}
if (props.sortBy === 'pushed_at') {
const dateA = new Date(a.pushed_at);
const dateB = new Date(b.pushed_at);
return dateB.getTime() - dateA.getTime();
}
return b.forks_count - a.forks_count;
})
.slice(0, +props.limit);
emits('loaded', repos.value);
};
</script>

View File

@@ -0,0 +1,89 @@
<template>
<div
class="githubRepo flex-col flex-space-between gap-1rem rounded-corners card-width"
>
<ApiLoader
:cache-name="repoName()"
:url="fetchUrl"
:already-known-data="props.data"
@loaded="(repo: GithubRepo) => (repository = repo)"
>
<h3>{{ repository?.name }}</h3>
<div>
<p>
{{ repository?.description }}
</p>
</div>
<div class="flex-row flex-start gap-1rem stats">
<div class="stars">
<Icon name="star" /> {{ repository?.stargazers_count }}
</div>
<div class="forks">
<Icon name="fork" /> {{ repository?.forks_count }}
</div>
<div class="link">
<a :href="repository?.html_url"><i class="icon phunic-link" /></a>
</div>
</div>
</ApiLoader>
</div>
</template>
<script setup lang="ts">
import ApiLoader from '../ApiLoader.vue';
import { GithubRepo } from '../../types/github';
import { PropType, Ref, ref } from 'vue';
const props = defineProps({
data: Object as PropType<GithubRepo>,
repoName: String,
});
const repoName = (): string => {
return props.data ? props.data.full_name : props.repoName;
};
const fetchUrl = `https://api.github.com/repos/${repoName()}`;
const repository: Ref<GithubRepo | null> = ref(null);
</script>
<style lang="less">
@import 'node_modules/nord/src/lesscss/nord.less';
@import '../../styles/classes.less';
.githubRepo {
padding: 2rem;
background-color: @nord4;
align-self: auto;
h3,
h3:first-child {
margin: 0;
padding: 0;
}
html.dark & {
background-color: @nord3;
}
.info {
max-width: 30rem;
}
.stats {
width: 4rem;
div {
.flex-row();
gap: 0.3rem;
}
}
.link {
a {
display: flex;
align-items: center;
}
}
}
</style>

View File

@@ -0,0 +1,54 @@
<template>
<div class="list-repos flex-col gap-1rem">
<FetchRepositories
v-if="props.user !== ''"
:sort-by="props.sortBy"
:user="props.user"
:limit="props.limit"
@loaded="(response: GithubRepo[]) => (repos = response)"
>
<GithubRepository
:data="repo"
type="repositories"
v-for="repo in repos"
/>
</FetchRepositories>
<slot v-else />
</div>
</template>
<script setup lang="ts">
import FetchRepositories from './FetchRepositories.vue';
import GithubRepository from './GithubRepository.vue';
import { PropType, Ref, ref } from 'vue';
import { GithubRepo } from '../../types/github';
const props = defineProps({
sortBy: {
default: 'none',
required: false,
type: String as PropType<'stars' | 'forks' | 'pushed_at'>,
},
user: {
default: '',
required: false,
type: String,
},
limit: {
default: 5,
required: false,
type: Number,
},
});
const repos: Ref<GithubRepo[]> = ref(null);
</script>
<style lang="less">
@import '../../styles/classes.less';
.list-repos {
margin: 2rem auto;
}
</style>

View File

@@ -0,0 +1,17 @@
<template>
<i :class="`icon phunic-${props.name}`" />
</template>
<script setup lang="ts">
const props = defineProps({
name: {
default: '',
required: true,
type: String,
},
});
</script>
<style lang="less">
@import '../styles/fonts.less';
</style>

View File

@@ -0,0 +1,47 @@
<template>
<svg
class="circle-loader"
width="40"
height="40"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
>
<circle cx="20" cy="20" r="15" />
</svg>
</template>
<style lang="less" scoped>
@import 'node_modules/nord/src/lesscss/nord.less';
.circle-loader {
margin-left: 48%;
fill: transparent;
stroke: @nord7;
stroke-width: 5;
animation: dash 1.5s ease infinite, rotate 2s linear infinite;
}
@keyframes dash {
0% {
stroke-dasharray: 1, 95;
stroke-dashoffset: 0;
}
50% {
stroke-dasharray: 85, 95;
stroke-dashoffset: -25;
}
100% {
stroke-dasharray: 85, 95;
stroke-dashoffset: -90;
}
}
@keyframes rotate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
</style>

View File

@@ -1,51 +0,0 @@
<template>
<a class="no-decoration" :href="src">
<figure class="img-prev" :style="style">
<ResponsiveImage
:source="props.src"
:size="props.width"
:preview="props.preview"
:previewWidth="props.previewWidth"
:previewTheshold="props.maxwidth"
/>
<figcaption>
<slot />
</figcaption>
</figure>
</a>
</template>
<script setup lang="ts">
const props = defineProps<{
src: string;
width: number;
preview: string;
previewWidth: number;
maxwidth?: number;
}>();
const style = props.maxwidth ? `max-width: ${props.maxwidth}px` : '';
</script>
<style scoped lang="scss">
img {
height: auto;
width: 100%;
}
figure {
float: left;
margin: 0.5rem 1rem;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
max-width: 400px;
}
@media only screen and (max-width: 800px) {
figure {
float: none;
}
}
</style>

View File

@@ -0,0 +1,62 @@
import { Ref, computed, ref, watchEffect } from 'vue';
interface CacheOptions {
lifetime?: number;
timestampSuffix?: string;
forceUpdate?: boolean;
}
/**
* Cache data in local storage.
*
* The cache is updated if:
* - cache data does not exist
* - cached data is outdated and `data` is not null
* - or `options.forceUpdate` is true, regardless of the value of `data`
*
* Otherwise, data is retrieved from cache.
*
* @param {string} name Name of the cached value in local storage
* @param {Ref<T>} data Data to cache
* @param {CacheOptions} options Tweaks to the behaviour of the function
*/
export const useCache = <T>(
name: string,
data: Ref<T>,
options: CacheOptions,
) => {
const error = ref<string>(null);
const timestampName = name + (options?.timestampSuffix || '-timestamp');
const lifetime = options?.lifetime || 1000 * 60 * 60; // one hour in milliseconds
const lastUpdated: number = +localStorage.getItem(timestampName);
const cacheAge: number = Date.now() - lastUpdated;
const isDataOutdated = computed(() => {
return cacheAge > lifetime;
});
const shouldUpdate = computed(
() => options?.forceUpdate || (isDataOutdated.value && data.value != null),
);
const setData = () => {
console.log('Setting data in cache with name', name);
localStorage.setItem(name, JSON.stringify(data.value));
localStorage.setItem(timestampName, `${Date.now()}`);
};
const getData = () => {
console.log('Getting data from cache with name', name);
const cached = localStorage.getItem(name);
console.log('Value from storage:', cached);
try {
data.value = JSON.parse(cached);
} catch (err) {
console.error('Failed to parse cached data:', err);
data.value = null;
error.value = err;
}
};
getData();
watchEffect(() => (shouldUpdate.value ? setData() : getData()));
return { error, isDataOutdated };
};

View File

@@ -0,0 +1,72 @@
import { ref, Ref } from 'vue';
import { useCache } from './cache';
type FetchAndCacheEmitter = (
event: 'loaded' | 'error' | 'loading',
...args: any[]
) => void;
interface UseFetchAndCacheOptions {
cacheLifetime?: number;
cacheName?: string;
emits?: FetchAndCacheEmitter;
}
const dummyEmits = (
_event: 'loaded' | 'error' | 'loading',
..._args: any[]
) => {};
export const useFetchAndCache = <T, E>(
url: string,
options?: UseFetchAndCacheOptions,
) => {
const data = ref<T | null>(null) as Ref<T>;
const error = ref<E | null>(null) as Ref<E>;
const loading = ref<boolean>(true);
const cacheLifetime: number = options?.cacheLifetime || 1000 * 60 * 60; // one hour
const cacheName: string = options?.cacheName || url;
const { isDataOutdated: isCacheOutdated, error: cacheError } = useCache(
cacheName,
data,
{
lifetime: cacheLifetime,
},
);
const emits: FetchAndCacheEmitter = options?.emits || dummyEmits;
const loaded = () => {
loading.value = false;
emits('loaded', data.value);
};
const fetchData = () => {
loading.value = true;
emits('loading');
console.log('Fetching from URL', url);
fetch(url)
.then((response) => {
if (!response.ok) {
throw new Error(response.statusText);
}
return response.json() as Promise<T>;
})
.then((responseData) => {
data.value = responseData;
loaded();
})
.catch((e) => {
console.warn('Caught error!', e);
error.value = e;
emits('error', e);
})
.finally(() => (loading.value = false));
};
if (isCacheOutdated.value || cacheError.value != null) {
fetchData();
} else {
loaded();
}
return { data, loading, error };
};

View File

@@ -1,24 +1,56 @@
import { defineUserConfig, defaultTheme } from 'vuepress';
import { removeHtmlExtensionPlugin } from 'vuepress-plugin-remove-html-extension';
import head from './head';
import locales from './locales';
import themeLocales from './themeLocales';
import { defaultTheme } from '@vuepress/theme-default';
import { viteBundler } from '@vuepress/bundler-vite';
import { defineUserConfig } from 'vuepress';
import { slimsearchPlugin } from '@vuepress/plugin-slimsearch';
import { umamiAnalyticsPlugin } from '@vuepress/plugin-umami-analytics';
import { head } from './head';
import { locales, searchLocaleLfn } from './locales';
import { themeLocales } from './themeLocales';
const isProd = process.env.NODE_ENV === 'production';
export default defineUserConfig({
lang: 'fr-FR',
title: 'Lucien Cartier-Tilet',
description: 'Site web personnel de Lucien Cartier-Tilet',
head: head,
bundler: isProd
? viteBundler({})
: viteBundler({
viteOptions: {
server: {
allowedHosts: true,
},
},
}),
markdown: {
html: true,
linkify: true,
typographer: true,
},
plugins: [removeHtmlExtensionPlugin()],
plugins: [
slimsearchPlugin({
indexContent: true,
indexLocaleOptions: {
'/lfn': searchLocaleLfn,
},
}),
isProd
? umamiAnalyticsPlugin({
id: '67166941-8c83-4a19-bc8c-139e44b7f7aa',
link: 'https://umami.phundrak.com/script.js',
})
: [],
],
locales: locales,
theme: defaultTheme({
contributors: false,
locales: themeLocales,
repo: 'https://labs.phundrak.com/phundrak/phundrak.com',
themePlugins: {
copyCode: false,
prismjs: false,
},
}),
});

View File

@@ -1,9 +1,11 @@
import { HeadAttrsConfig } from 'vuepress';
interface SimplifiedHeader {
tag: string;
content: [any];
content: HeadAttrsConfig[];
}
const simplifiedHead = [
const simplifiedHead: SimplifiedHeader[] = [
{
tag: 'meta',
content: [
@@ -11,6 +13,10 @@ const simplifiedHead = [
name: 'author',
content: 'Lucien Cartier-Tilet',
},
{
name: 'fediverse:creator',
content: '@phundrak@mastodon.phundrak.com',
},
{
property: 'og:image',
content: 'https://cdn.phundrak.com/img/rich_preview.png',
@@ -35,6 +41,10 @@ const simplifiedHead = [
name: 'twitter:creator',
content: '@phundrak',
},
{
name: 'build-status',
content: `value: ${process.env.NODE_ENV}`,
},
{ name: 'msapplication-TileColor', content: '#3b4252' },
{ name: 'msapplication-TileImage', content: '/ms-icon-144x144.png' },
{ name: 'theme-color', content: '#3b4252' },
@@ -117,12 +127,16 @@ const simplifiedHead = [
},
];
let head = [];
simplifiedHead.map((tag: SimplifiedHeader) => {
let tagName = tag.tag;
const headBuilder = [];
simplifiedHead.forEach((tag) => {
tag.content.forEach((element) => {
head.push([tagName, element]);
headBuilder.push([tag.tag, element]);
});
});
headBuilder.push([
'a',
{ rel: 'me', href: 'https://mastodon.phundrak.com/@phundrak' },
'Mastodon',
]);
export default head;
export const head = headBuilder;

View File

@@ -1,4 +1,6 @@
const locales = {
import SlimSarchLocaleData from '@vuepress/plugin-slimsearch';
export const locales = {
'/': {
lang: 'fr-FR',
title: 'Lucien Cartier-Tilet',
@@ -16,4 +18,19 @@ const locales = {
},
};
export default locales;
export const searchLocaleLfn: SlimSarchLocaleData = {
cancel: 'Cansela',
placeholder: 'Xerca',
search: 'Xerca',
searching: 'Xercante',
defaultTitle: 'Documentos',
select: 'eleje',
navigate: 'naviga',
autocomplete: 'auto-completi',
exit: 'sorti',
queryHistory: 'Historia de xerca',
resultHistory: 'Historia de resultas',
emptyHistory: 'Historia vacua',
emptyResult: 'Resultas vacua',
loading: 'Cargante la indise de xerca...',
};

View File

@@ -0,0 +1,24 @@
{
"subject": "acct:phundrak@emacs.ch",
"aliases": ["https://emacs.ch/@phundrak", "https://emacs.ch/users/phundrak"],
"links": [
{
"rel": "http://webfinger.net/rel/profile-page",
"type": "text/html",
"href": "https://emacs.ch/@phundrak"
},
{
"rel": "self",
"type": "application/activity+json",
"href": "https://emacs.ch/users/phundrak"
},
{
"rel": "http://ostatus.org/schema/1.0/subscribe",
"template": "https://emacs.ch/authorize_interaction?uri={uri}"
},
{
"rel": "http://openid.net/specs/connect/1.0/issuer",
"href": "https://auth.phundrak.com"
}
]
}

View File

@@ -0,0 +1,18 @@
body {
margin: 3em;
}
body, code,p {
background: #e5e9f0 !important;
line-height: 1.4 !important;
color: #2E3440;
font-size: 16px !important;
}
blockquote, blockquote p {
border-left-color: #3b4252;
}
pre {
padding: 10px;
}

Binary file not shown.

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>Generated by IcoMoon</metadata>
<defs>
<font id="phunic" horiz-adv-x="1024">
<font-face units-per-em="1024" ascent="960" descent="-64" />
<missing-glyph horiz-adv-x="1024" />
<glyph unicode="&#x20;" horiz-adv-x="512" d="" />
<glyph unicode="&#xe900;" glyph-name="star" horiz-adv-x="1152" d="M575.8 960c18.4 0 35.2-10.4 43.2-27l137.2-282.6 306.4-45.2c18-2.6 33-15.2 38.6-32.6s1-36.2-11.8-49l-222.2-220.4 52.4-311.2c3-18-4.4-36.2-19.2-47s-34.6-12-50.6-3.4l-274 146.4-273.8-146.2c-16.2-8.6-35.8-7.4-50.6 3.4s-22.4 29-19.4 47l52.4 311.2-222.2 220.2c-13 12.8-17.4 31.8-11.8 49s20.6 29.8 38.6 32.6l306.4 45.2 137.2 282.6c8.2 16.6 24.8 27 43.2 27zM575.8 802l-105-216.4c-7-14.2-20.4-24.2-36.2-26.6l-236.6-34.8 171.8-170.2c11-11 16.2-26.6 13.6-42l-40.6-239.4 210.4 112.4c14.2 7.6 31.2 7.6 45.2 0l210.4-112.4-40.4 239.2c-2.6 15.4 2.4 31 13.6 42l171.8 170.2-236.6 35c-15.6 2.4-29.2 12.2-36.2 26.6l-105.2 216.4z" />
<glyph unicode="&#xe901;" glyph-name="envelope" d="M96 832c-53 0-96-43-96-96 0-30.2 14.2-58.6 38.4-76.8l435.2-326.4c22.8-17 54-17 76.8 0l435.2 326.4c24.2 18.2 38.4 46.6 38.4 76.8 0 53-43 96-96 96h-832zM0 608v-416c0-70.6 57.4-128 128-128h768c70.6 0 128 57.4 128 128v416l-435.2-326.4c-45.6-34.2-108-34.2-153.6 0l-435.2 326.4z" />
<glyph unicode="&#xe902;" glyph-name="emacs" horiz-adv-x="953" d="M783.986 963.865h-275.721c83.997-19.531 275.721-63.47 275.721-98.442 0-74.39-354.471 19.638-433.184 19.638-39.366 0-118.026-6.581-118.115-59.058-0.338-137.717 185.123-255.869 314.998-334.671-90.454 26.238-173.296 39.348-252.045 39.348-102.407 0-299.236-39.348-299.236-177.28 0-121.709 246.779-233.919 314.998-255.834 118.507-38.156 314.998-58.844 314.998-78.749 0-19.798-157.464-39.348-354.471-39.348h-118.098c78.821-39.561 196.918-39.561 315.104-39.561l118.098 0.089c78.732 0.089 275.561 2.935 275.561 70.905 0 59.253-236.194 109.524-354.381 133.912-164.739 33.975-284.367 100.096-275.561 149.475 20.955 118.667 314.998 118.187 551.299 118.187-103.047 82.876-354.471 236.285-354.471 303.31 0 28.551 39.455 35.238 78.732 35.346 157.553 0.907 275.721-33.318 315.158-33.318 78.66 0 118.045 49.095 118.045 108.172 0.035 98.53-117.99 137.877-157.427 137.877z" />
<glyph unicode="&#xe903;" glyph-name="gitea" d="M179.534 736.179c-10.527 0-22.386-0.823-35.824-3.754-14.172-2.932-54.552-12.077-87.618-43.842-73.302-65.32-54.584-169.208-52.304-184.844 2.769-19.058 11.207-71.999 51.604-118.097 74.605-91.383 235.239-89.273 235.239-89.273s19.688-47.089 49.823-90.418c40.723-53.917 82.592-95.932 123.315-100.981 102.622 0 307.714 0.127 307.714 0.127s19.581-0.143 46.131 16.798c22.805 13.846 43.141 38.115 43.141 38.114s21.011 22.5 50.332 73.811c8.959 15.801 16.455 31.062 22.97 45.559 0 0 89.91 190.801 89.91 376.498-1.792 56.198-15.641 66.099-18.899 69.357-6.679 6.679-15.653 6.554-15.653 6.554s-190.895-10.763-289.771-13.044c-21.601-0.488-43.054-0.981-64.33-1.145l0.127-190.572c0 0 93.541-39.449 135.404-65.347 6.027-3.747 16.6-11.1 20.998-23.479 3.421-9.936 3.232-21.334-1.654-31.433l-99.326-206.67c-10.099-20.687-34.869-29.534-55.231-19.598l-206.733 99.39c-20.362 9.774-29.153 34.516-19.216 55.039l99.39 206.733c9.774 20.362 34.516 29.153 55.040 19.216 27.903-13.465 43.837-21.063 43.969-21.125 0 59.356-0.127 177.655-0.127 177.655-47.239-0.652-145.331 3.627-145.331 3.627s-230.325 11.527-255.41 13.807c-7.982 0.489-17.153 1.336-27.679 1.336zM199.387 657.979c0 0 11.57-96.789 25.579-153.475 11.728-47.565 40.406-126.559 40.406-126.559s-42.528 5.053-70.056 14.825c-42.189 13.846-60.067 30.479-60.067 30.479s-31.131 21.836-46.768 64.839c-26.877 71.999-2.291 115.934-2.291 115.934s13.708 36.651 62.739 48.868c22.479 6.027 50.459 5.090 50.459 5.090zM523.077 350.102c-13.357-0.163-25.085-9.448-28.18-22.479s3.258-26.551 14.823-32.579c12.543-6.516 28.506-2.932 36.977 8.796 8.308 11.565 7.004 27.529-2.932 37.628l39.094 79.98c2.443-0.163 6.027-0.326 10.099 0.814 6.679 1.466 11.565 5.864 11.565 5.864 6.841-2.932 14.009-6.19 21.502-9.936 7.819-3.909 15.149-7.982 21.828-11.891 1.466-0.814 2.932-1.792 4.561-3.095 2.606-2.118 5.538-5.050 7.656-8.959 3.095-8.959-3.095-24.271-3.095-24.271-3.747-12.38-29.972-66.134-29.972-66.134-13.194 0.326-24.923-8.145-28.832-20.362-4.235-13.194 1.792-28.18 14.497-34.696s28.343-2.769 36.651 8.633c8.145 11.077 7.493 26.551-1.792 36.814 3.095 6.027 6.027 12.054 9.122 18.407 8.145 16.941 21.99 49.519 21.99 49.519 1.466 2.769 9.285 16.778 4.398 34.696-4.072 18.57-20.524 27.203-20.524 27.203-19.873 12.869-47.565 24.76-47.565 24.76s0 6.679-1.792 11.565c-1.792 5.050-4.561 8.308-6.353 10.262 7.656 15.801 15.312 31.438 22.968 47.239-6.679 3.258-13.194 6.516-19.873 9.936-7.819-15.963-15.801-32.090-23.619-48.053-10.914 0.163-21.013-5.701-26.226-15.312-5.538-10.262-4.398-22.968 3.095-32.253l-40.072-82.098z" />
<glyph unicode="&#xe904;" glyph-name="share" horiz-adv-x="896" d="M570.8 565.8l-188.2-94c1-7.8-0.4-14-0.4-23.8 0-8 1.4-14.2 0.4-23.8l188.2-94c34.4 33.4 81.4 53.8 133.2 53.8 106 0 192-84.2 192-192 0-106-86-192-192-192-107.8 0-192 86-192 192 0 9.8 0.4 16 1.4 23.8l-188.2 94c-34.4-33.4-81.4-53.8-133.2-53.8-106.040 0-192 86-192 192 0 107.8 85.96 192 192 192 51.8 0 98.8-20.4 133.2-53.8l188.2 94c-1 9.6-1.4 15.8-1.4 23.8 0 106.040 84.2 192 192 192 106 0 192-85.96 192-192 0-106-86-192-192-192-51.8 0-98.8 20.4-133.2 53.8v0z" />
<glyph unicode="&#xe905;" glyph-name="terminal" horiz-adv-x="1152" d="M18.744 786.74c-24.992 25-24.992 65.52 0 90.52 24.996 24.98 65.516 24.98 90.516 0l383.94-384.060c25-25 25-65.4 0-90.4l-383.94-384c-25-25-65.52-25-90.516 0-24.992 25-24.992 65.4 0 90.4l338.656 338.8-338.656 338.74zM1088 128c35.4 0 64-28.6 64-64s-28.6-64-64-64h-576c-35.4 0-64 28.6-64 64s28.6 64 64 64h576z" />
<glyph unicode="&#xe906;" glyph-name="at" d="M415.6 918.54c-186.9-36.64-337.4-187.32-374-374.2-55.28-281.8 137.3-532.4 398.2-570.2 38.020-5.776 72.34 24.52 72.34 62.98v1.326c0 31.48-22.88 57.76-53.68 62.48-168.7 25.96-298.4 172.26-298.4 348.4 0 205.8 177.22 371 386.8 350.8 183.080-17.738 317.2-182.5 317.2-366.4v-32.32c0-44.18-35.88-80.1-80-80.1s-80.020 35.92-80.020 80.1v240.2c0 17.694-14.322 32.040-32.020 32.040l-63.96-0.007c-14.598 0-26.4-9.984-30.24-23.36-49.7 24.3-108.48 32.76-172.12 10.212-77.5-27.46-136.24-97.82-147.44-179.28-18.966-138.020 87.62-256 221.8-256 52.88 0 100.86 19.088 139.18 49.76 48-62.6 130.46-97.38 218.8-74.98 92.36 21.409 153.96 111.809 152.16 205.609v41.8c0 298.4-267.8 531.264-574.6 471.14zM478.2 351.4c-52.94 0-96 43.12-96 96.1s43.060 96.1 96 96.1 96-43.12 96-96.1-41.2-96.1-96-96.1z" />
<glyph unicode="&#xe907;" glyph-name="mastodon" horiz-adv-x="896" d="M866 601.78c0 194.4-127.42 251.4-127.42 251.4-125.040 57.4-457.12 56.8-580.96 0 0 0-127.44-57-127.44-251.4 0-231.4-13.2-518.8 211.26-578.2 81.020-21.4 150.64-26 206.66-22.8 101.62 5.6 158.64 36.2 158.64 36.2l-3.4 73.8s-72.62-22.8-154.24-20.2c-80.82 2.8-166 8.8-179.26 108-1.147 8.146-1.801 17.557-1.801 27.12 0 0.239 0 0.478 0.001 0.717v-0.037c171.26-41.8 317.3-18.2 357.5-13.4 112.24 13.4 210 82.6 222.46 145.8 19.6 99.6 18 243 18 243zM715.76 351.38h-93.26v228.4c0 99.4-128 103.2-128-13.8v-125h-92.66v125.020c0 117-128 113.2-128 13.8v-228.4h-93.46c0 244.2-10.4 295.8 36.82 350 51.8 57.8 159.64 61.6 207.66-12.2l23.2-39 23.2 39c48.22 74.2 156.24 69.6 207.66 12.2 47.42-54.6 36.8-106 36.8-350z" />
<glyph unicode="&#xe908;" glyph-name="conlang" d="M512 800c-385.364 0-621.988-380.55-460.664-693.875l106.664 131.875 654 66 84-130-842.73-71.551c2.159-4.106 4.349-8.208 6.645-12.289l892.086 73.84 20.246-53.512c157.457 279.979-52.304 689.512-460.246 689.512zM410 490h204l54-66-328-30 70 96zM694 412l74-98-560-56 90 118 396 36z" />
<glyph unicode="&#xe909;" glyph-name="link" horiz-adv-x="1280" d="M1159.6 424.6c113 113 113 296 0 409-100 100-257.6 113-372.6 30.8l-3.2-2.2c-28.8-20.6-35.4-60.6-14.8-89.2s60.6-35.4 89.2-14.8l3.2 2.2c64.2 45.8 152 38.6 207.6-17.2 63-63 63-165 0-228l-224.4-224.8c-63-63-165-63-228 0-55.8 55.8-63 143.6-17.2 207.6l2.2 3.2c20.6 28.8 13.8 68.8-14.8 89.2s-68.8 13.8-89.2-14.8l-2.2-3.2c-82.4-114.8-69.4-272.4 30.6-372.4 113-113 296-113 409 0l224.6 224.6zM120.4 471.4c-113-113-113-296 0-409 100-100 257.6-113 372.6-30.8l3.2 2.2c28.8 20.6 35.4 60.6 14.8 89.2s-60.6 35.4-89.2 14.8l-3.2-2.2c-64.2-45.8-152-38.6-207.6 17.2-63 63.2-63 165.2 0 228.2l224.4 224.6c63 63 165 63 228 0 55.8-55.8 63-143.6 17.2-207.8l-2.2-3.2c-20.6-28.8-13.8-68.8 14.8-89.2s68.8-13.8 89.2 14.8l2.2 3.2c82.4 115 69.4 272.6-30.6 372.6-113 113-296 113-409 0l-224.6-224.6z" />
<glyph unicode="&#xe90a;" glyph-name="code" horiz-adv-x="1280" d="M829.6 878.42l-256-896.020c-9.8-34-45.2-53.6-79.2-44-34 9.8-53.6 45.2-44 79.2l256 895.98c9.8 33.988 45.2 53.668 79.2 43.956 34-9.71 53.6-45.136 44-79.116v0zM1037.2 717.2l224-224c25-25 25-65.4 0-90.4l-224-224c-25-25-65.4-25-90.4 0s-25 65.4 0 90.4l178.6 178.8-178.6 178.8c-25 25-25 65.4 0 90.4s65.4 25 90.4 0v0zM333.2 626.8l-178.7-178.8 178.7-178.8c25-25 25-65.4 0-90.4s-65.4-25-90.4 0l-224.056 224c-24.992 25-24.992 65.4 0 90.4l224.056 224c25 25 65.4 25 90.4 0s25-65.4 0-90.4v0z" />
<glyph unicode="&#xe90b;" glyph-name="fork" horiz-adv-x="896" d="M320 800c0-65.6-39.4-120.2-96-146.6v-175.6c37.6 21.8 81.4 34.2 128 34.2h192c70.6 0 128 57.4 128 128v13.4c-56.6 26.4-96 81-96 146.6 0 88.36 71.6 160 160 160s160-71.64 160-160c0-65.6-39.4-120.2-96-146.6v-13.4c0-141.4-114.6-256-256-256h-192c-70.6 0-128-57.4-128-128v-13.4c56.6-24.6 96-81 96-146.6 0-88.4-71.6-160-160-160-88.36 0-160 71.6-160 160 0 65.6 39.5 122 96 146.6v410.8c-56.5 26.4-96 81-96 146.6 0 88.36 71.64 160 160 160 88.4 0 160-71.64 160-160v0zM160 752c26.5 0 48 21.5 48 48s-21.5 48-48 48c-26.5 0-48-21.5-48-48s21.5-48 48-48zM736 848c-26.6 0-48-21.5-48-48s21.4-48 48-48c26.6 0 48 21.5 48 48s-21.4 48-48 48zM160 48c26.5 0 48 21.4 48 48s-21.5 48-48 48c-26.5 0-48-21.4-48-48s21.5-48 48-48z" />
<glyph unicode="&#xe90c;" glyph-name="house" horiz-adv-x="1152" d="M1151.6 449c0-36-30-64.2-64-64.2h-64l1.4-320.2c0-5.6-0.4-10.8-1-16.2v-32.4c0-44.2-35.8-80-80-80h-32c-2.2 0-4.4 1.8-6.6 0.2-2.8 1.6-5.6-0.2-8.4-0.2h-113c-44.2 0-80 35.8-80 80v176c0 35.4-28.6 64-64 64h-128c-35.4 0-64-28.6-64-64v-176c0-44.2-35.8-80-80-80h-111.8c-3 0-6 0.2-9 0.4-2.4-0.2-4.8-0.4-7.2-0.4h-32c-44.18 0-80 35.8-80 80v224c0 1.8 0.060 3.8 0.18 5.6v139.2h-64.080c-36.060 0-64.1 28.2-64.1 64.2 0 18 6.008 34 20.020 48l512.78 446.968c14 14.028 30 16.032 44 16.032s30-4.008 42.2-14.028l510.6-448.972c16-14 24.2-30 22-48v0z" />
<glyph unicode="&#xe90d;" glyph-name="language" horiz-adv-x="1280" d="M896 632c22 0 40-16.2 40-40v-8h120c22 0 40-16.2 40-40 0-22-18-40-40-40h-4l-3.2-9c-17.8-47.2-45-93.2-79.4-130.8 1.8-1 3.6-0.4 5.4-3.2l37.8-22.6c19-11.4 25-36 13.6-55-11.2-19-35.8-25-54.8-13.6l-37.8 22.6c-8.8 5.4-19.4 11-26.2 17-21-15-43.8-28-67.8-38.8l-7.4-3.2c-20.2-9-43.8 0.2-52.8 20.4s0.2 43.8 20.4 52.8l7.2 3.2c12.8 5.8 25.2 14 37 19.6l-24.2 24.4c-15.8 15.6-15.8 40.8 0 56.4 15.6 15.8 40.8 15.8 56.4 0l29.2-29 1.2 0.6c24.8 24.4 45 54.8 59.6 90h-214.2c-23.8 0-40 16.2-40 40 0 22 16.2 40 40 40h104v8c0 22 16.2 40 40 40v-1.8zM320 493.6l38-85.6h-77.8l39.8 85.6zM0 704c0 70.7 57.3 128 128 128h1024c70.6 0 128-57.3 128-128v-512c0-70.6-57.4-128-128-128h-1024c-70.7 0-128 57.4-128 128v512zM640 192h512v512h-512v-512zM356.6 608.2c-6.4 14.4-20.8 23.8-36.6 23.8s-30.2-9.4-36.6-23.8l-127.96-288c-8.96-18.4 0.12-43.8 20.32-52.8 20.18-9 43.84 0.2 52.84 20.4l17.8 42h147.2l17.8-42c9-20.2 32.6-29.4 52.8-20.4s29.4 34.4 20.4 52.8l-128 288z" />
<glyph unicode="&#xe90e;" glyph-name="mic-lines" horiz-adv-x="768" d="M384 256c106.060 0 192 85.94 192 192h-160c-17.6 0-32 14.4-32 32s14.4 32 32 32h160v64h-160c-17.6 0-32 14.4-32 32s14.4 32 32 32h160v65.8h-160c-17.672 0-32 14.328-32 32s14.328 32 32 32l160-1.8c0 106.060-85.94 192-192 192s-192-85.94-192-192v-320c0-106 84.2-192 192-192zM688 576c-26.6 0-48-21.4-48-46.2v-81.8c0-146.66-123.94-264.8-272.6-255.4-132.16 8.338-239.4 133.18-239.4 265.6v71.6c0 24.8-21.5 46.2-48 46.2s-48-21.4-48-46.2v-64.3c0-179.32 127.94-339.2 304-363.4v-70.1h-80c-36.38 0-65.68-30.36-63.92-67.14 0.78-16.46 15.52-28.86 31.92-28.86h320c16.444 0 31.14 12.432 31.92 28.86 1.68 36.74-27.52 67.14-63.92 67.14h-80v67.54c171.4 23.46 304 170.66 304 348.46v81.8c0 24.8-21.4 46.2-48 46.2z" />
<glyph unicode="&#xe90f;" glyph-name="question" horiz-adv-x="640" d="M408.6 895.98h-216.6c-105.88 0-192-86.12-192-192 0-35.34 28.62-62.2 64-62.2s64 28.64 64 62.2c0 35.28 28.68 64 64 64h216.6c57 0 103.4-46.38 103.4-103.58 0-39.44-21.94-74.94-61-94.66l-195.4-114.54c-21.4-11.6-31.6-32.6-31.6-55.2v-80c0-35.34 28.62-63.98 64-63.98s64 28.64 64 63.98v43.4l160 94c78.94 39.5 128 118.84 128 207 0 127.7-103.8 231.58-231.4 231.58zM288 160c-44.18 0-80-35.82-80-80s35.82-78.2 80-78.2 80 35.8 80 78.2-35.8 80-80 80z" />
<glyph unicode="&#xe910;" glyph-name="discord" horiz-adv-x="1280" d="M1049.062 820.328c-0.331 0.632-0.862 1.122-1.508 1.393l-0.020 0.007c-69.126 32.613-149.446 58.394-233.51 73.348l-5.862 0.864c-0.2 0.039-0.429 0.061-0.664 0.061-1.364 0-2.552-0.751-3.173-1.863l-0.009-0.018c-9.162-16.095-19.138-36.2-28.112-56.841l-1.688-4.359c-40.401 6.456-86.983 10.145-134.426 10.145s-94.023-3.689-139.472-10.794l5.046 0.65c-10.583 24.679-20.712 44.78-31.866 64.218l1.596-3.018c-0.669 1.124-1.878 1.866-3.26 1.866-0.208 0-0.412-0.017-0.61-0.049l0.022 0.003c-89.917-15.782-170.24-41.566-245.309-76.709l5.933 2.495c-0.662-0.286-1.201-0.752-1.568-1.338l-0.008-0.014c-152.458-227.676-194.222-449.754-173.734-669.082 0.124-1.122 0.692-2.092 1.521-2.743l0.009-0.007c83.919-62.742 181.476-113.306 286.742-146.499l6.908-1.879c0.327-0.102 0.702-0.16 1.092-0.16 1.236 0 2.333 0.59 3.027 1.503l0.007 0.009c20.992 28.236 40.943 60.215 58.246 93.782l1.828 3.902c0.254 0.49 0.402 1.069 0.402 1.683 0 1.595-1.004 2.956-2.415 3.485l-0.026 0.008c-35.78 13.792-65.987 28.482-94.765 45.347l3.029-1.641c-1.12 0.667-1.859 1.872-1.859 3.25 0 1.221 0.58 2.306 1.48 2.995l0.009 0.007c6.164 4.618 12.332 9.422 18.218 14.274 0.623 0.516 1.432 0.83 2.313 0.83 0.539 0 1.050-0.117 1.51-0.327l-0.023 0.009c192.458-87.834 400.82-87.834 591 0 0.455 0.221 0.99 0.351 1.556 0.351 0.873 0 1.673-0.308 2.298-0.822l-0.006 0.005c5.888-4.852 12.054-9.702 18.264-14.32 0.922-0.695 1.511-1.787 1.511-3.017 0-1.367-0.728-2.565-1.818-3.225l-0.017-0.009c-25.909-15.466-56.144-30.151-87.654-42.266l-4.126-1.394c-1.425-0.553-2.416-1.913-2.416-3.505 0-0.627 0.154-1.218 0.426-1.738l-0.010 0.021c19.628-37.639 39.545-69.579 61.585-99.876l-1.557 2.246c0.684-0.951 1.788-1.563 3.035-1.563 0.389 0 0.765 0.060 1.117 0.17l-0.026-0.007c112.357 34.95 210.088 85.528 296.679 150.197l-2.555-1.825c0.853 0.627 1.427 1.59 1.529 2.689l0.001 0.015c24.528 253.566-41.064 473.824-173.868 669.082zM444.982 284.84c-57.944 0-105.688 53.174-105.688 118.478s46.818 118.482 105.688 118.482c59.33 0 106.612-53.64 105.686-118.478 0-65.308-46.82-118.482-105.686-118.482zM835.742 284.84c-57.942 0-105.686 53.174-105.686 118.478s46.818 118.482 105.686 118.482c59.334 0 106.614-53.64 105.688-118.478 0-65.308-46.354-118.482-105.688-118.482z" />
<glyph unicode="&#xe911;" glyph-name="writefreely" horiz-adv-x="1494" d="M326.398 822.626c-67.928-27.714-164.043-198.071-111.689-197.965 11.689 0.026 27.462 19.506 44.156 54.547 30.149 63.267 71.106 92.993 97.712 70.916 21.255-17.641 21.513-89.775 0.91-254.979-39.539-316.996-6.135-421.177 135.046-421.177 82.517 0 169.528 63.124 226.677 164.445l25.359 44.964 4.578-63.285c20.127-278.251 408.917-148.508 518.99 173.19 86.012 251.376-51.838 536.687-202.038 418.17-64.428-50.843-4.336-141.484 66.875-100.878 111.357 63.494 127.429-242.113 21.46-408.032-84.677-132.585-214.644-193.552-277.853-130.344-32.561 32.562-33.85 102.731-5.484 298.609 18.047 124.625 25.9 232.713 22.694 312.261-1.122 27.769-2.859 28.573-61.669 28.573h-60.521l4.592-111.689c12.99-316.177-121.112-587.149-271.854-549.316-49.7 12.471-53.49 49.311-28.803 279.964 27.078 253.024 27.557 292.562 4.095 339.336-27.547 54.927-92.775 77.354-153.232 52.689z" />
<glyph unicode="&#xea96;" glyph-name="twitter" d="M1024 733.6c-37.6-16.8-78.2-28-120.6-33 43.4 26 76.6 67.2 92.4 116.2-40.6-24-85.6-41.6-133.4-51-38.4 40.8-93 66.2-153.4 66.2-116 0-210-94-210-210 0-16.4 1.8-32.4 5.4-47.8-174.6 8.8-329.4 92.4-433 219.6-18-31-28.4-67.2-28.4-105.6 0-72.8 37-137.2 93.4-174.8-34.4 1-66.8 10.6-95.2 26.2 0-0.8 0-1.8 0-2.6 0-101.8 72.4-186.8 168.6-206-17.6-4.8-36.2-7.4-55.4-7.4-13.6 0-26.6 1.4-39.6 3.8 26.8-83.4 104.4-144.2 196.2-146-72-56.4-162.4-90-261-90-17 0-33.6 1-50.2 3 93.2-59.8 203.6-94.4 322.2-94.4 386.4 0 597.8 320.2 597.8 597.8 0 9.2-0.2 18.2-0.6 27.2 41 29.4 76.6 66.4 104.8 108.6z" />
<glyph unicode="&#xea9b;" glyph-name="rss" d="M136.294 209.070c-75.196 0-136.292-61.334-136.292-136.076 0-75.154 61.1-135.802 136.292-135.802 75.466 0 136.494 60.648 136.494 135.802-0.002 74.742-61.024 136.076-136.494 136.076zM0.156 612.070v-196.258c127.784 0 247.958-49.972 338.458-140.512 90.384-90.318 140.282-211.036 140.282-339.3h197.122c-0.002 372.82-303.282 676.070-675.862 676.070zM0.388 960v-196.356c455.782 0 826.756-371.334 826.756-827.644h196.856c0 564.47-459.254 1024-1023.612 1024z" />
<glyph unicode="&#xea9d;" glyph-name="youtube" d="M1013.8 652.8c0 0-10 70.6-40.8 101.6-39 40.8-82.6 41-102.6 43.4-143.2 10.4-358.2 10.4-358.2 10.4h-0.4c0 0-215 0-358.2-10.4-20-2.4-63.6-2.6-102.6-43.4-30.8-31-40.6-101.6-40.6-101.6s-10.2-82.8-10.2-165.8v-77.6c0-82.8 10.2-165.8 10.2-165.8s10-70.6 40.6-101.6c39-40.8 90.2-39.4 113-43.8 82-7.8 348.2-10.2 348.2-10.2s215.2 0.4 358.4 10.6c20 2.4 63.6 2.6 102.6 43.4 30.8 31 40.8 101.6 40.8 101.6s10.2 82.8 10.2 165.8v77.6c-0.2 82.8-10.4 165.8-10.4 165.8zM406.2 315.2v287.8l276.6-144.4-276.6-143.4z" />
<glyph unicode="&#xea9f;" glyph-name="twitch" d="M96 960l-96-160v-736h256v-128h128l128 128h160l288 288v608h-864zM832 416l-160-160h-160l-128-128v128h-192v576h640v-416zM608 704h96v-256h-96v256zM416 704h96v-256h-96v256z" />
<glyph unicode="&#xeab0;" glyph-name="github" d="M512.008 947.358c-282.738 0-512.008-229.218-512.008-511.998 0-226.214 146.704-418.132 350.136-485.836 25.586-4.738 34.992 11.11 34.992 24.632 0 12.204-0.48 52.542-0.696 95.324-142.448-30.976-172.504 60.41-172.504 60.41-23.282 59.176-56.848 74.916-56.848 74.916-46.452 31.778 3.51 31.124 3.51 31.124 51.4-3.61 78.476-52.766 78.476-52.766 45.672-78.27 119.776-55.64 149.004-42.558 4.588 33.086 17.852 55.68 32.506 68.464-113.73 12.942-233.276 56.85-233.276 253.032 0 55.898 20.004 101.574 52.76 137.428-5.316 12.9-22.854 64.972 4.952 135.5 0 0 43.006 13.752 140.84-52.49 40.836 11.348 84.636 17.036 128.154 17.234 43.502-0.198 87.336-5.886 128.256-17.234 97.734 66.244 140.656 52.49 140.656 52.49 27.872-70.528 10.35-122.6 5.036-135.5 32.82-35.856 52.694-81.532 52.694-137.428 0-196.654-119.778-239.95-233.79-252.624 18.364-15.89 34.724-47.046 34.724-94.812 0-68.508-0.596-123.644-0.596-140.508 0-13.628 9.222-29.594 35.172-24.566 203.322 67.776 349.842 259.626 349.842 485.768 0 282.78-229.234 511.998-511.992 511.998z" />
<glyph unicode="&#xeac6;" glyph-name="reddit" d="M256 320c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64s-64 28.654-64 64zM640 320c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64s-64 28.654-64 64zM643.112 183.222c16.482 12.986 40.376 10.154 53.364-6.332s10.152-40.378-6.334-53.366c-45.896-36.158-115.822-59.524-178.142-59.524-62.322 0-132.248 23.366-178.144 59.522-16.486 12.99-19.32 36.882-6.332 53.368 12.99 16.482 36.882 19.318 53.366 6.332 26.422-20.818 78.722-43.222 131.11-43.222s104.688 22.404 131.112 43.222zM1024 448c0 70.692-57.308 128-128 128-48.116 0-89.992-26.57-111.852-65.82-65.792 35.994-145.952 59.246-233.28 64.608l76.382 171.526 146.194-42.2c13.152-37.342 48.718-64.114 90.556-64.114 53.020 0 96 42.98 96 96s-42.98 96-96 96c-36.56 0-68.342-20.442-84.554-50.514l-162.906 47.024c-18.224 5.258-37.538-3.722-45.252-21.052l-103.77-233.026c-85.138-5.996-163.262-29.022-227.636-64.236-21.864 39.25-63.766 65.804-111.882 65.804-70.692 0-128-57.308-128-128 0-52.312 31.402-97.254 76.372-117.102-8.070-24.028-12.372-49.104-12.372-74.898 0-176.73 200.576-320 448-320 247.422 0 448 143.27 448 320 0 25.792-4.3 50.862-12.368 74.886 44.97 19.85 76.368 64.802 76.368 117.114zM864 772c19.882 0 36-16.118 36-36s-16.118-36-36-36-36 16.118-36 36 16.118 36 36 36zM64 448c0 35.29 28.71 64 64 64 25.508 0 47.572-15.004 57.846-36.646-33.448-25.366-61.166-54.626-81.666-86.738-23.524 9.47-40.18 32.512-40.18 59.384zM512 12c-205.45 0-372 109.242-372 244s166.55 244 372 244c205.45 0 372-109.242 372-244s-166.55-244-372-244zM919.82 388.616c-20.5 32.112-48.218 61.372-81.666 86.738 10.276 21.642 32.338 36.646 57.846 36.646 35.29 0 64-28.71 64-64 0-26.872-16.656-49.914-40.18-59.384z" />
<glyph unicode="&#xeac9;" glyph-name="linkedin" d="M928 960h-832c-52.8 0-96-43.2-96-96v-832c0-52.8 43.2-96 96-96h832c52.8 0 96 43.2 96 96v832c0 52.8-43.2 96-96 96zM384 128h-128v448h128v-448zM320 640c-35.4 0-64 28.6-64 64s28.6 64 64 64c35.4 0 64-28.6 64-64s-28.6-64-64-64zM832 128h-128v256c0 35.4-28.6 64-64 64s-64-28.6-64-64v-256h-128v448h128v-79.4c26.4 36.2 66.8 79.4 112 79.4 79.6 0 144-71.6 144-160v-288z" />
<glyph unicode="&#xeae7;" glyph-name="git" d="M1004.692 493.606l-447.096 447.080c-25.738 25.754-67.496 25.754-93.268 0l-103.882-103.876 78.17-78.17c12.532 5.996 26.564 9.36 41.384 9.36 53.020 0 96-42.98 96-96 0-14.82-3.364-28.854-9.362-41.386l127.976-127.974c12.532 5.996 26.566 9.36 41.386 9.36 53.020 0 96-42.98 96-96s-42.98-96-96-96-96 42.98-96 96c0 14.82 3.364 28.854 9.362 41.386l-127.976 127.974c-3.042-1.456-6.176-2.742-9.384-3.876v-266.968c37.282-13.182 64-48.718 64-90.516 0-53.020-42.98-96-96-96s-96 42.98-96 96c0 41.796 26.718 77.334 64 90.516v266.968c-37.282 13.18-64 48.72-64 90.516 0 14.82 3.364 28.852 9.36 41.384l-78.17 78.17-295.892-295.876c-25.75-25.776-25.75-67.534 0-93.288l447.12-447.080c25.738-25.75 67.484-25.75 93.268 0l445.006 445.006c25.758 25.762 25.758 67.54-0.002 93.29z" />
</font></defs></svg>

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,56 @@
each(range(5), {
.gap-@{value}rem {
gap: @value * 1rem;
}
});
.flex {
display: flex;
}
.flex-inline {
display: inline-flex;
}
.flex-inline-col {
.flex-inline();
flex-direction: column;
}
.flex-col {
.flex();
flex-direction: column;
}
.flex-row {
.flex();
flex-direction: row;
}
@flex-justifications-prefixed: flex-start, flex-end;
each(@flex-justifications-prefixed, {
.@{value} {
.flex();
justify-content: @value;
}
});
@flex-justifications: center, space-between, space-around, space-evenly;
each(@flex-justifications, {
.flex-@{value} {
.flex();
justify-content: @value;
}
});
.rounded-corners {
border-radius: 0.3rem;
}
.center {
margin: 0 auto;
}
.card-width {
max-width: 35rem;
}

View File

@@ -0,0 +1,112 @@
@font-face {
font-family: "phunic";
src: url("/fonts/phunic.eot");
src: url("/fonts/phunic.eot#iefix") format("embedded-opentype"),
url("/fonts/phunic.ttf") format("truetype"),
url("/fonts/phunic.woff") format("woff"),
url("/fonts/phunic.svg#phunic") format("svg");
font-weight: normal;
font-style: normal;
font-display: block;
}
i.icon {
/* use !important to prevent issues with browser extensions that change fonts */
font-family: "phunic" !important;
speak: never;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
/* Better Font Rendering =========== */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
&::before {
width: 1.4rem;
display: inline-block;
align-content: center;
text-align: center;
}
}
.phunic-envelope:before {
content: "\e901";
}
.phunic-discord:before {
content: "\e910";
}
.phunic-writefreely:before {
content: "\e911";
}
.phunic-mastodon:before {
content: "\e907";
}
.phunic-link:before {
content: "\e909";
}
.phunic-star:before {
content: "\e900";
}
.phunic-share:before {
content: "\e904";
}
.phunic-terminal:before {
content: "\e905";
}
.phunic-at:before {
content: "\e906";
}
.phunic-conlang:before {
content: "\e908";
}
.phunic-code:before {
content: "\e90a";
}
.phunic-fork:before {
content: "\e90b";
}
.phunic-house:before {
content: "\e90c";
}
.phunic-language:before {
content: "\e90d";
}
.phunic-mic-lines:before {
content: "\e90e";
}
.phunic-question:before {
content: "\e90f";
}
.phunic-emacs:before {
content: "\e902";
}
.phunic-gitea:before {
content: "\e903";
}
.phunic-twitter:before {
content: "\ea96";
}
.phunic-rss:before {
content: "\ea9b";
}
.phunic-youtube:before {
content: "\ea9d";
}
.phunic-twitch:before {
content: "\ea9f";
}
.phunic-github:before {
content: "\eab0";
}
.phunic-reddit:before {
content: "\eac6";
}
.phunic-linkedin:before {
content: "\eac9";
}
.phunic-git:before {
content: "\eae7";
}

View File

@@ -1,17 +1,24 @@
const themeLocales = {
const pages: string[] = [
'/index.md',
'/find-me.md',
'/resume.md',
'/projects.md',
'/conlanging.md',
'/vocal-synthesis.md',
'/about.md',
'/privacy.md',
];
const localePages = (languagePrefix: string) => {
return pages.map((page: string) => `/${languagePrefix}${page}`);
};
export const themeLocales = {
'/': {
selectLanguageName: 'Français',
tip: 'nota bene',
warning: 'attention',
sidebar: [
'/README.md',
'/about.md',
'/find-me.md',
'/resume.md',
'/projects.md',
'/conlanging.md',
'/vocal-synthesis.md',
],
sidebar: pages,
notFound: [
'Cest bien vide ici',
'Pourquoi sommes-nous ici?',
@@ -29,15 +36,7 @@ const themeLocales = {
tip: 'avisa',
warning: 'averti',
danger: 'peril',
sidebar: [
'/lfn/index.md',
'/lfn/about.md',
'/lfn/find-me.md',
'/lfn/resume.md',
'/lfn/projects.md',
'/lfn/conlanging.md',
'/lfn/vocal-synthesis.md',
],
sidebar: localePages('lfn'),
notFound: [
'Ce? Se no ave no cosa asi',
'A do vade tu?',
@@ -52,16 +51,6 @@ const themeLocales = {
},
'/en/': {
selectLanguageName: 'English',
sidebar: [
'/en/index.md',
'/en/about.md',
'/en/find-me.md',
'/en/resume.md',
'/en/projects.md',
'/en/conlanging.md',
'/en/vocal-synthesis.md',
],
sidebar: localePages('en'),
},
};
export default themeLocales;

View File

@@ -0,0 +1,106 @@
export interface GithubRepo {
id: number;
node_id: string;
name: string;
full_name: string;
private: boolean;
owner: Owner;
html_url: string;
description: string;
fork: boolean;
url: string;
forks_url: string;
keys_url: string;
collaborators_url: string;
teams_url: string;
hooks_url: string;
issue_events_url: string;
events_url: string;
assignees_url: string;
branches_url: string;
tags_url: string;
blobs_url: string;
git_tags_url: string;
git_refs_url: string;
trees_url: string;
statuses_url: string;
languages_url: string;
stargazers_url: string;
contributors_url: string;
subscribers_url: string;
subscription_url: string;
commits_url: string;
git_commits_url: string;
comments_url: string;
issue_comment_url: string;
contents_url: string;
compare_url: string;
merges_url: string;
archive_url: string;
downloads_url: string;
issues_url: string;
pulls_url: string;
milestones_url: string;
notifications_url: string;
labels_url: string;
releases_url: string;
deployments_url: string;
created_at: string;
updated_at: string;
pushed_at: string;
git_url: string;
ssh_url: string;
clone_url: string;
svn_url: string;
homepage: string;
size: number;
stargazers_count: number;
watchers_count: number;
language: string;
has_issues: boolean;
has_projects: boolean;
has_downloads: boolean;
has_wiki: boolean;
has_pages: boolean;
forks_count: number;
mirror_url: null;
archived: boolean;
disabled: boolean;
open_issues_count: number;
license: null;
allow_forking: boolean;
is_template: boolean;
web_commit_signoff_required: boolean;
topics: any[];
visibility: string;
forks: number;
open_issues: number;
watchers: number;
default_branch: string;
}
export interface Owner {
login: string;
id: number;
node_id: string;
avatar_url: string;
gravatar_id: string;
url: string;
html_url: string;
followers_url: string;
following_url: string;
gists_url: string;
starred_url: string;
subscriptions_url: string;
organizations_url: string;
repos_url: string;
events_url: string;
received_events_url: string;
type: string;
site_admin: boolean;
}
export interface GithubError {
message: string;
documentation_url: string;
}

View File

@@ -1,21 +0,0 @@
# Accueil
Bonjour, je suis Lucien Cartier-Tilet, un étudiant en Master 2 THYP
(*Technologies de lHypermédia*) à lUniversité Vincennes Saint-Denis
(Paris 8).
Jai travaillé chez VoxWave de 2012 à 2018 en tant que co-fondateur et
directeur technique de lentreprise. Jy ai notamment développé les
chanteuses virtuelles francophones nommées ALYS et LEORA.
Je suis un enthousiaste du locigiel libre, utilisant Linux depuis 2008
et Emacs depuis 2016.
Mes passe-temps principaux sont la programmation, aussi bien de la
programmation système que de la programmation web, et la construction
de langues et univers fictifs. Jaime aussi faire de lescalade et
quand lopportunité se présente, de la randonnée.
Ma langue maternelle est le Français, mais je parle également
couramment en Anglais. Jai également des bases en Japonais, [Lingua
Franca Nova](https://elefen.org), et en Norvégien Bokmål.

View File

@@ -1,76 +0,0 @@
# À Propos
## Introducion
Ceci est le site web personnel de Lucien Cartier-Tilet, aussi connu
sous le nom de « Pundrak » ou « Phundrak ».
Il est écrit grâce à Vuepress et est entièrement open-source. Vous pouvez
trouver son code source sur [mon instance personnelle
Gitea](https://labs.phundrak.com/phundrak/phundrak.com).
## Où est hébergé le site?
Ce site est hébergé sur mon serveur personnel, situé dans la ville de
Bron en France, comme la majorité de mes sites. Deux autres sites,
`labs.phundrak.com` et `mail.phundrak.com`, sont hébergé sur dautres
serveurs loués à Scaleway et à OVH France respectivement, et les
serveurs se situent également en France.
## Cookies
### Que sont les cookies?
Les cookies sont des petits fichiers sauvegardés par un site web sur
votre ordinateur ou votre téléphone portable lorsque vous visitez un
site. Bien que tous les sites nen fassent pas forcément usage, ils
sont néanmoins extrêmement répandus afin de permettre aux sites de
fonctionner correctement ou plus efficacement.
Ce site utilise quelques cookies fonctionnels dans le but de se
remémorer vos préférences, comme la langue du site ou bien son thème.
Ces cookies ne sont pas et ne peuvent pas être utilisés pour vous
traquer.
Cependant, ce site étant protégé par Cloudflare, ce dernier pourra
également héberger quelques cookies afin par exemple de se souvenir
que votre navigateur ne présente pas de risque ou bien pour
enregistrer le trafic sur le site.
### Comment puis-je contrôler les cookies sur mon ordinateur?
Si vous ne souhaitez pas que Cloudflare enregistre ces dernières
activités, un bon anti-pubs devrait faire laffaire. Je recommande
personnellement [uBlock Origin](https://ublockorigin.com/), lun des
bloqueurs de pub les plus efficaces que je connaisse.
Vous pouvez également supprimer manuellement les cookies de votre
navigateur, mais étant donné le nombre de navigateurs existants, il
sera sans doute plus rapide pour vous de chercher sur DuckDuckGo,
Qwant ou Startpage comment faire pour votre navigateur actuel (si vous
vous inquiétez de lutilisation des cookies, je suppose que vous
voudrez éviter Google).
### Quid des autres méthodes de tracking?
Il existe dautres méthodes plus subtiles qui permettent de traquer
quelquun sur internet, ou même via des mails ou tout contenu web
rendu à lécran, comme pixels espions (des images extrêmement
petites). Il est également possible de stocker des cookies Flash ou
des objets locaux partagés.
Ce site nen utilise absolument pas.
## Est-ce quil y a de la pub ciblée sur ce site?
Il ny a tout simplement aucune pub sur ce site. Si vous en voyez,
vous avez sans doute un virus installé sur votre ordinateur.
## Est-ce que cette page est souvent mise à jour?
Je peux la mettre à jour de temps en temps afin de refléter des
changements de fonctionnement du site, ou si je remarque une erreur
sur la page. Il se peut aussi que jajoute un jour un tracking des
utilisateurs sur mon site via Matomo, un service de tracking
respectant la vie privée des utilisateurs et qui est tout à fait
bloquable. La date de la derniène mise à jour de cette page peut être
trouvée à son tout début.
## Jai dautres questions
Et je serai heureux dy répondre par mail. Vous pouvez me contacter
via ladresse mail [lucien@phundrak.com](mailto:lucien@phundrak.com).

24
content/about.org Normal file
View File

@@ -0,0 +1,24 @@
#+setupfile: ./headers
#+language: fr
* À Propos
** Introduction
Ceci est le site web personnel de Lucien Cartier-Tilet, aussi connu
sous le nom de « Pundrak » ou « Phundrak ».
Il est écrit avec [[https://v2.vuepress.vuejs.org/][Vuepress]] et est entièrement open-source. Vous pouvez
trouver son code source sur [[https://labs.phundrak.com/phundrak/phundrak.com][mon instance personnelle Gitea]]. Les icônes
utilisées sur ce site proviennent de plusieurs sources différentes :
- [[https://icomoon.io][IcoMoon]], que jutilise pour consolider toutes les icônes dans une
même fonte, y compris des icônes de leur pack par défaut,
- [[https://fontawesome.com/][FontAwesome]] doù viennent la majorité des icônes (leur
implémentation de leur paquet pour Vue laisse à mon avis plus quà
désirer),
- La {{{icon(conlang)}}} [[https://conlang.org/][Société de Création de Langues]] dont jai modifié
leur logo afin de créer licône pour mes langues construites,
- {{{icon(emacs)}}} [[https://www.gnu.org/software/emacs/][Emacs]] et {{{icon(writefreely)}}} [[https://writefreely.org/][WriteFreely]] dont jai recréé
une partie de leur logo respectif en SVG afin den créer une icône,
- {{{icon(gitea)}}} [[https://gitea.io/][Gitea]] dont jai modifié le logo en SVG pour lavoir en
monochrome.
#+include: other-links

View File

@@ -1,39 +0,0 @@
# Création de langues
Les *idéolangues*, ou *langues construites* (en anglais *conlang*),
sont des langues construites et artificielles, nées de lesprit dune
ou parfois quelques personnes. Elles se distinguent ainsi des *langues
naturelles* qui sont des langues ayant naturellement évolué depuis
dautres langues plus anciennes, comme le Français, lAnglais, le
Mandarin, le Japonais, le Bahasa ou le !Xhosa (oui, le point
dexclamation fait partie de lorthographe du nom de la langue).
Les idéolangues peuvent avoir différents buts lors de leur création,
comme par exemple :
- être parlées comme des langues naturelles par des individus afin de
servire de *lingua franca* entre plusieurs communautés
linguistiques, comme le célèbre
[Esperanto](https://en.wikipedia.org/wiki/Esperanto) ou bien la
[Lingua Franca Nova](https://elefen.org)
- être une langue secrète que seules quelques personnes connaissent
afin de communiquer entre eux sans que dautres personnes puissent
comprendre, un peu comme un argot mais plus poussé encore
- être une expérience concrète de linguistique, comme le
[Lojban](https://en.wikipedia.org/wiki/Lojban) qui essaie dêtre la
langue la plus logique qui soit
- complémenter un univers littéraire, comme les langues elfiques de
Tolkien ou le Klingon de Star Trek
- juste être une forme dart, comme la peinture ou la poésie
Dans mon cas, les deux dernières justifications sont celles qui me
poussent à créer de nouvelles langues. Mes deux projets principaux
actuellement sont le
[Proto-Ñyqy](https://conlang.phundrak.com/proto-nyqy) et
l[Éittlandais](https://conlang.phundrak.com/eittlandic). La première
est une langue racine qui me permettra de développer toute une famille
de langues dans mon univers littéraire, tandis que la seconde
sinscrit dans un exercice créatif de création dun pays fictif
présent dans notre monde.
Plus dinformations peuvent être trouvées sur [mon site
didéolinguistique](https://conlang.phundrak.com/) (en anglais)

39
content/conlanging.org Normal file
View File

@@ -0,0 +1,39 @@
#+setupfile: ./headers
#+language: fr
* Création de langues
Les /idéolangues/, ou /langues construites/ (en anglais /conlang/), sont des
langues construites et artificielles, nées de lesprit dune ou
parfois quelques personnes. Elles se distinguent ainsi des /langues
naturelles/ qui sont des langues ayant naturellement évolué depuis
dautres langues plus anciennes, comme le Français, lAnglais, le
Mandarin, le Japonais, le bahasa ou le !xhosa (oui, le point
dexclamation fait partie de lorthographe du nom de la langue).
Les idéolangues peuvent avoir différents buts lors de leur création,
par exemple :
- être parlées comme des langues naturelles par des individus afin de
servir de /lingua franca/ entre plusieurs communautés linguistiques,
comme le célèbre [[https://en.wikipedia.org/wiki/Esperanto][espéranto]] ou bien la [[https://elefen.org][lingua franca nova]]
- être une langue secrète que seules quelques personnes connaissent
afin de communiquer entre eux sans que dautres personnes puissent
comprendre, un peu comme un argot, mais plus poussé encore
- être une expérience concrète de linguistique, comme le [[https://en.wikipedia.org/wiki/Lojban][lojban]] qui
essaie dêtre la langue la plus logique qui soit
- complémenter un univers littéraire, comme les langues elfiques de
Tolkien ou le klingon de Star Trek
- juste être une forme dart, comme la peinture ou la poésie
Dans mon cas, les deux dernières justifications sont celles qui me
poussent à créer de nouvelles langues. Mes deux projets principaux
actuellement sont le [[https://conlang.phundrak.com/proto-nyqy][proto-ñyqy]] et l[[https://conlang.phundrak.com/eittlandic][éittlandais]]. La première est une
langue racine qui me permettra de développer toute une famille de
langues dans mon univers littéraire, tandis que la seconde sinscrit
dans un exercice créatif de création dun pays fictif présent dans
notre monde.
Plus dinformations peuvent être trouvées sur [[https://conlang.phundrak.com/][mon site
didéolinguistique]] (en anglais)
#+include: other-links

View File

@@ -1,80 +0,0 @@
# About
## Introduction
This is the personal website of Lucien “Phundrak” Cartier-Tilet.
This website is made with Vuepress and is entirely free and
open-source. You can find its source code on my Gitea instance
[here](https://labs.phundrak.com/phundrak/phundrak.com).
## Where is the website hosted?
This website is hosted on my private physical server, located in the
town of Bron in France, near Lyon. All of my websites are also hosted
on this server, except for
[`labs.phundrak.com`](https://labs.phundrak.com) and
`mail.phundrak.com` which are hosted on servers rented to Scaleway and
OVH France respectively. These servers are also located in France.
## Cookies
### What are cookies?
Cookies are small files a website saves on your computer or mobile
phone when you visit a website. site. Although not all sites make use
of them, they are nevertheless extremely common in order to allow
websites to function properly or function properly or more
efficiently.
This website uses some functional cookies in order to remember your
preferences, such as your preferred language or its color theme. These
cookies are not and cannot be used to track you.
However, as this site is protected by Cloudflare, they may also host
some cookies to remember, for example, that your browser is safe or to
record traffic to the site.
### How can I control cookies on my computer?
If you don't want Cloudflare to record your browsing activity on my
website, a good adblocker should do the trick. I personally recommend
[uBlock Origin](https://ublockorigin.com/), one of the most effective
adblockers I know of if not the most effective one.
You can also manually delete cookies from your browser, but given the
number of browsers out there, it might be quicker for you to look up
DuckDuckGo, Qwant or Startpage to do this for your current browser (if
you're worried about cookie usage, I guess you'll want to avoid
Google).
### What about other methods of tracking users?
There are other more subtle methods of tracking someone on the
internet, or even via emails or any web content rendered on the
screen, such as web beacons (extremely small images). It is also
possible to store Flash cookies or local shared objects.
This site does not use them at all.
## Is there targeted advertisement on this website?
Theres no advertisement to begin with. If you see any, check your
computer and browser for virus, that is not normal.
## How often is this page updated?
It is updated from time to time to reflect any changes in how my
website behaves, or if I notice errors on this page (such as typos). I
might add some user tracking, however dont worry, Matomo (the service
I would use) would only track you on this website and this website
only. Matomo respects the privacy of a websites users.
The date of the last update of this web page can be found at its very
beginning.
## I have other questions
And I have the answers! Ill be more thang happy to chat with you by
email, feel free to send me one at
[lucien@phundrak.com](mailto:lucien@phundrak.com).

22
content/en/about.org Normal file
View File

@@ -0,0 +1,22 @@
#+setupfile: ../headers
#+language: en
* About
** Introduction
This is the personal website of Lucien “Phundrak” Cartier-Tilet.
It is written with [[https://v2.vuepress.vuejs.org/][Vuepress]] and is completely open-source. You can
find the source code on my [[https://labs.phundrak.com/phundrak/phundrak.com][personal Gitea instance]]. Icons used on this
website come from different sources:
- [[https://icomoon.io/][IcoMoon]] which I use to consolidate all the icons used in one font,
including some icons from their default pack
- [[https://fontawesome.com/][FontAwesome]] from which most icons come from --- their Vue package
is, in my opinion, really not usable
- The {{{icon(conlang)}}} [[https://conlang.org/][Language Creation Society]] whose logo I modified in
order to create the icon used here when referring to my constructed
languages
- {{{icon(emacs)}}} [[https://www.gnu.org/software/emacs/][Emacs]] and {{{icon(writefreely)}}} [[https://writefreely.org/][WriteFreely]] whose respective
logo I partially remade as an SVG file in order to create an icon.
- {{{icon(gitea)}}} [[https://gitea.io][Gitea]] whose logo I modified to be monochromatic
#+include: other-links

View File

@@ -1,28 +0,0 @@
# Conlanging
*Conlangs*, short for *constructed languages*, are artificial
languages born out of the mind of a single individual (sometimes a
couple of them), unlike natural languages born through countless
iterations by their native speakers, slowly evolving over time like
English, French, Mandarin, Japanese, Bahasa, or !Xhosa did.
They can serve various goals from their creators:
- be spoken by as many people as possible as a neutral language, like
[Esperanto](https://en.wikipedia.org/wiki/Esperanto) and [Lingua
Franca Nova](https://elefen.org)
- be a secret language between a couple of people
- as a thought experiment, like [Lojban](https://en.wikipedia.org/wiki/Lojban)
- fill a litterary universe, like Tolkiens elvish languages or Star
Treks Klingon
- for the sake of art itself
In my case, the last two reasons are the main ones driving me to
create languages. My two main projects at the time of writing this
page are [Proto-Ñyqy](https://conlang.phundrak.com/proto-nyqy) and
[Eittlandic](https://conlang.phundrak.com/eittlandic). Both are
accompanied by their own worldbuilding project, although Proto-Ñyqys
worldbuilding is still largely secret while Eittlands worldbuilding
is mostly public.
More information can be found on my [conlanging
website](https://conlang.phundrak.com/).

28
content/en/conlanging.org Normal file
View File

@@ -0,0 +1,28 @@
#+setupfile: ../headers
#+language: en
* Conlanging
/Conlangs/, short for /constructed languages/, are artificial
languages born out of the mind of a single individual (sometimes a
couple of them), unlike natural languages born through countless
iterations by their native speakers, slowly evolving over time like
English, French, Mandarin, Japanese, Bahasa, or !Xhosa did.
They can serve various goals from their creators:
- be spoken by as many people as possible as a neutral language, like
[[https://en.wikipedia.org/wiki/Esperanto][Esperanto]] and [[https://elefen.org][Lingua Franca Nova]]
- be a secret language between a couple of people
- as a thought experiment, like [[https://en.wikipedia.org/wiki/Lojban][Lojban]]
- fill a litterary universe, like Tolkiens elvish languages or Star
Treks Klingon
- for the sake of art itself
In my case, the last two reasons are the main ones driving me to
create languages. My two main projects at the time of writing this
page are [[https://conlang.phundrak.com/proto-nyqy][Proto-Ñyqy]] and [[https://conlang.phundrak.com/eittlandic][Eittlandic]]. Both are accompanied by their own
worldbuilding project, although Proto-Ñyqys worldbuilding is still
largely secret while Eittlands worldbuilding is mostly public.
More information can be found on my [[https://conlang.phundrak.com/][conlanging website]].
#+include: other-links

View File

@@ -1,24 +0,0 @@
# Where to find me?
I am on various websites and some social networks where you can follow
me.
## Social Networks
- **Mastodon** : [@phundrak@emacs.ch](https://emacs.ch/@phundrak)
- **Twitter** : [@phundrak](https://twitter.com/phundrak), though I
harldy use it anymore and mostly reshare my Mastodon messages and
sometimes they get truncated
- **Writefreely** :
- [**@phundrak@write.phundrak.com**](https://write.phundrak.com/phundrak) :
blog alternative
- [**@phundraks-short-stories@write.phundrak.com**](https://write.phundrak.com/phundraks-short-stories) :
short stories, mainly in French for now
- **Discord** : `Phundrak#0001` (tell me you come from here, otherwise
theres a chance Ill consider your message as spam)
## Other Websites
- **Email** : [lucien@phundrak.com](mailto:lucien@phundrak.com)
- **Blog** : [blog.phundrak.com](https://blog.phundrak.com)
- **Gitea** : [@phundrak@labs.phundrak.com](https://labs.phundrak.com/phundrak)
- **GitHub** : [Phundrak](https://github.com/Phundrak)
- **YouTube** : [@phundrak](https://www.youtube.com/@phundrak)

31
content/en/find-me.org Normal file
View File

@@ -0,0 +1,31 @@
#+setupfile: ../headers
#+language: en
* Where to find me
I am on various websites and some social networks where you can follow
me.
** Social Networks
- {{{icon(mastodon)}}} *Mastodon* :: [[https://mastodon.phundrak.com/@phundrak][@phundrak@mastodon.phundrak.com]]
- {{{icon(twitter)}}} *Twitter* :: [[https://twitter.com/phundrak][@phundrak]], though I harldy use it anymore
and mostly reshare my Mastodon messages when I think to, and
sometimes they get truncated
- {{{icon(writefreely)}}} *Writefreely* ::
- [[https://write.phundrak.com/phundrak][@phundrak@write.phundrak.com]] : blog alternative
- [[https://write.phundrak.com/phundraks-short-stories][@phundraks-short-stories@write.phundrak.com]] :: short stories,
mainly in French for now
- {{{icon(discord)}}} *Discord* :: =@phundrak= (tell me you come from here,
otherwise theres a chance Ill consider your message as spam)
** Other Websites
- {{{icon(envelope)}}} *Email* :: [[mailto:lucien@phundrak.com][lucien@phundrak.com]]
- {{{icon(rss)}}} *Blog* :: [[https://blog.phundrak.com][blog.phundrak.com]]
- {{{icon(gitea)}}} *Gitea* :: [[https://labs.phundrak.com/phundrak][@phundrak@labs.phundrak.com]]
- {{{icon(github)}}} *GitHub* :: [[https://github.com/Phundrak][Phundrak]]
- {{{icon(youtube)}}} *YouTube* :: [[https://www.youtube.com/@phundrak][@phundrak]]
- {{{icon(reddit)}}} *Reddit* :: [[https://www.reddit.com/user/phundrak][/u/phundrak]]
- {{{icon(linkedin)}}} *LinkedIn* :: [[https://www.linkedin.com/in/lucien-cartier-tilet/][Lucien Cartier-Tilet]]
- {{{icon(twitch)}}} *Twitch* :: [[https://www.twitch.tv/phundrak][phundrak]]
#+include: other-links

View File

@@ -1,21 +0,0 @@
# Home
Hi, Im Lucien Cartier-Tilet, a CS student studying for my Masters 2
degree in THYP (in French: *Technologies de lHypermédia*, in English:
*Hypermedias Technologies*) at the Université Vincennes Saint-Denis
(Paris 8).
I worked at VoxWave from 2012 to 2018 as its co-founder and CTO. During
that time, I developed French singing vocal libraries for vocal
synthesizers, known as ALYS and LEORA.
Im a free software enthusiast, using GNU/Linux since 2008 and Emacs
since 2016.
I spend my personnal programming projects as well as on my constructed
worlds and languages. I also like to go climbing, and hiking whenever
I have the opportunity to.
I speak natively French, and English at a native level. I also speak
some Japanese, [Lingua Franca Nova](https://elefen.org), and Norwegian
Bokmål.

29
content/en/index.org Normal file
View File

@@ -0,0 +1,29 @@
#+setupfile: ../headers
#+language: en
* Home
Hi, Im Lucien Cartier-Tilet, a consultant working at [[https://aubay.com][Aubay]].
I studied for my Masters 2 degree in THYP (in French: /Technologies de
lHypermédia/, in English: /Hypermedia Technologies/) at the Université
Vincennes Saint-Denis (Paris 8).
I worked at VoxWave from 2012 to 2018 as its co-founder and CTO.
During that time, I developed French singing vocal libraries for vocal
synthesizers, known as ALYS and LEORA.
Im a free software enthusiast, using GNU/Linux since 2008 and Emacs
since 2016.
I spend my personnal programming projects as well as on my constructed
worlds and languages. I also like to go climbing, and hiking whenever
I have the opportunity to.
I speak natively French, and English at a native level. I also speak
some Japanese, [[https://elefen.org][Lingua Franca Nova]], and Norwegian Bokmål.
#+begin_export html
This website is also available on Gemini as [gmi.phundrak.com/en](gemini://gmi.phundrak.com/en)!
#+end_export
#+include: other-links

View File

@@ -1,177 +0,0 @@
# Introduction
KEINE Tashi is a character and set of vocal libraries developed for
the shareware [UTAU](http://utau2008.web.fc2.com/), a singing voice
synthesizer. I developed KEINE Tashi over the course of several years,
from 2012 to 2015. Three vocal libraries have been released to the
public, the most used one being his *JPN Power Extend* one. On March
10th, 2017, I announced I would cease any kind of activity related to
UTAU.
<blockquote class="twitter-tweet" data-dnt="true" data-theme="dark"><p
lang="en" dir="ltr">Id like to also announce that from now on I am
dropping my previous UTAU projects other than covers and wont develop
any new UTAU library</p>— Pundrak (@Phundrak) <a
href="https://twitter.com/Phundrak/status/840174634377105408?ref_src=twsrc%5Etfw">March
10, 2017</a></blockquote> <component is="script" async
src="https://platform.twitter.com/widgets.js"
charset="utf-8"></component>
# Character and vocal libraries
Heres a copy and paste of some old pages describing KEINE Tashi:
## Presentation
<ResponsiveImage
src="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_1024.webp"
width="1024"
preview="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_512.webp"
previewWidth="512">
Illustration de KEINE Tashi par Umi
</ResponsiveImage>
- **Codename:** BSUP01 恵音བཀྲ་ཤིས་ KEINE Tashi
- **First name:** Tashi (བཀྲ་ཤིས་), Tibetan name meaning “auspicious”
- **Last name:** Keine (恵音), Japanese name meaning “Blessing
sound”. It reads as “keine”, although its regular reading should
be “megumine”.
- **Model:** BSUP (Bödkay Shetang UTAU Project)
- **Number:** 01
- **Gender:** male
- **Birthday (lore):** June 28th, 1991
- **Birthday (first release):** October 14th, 2012
- **Weight:** 154lb / 70kg
- **Heigh:** 60″ / 182cm (very tall for a Tibetan)
- **Hair color:** black
- **Eyes color:** brown~black
- **Appearance:** Tashi wears a modernized Tibetan suit from the
Amdo Region (Chinese: 安多 Ānduō), colored in blue. He also wears
some turquoise jeweleries.
- **Favorite food:** meat momo (Tibetan raviolies)
- **Character item:** a Tibetan manuscript
- **Voice and creator:** [Phundrak](https://phundrak.com) (me)
- **Likes :** to meditate, calligraphy, old books, manuscripts (is
that a self-insert?)
- **Dislikes:** selfishness, lies, arrogance
- **Personality:** Tashi is somebody very calm, sweet. He really
enjoy old books and manuscripts, and he LOVES meditate! He's never
hungry, so, he can stay meditating for 2~3 days meditating, just
like that, until he realizes that he should eat something. And he
always keep quiet, it's really hard to make him angry.
But when he is, his anger becomes wrath. Anyone who experienced it
can attest how complex and difficult it is to calm him down.
Strangely enough, shortly after being confronted by Tashi, the
victims of this wrath see their quality of life greatly improve.
Maybe these people needed to hear some truths they refused to face
before?
## Vocal libraries
### JPN VCV
- **Download link:**
| Extension | Size | Link |
|-----------|---------|-----------------------------------------------------------------------------------|
| 7z | 25.7MiB | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_VCV.7z) |
| tar.xz | 32.5MiB | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_VCV.tar.xz) |
| zip | 38.0MiB | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_VCV.zip) |
- **File size:** 60.7MB
- **Total uncompressed size:** 94.4MB
- **Number of voice phonemes:** 1264 (253 audio files)
- **Average frequency:** G#2
- **Vocal range:** C2~D3
- **FRQ file presence:** partial
- **Release date:** October, 14th 2012
- **Phoneme encoding:** Romaji with hiragana and CV romaji aliases
- **Supported languages:** Japanese
- **oto.ini:** Tuned myself
- **Recommended engines:** TIPS, VS4U
### JPN Extend Power
- **Download link:**
| Extension | Size | Link |
|-----------|--------|--------------------------------------------------------------------------------------------|
| 7z | 1.1Gio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Power.7z) |
| tar.xz | 1.1Gio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Power.tar.xz) |
| zip | 1.2Gio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Power.zip) |
- **File size:** 114MB
- **Total uncompressed size:** 155MB
- **Number of voice phonemes:** 3020 (546 audio files)
- **Average frequency:** C3
- **Vocal range:** B1~D4
- **FRQ file presence:** partial
- **Release date:** June 28th, 2013
- **Phoneme encoding:** Romaji (hiragana aliases)
- **Supported languages:** Japanese
- **oto.ini:** Tuned myself
- **Recommended engines:** VS4U, world4utau
### JPN Extend Youth
- **Download link:**
| Extension | Size | Link |
|-----------|----------|--------------------------------------------------------------------------------------------|
| 7z | 237.7Mio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Youth.7z) |
| tar.xz | 243.5Mio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Youth.tar.xz) |
| zip | 268.7Mio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Youth.zip) |
- **File size:** 36.9MB
- **Total uncompressed size:** 42.0MB
- **Number of voice phonemes:** 1954 (182 audio files)
- **Average frequency:** C4
- **Vocal range:** F#3~A#4
- **FRQ file presence:** partial
- **Release date:** June 28th, 2013
- **Phoneme encoding:** Romaji (hiragana aliases, romaji added with
the oto.ini update)
- **Supported languages:** Japanese
- **oto.ini:** Tuned myself
- **Recommended engines:** fresamp, VS4U, world4utau
### JPN Extend Native
- **Status:** abandonned
### TIB CVVC
- **Status:** abandonned
### ENG
<ResponsiveImage
src="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_EN_673.webp"
width="673"
preview="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_EN_246.webp"
previewWidth="300">
Illustration de KEINE Tashi EN
</ResponsiveImage>
- **Status:** abandonned
# Usage clause and license
KEINE Tashi is released under the [CC BY-SA-NC 4.0
license](https://creativecommons.org/licenses/by-nc-sa/4.0/), meaning
you are free to:
- **use:** make use of the vocal libraries in UTAU or any other
singing vocal synthesizer software.
- **adapt:** remix, transform, and build upon the material
- **share:** copy and redistribute the material in any medium or
format
my work, on the condition of:
- **Attribution:** You must give appropriate credit, provide a link
to the license, and indicate if changes were made. You may do so
in any reasonable manner, but not in any way that suggests the
licensor endorses you or your use.
- **NonCommercial:** You may not use the material for commercial
purposes.
- **ShareAlike:** If you remix, transform, or build upon the
material, you must distribute your contributions under the same
license as the original.
Although I cannot add anything to this legal notice, I would also like
if you followed the following rules of thumb regarding this character:
any religious use of this character and its vocal libraries is
forbidden, with the exception of folk music, and Buddhist and Bön
songs. However, due to the current controversy, any song linked to His
Holiness the Gyalwa Karmapa is strictly forbidden until said
controversy has been officially resolved. This is also applicable to
His Holiness the Dalai Lama, the Venerable Shamar Rinpoche, and Tai
Situ Rinpoche. If you have any question or if you are unsure, please
send me an email.

190
content/en/keine-tashi.org Normal file
View File

@@ -0,0 +1,190 @@
#+setupfile: ../headers
#+language: en
* BSUP01 Keine Tashi
** Introduction
KEINE Tashi is a character and set of vocal libraries developed for
the shareware [[http://utau2008.web.fc2.com/][UTAU]], a singing voice synthesizer. I developed KEINE
Tashi over the course of several years, from 2012 to 2015. Three vocal
libraries have been released to the public, the most used one being
his *JPN Power Extend* one. On March 10th, 2017, I announced I would
cease any kind of activity related to UTAU.
#+begin_export html
<blockquote class="twitter-tweet" data-dnt="true" data-theme="dark"><p
lang="en" dir="ltr">Id like to also announce that from now on I am
dropping my previous UTAU projects other than covers and wont develop
any new UTAU library</p>— Pundrak (@Phundrak) <a
href="https://twitter.com/Phundrak/status/840174634377105408?ref_src=twsrc%5Etfw">March
10, 2017</a></blockquote> <component is="script" async
src="https://platform.twitter.com/widgets.js"
charset="utf-8"></component>
#+end_export
** Character and vocal libraries
Heres a copy and paste of some old pages describing KEINE Tashi:
*** Presentation
#+begin_export html
<ResponsiveImage
src="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_1024.webp"
:width="1024"
preview="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_512.webp"
:previewWidth="512">
Illustration de KEINE Tashi par Umi
</ResponsiveImage>
#+end_export
- Codename :: BSUP01 恵音བཀྲ་ཤིས་ KEINE Tashi
- First name :: Tashi (བཀྲ་ཤིས་), Tibetan name meaning “auspicious”
- Last name :: Keine (恵音), Japanese name meaning “Blessing sound”.
It reads as “keine”, although its regular reading should be
“megumine”.
- Model :: BSUP (Bödkay Shetang UTAU Project)
- Number :: 01
- Gender :: male
- Birthday (lore) :: June 28th, 1991
- Birthday (first release) :: October 14th, 2012
- Weight :: 154 lb / 70 kg
- Heigh :: 60″ / 182 cm (very tall for a Tibetan)
- Hair color :: black
- Eyes color :: brown~black
- Appearance :: Tashi wears a modernized Tibetan suit from the Amdo
Region (Chinese: 安多 Ānduō), colored in blue. He also wears some
turquoise jeweleries.
- Favorite food :: meat momo (Tibetan raviolies)
- Character item :: a Tibetan manuscript
- Voice and creator :: [[https://phundrak.com][Phundrak]] (me)
- Likes :: to meditate, calligraphy, old books, manuscripts (is that
a self-insert?)
- Dislikes :: selfishness, lies, arrogance
- Personality :: Tashi is somebody very calm, sweet. He really enjoys
old books and manuscripts, and he LOVES meditate! He's never hungry,
so, he can stay meditating for 2~3 days meditating, just like that,
until he realizes that he should eat something. And he always keeps
quiet, it's really hard to make him angry.
But when he is, his anger becomes wrath. Anyone who experienced it
can attest how complex and difficult it is to calm him down.
Strangely enough, shortly after being confronted by Tashi, the
victims of this wrath see their quality of life greatly improve.
Maybe these people needed to hear some truths they refused to face
before?
*** Vocal libraries
**** JPN VCV
- Download link ::
| Extension | Size | Link |
|-----------+----------+------|
| 7z | 25.7 MiB | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_VCV.7z][DL]] |
| tar.xz | 32.5 MiB | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_VCV.tar.xz][DL]] |
| zip | 38.0 MiB | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_VCV.zip][DL]] |
- File size :: 60.7 MB
- Total uncompressed size :: 94.4 MB
- Number of voice phonemes :: 1264 (253 audio files)
- Average frequency :: G#2
- Vocal range :: C2~D3
- FRQ file presence :: partial
- Release date :: October, 14th 2012
- Phoneme encoding :: Romaji with hiragana and CV romaji aliases
- Supported languages :: Japanese
- oto.ini :: Tuned myself
- Recommended engines :: TIPS, VS4U
**** JPN Extend Power
- Download link ::
| Extension | Size | Link |
|-----------+--------+------|
| 7z | 1.1Gio | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Power.7z][DL]] |
| tar.xz | 1.1Gio | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Power.tar.xz][DL]] |
| zip | 1.2Gio | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Power.zip][DL]] |
- File size :: 114 MB
- Total uncompressed size :: 155 MB
- Number of voice phonemes :: 3020 (546 audio files)
- Average frequency :: C3
- Vocal range :: B1~D4
- FRQ file presence :: partial
- Release date :: June 28th, 2013
- Phoneme encoding :: Romaji (hiragana aliases)
- Supported languages :: Japanese
- oto.ini :: Tuned myself
- Recommended engines :: VS4U, world4utau
**** JPN Extend Youth
- Download link ::
| Extension | Size | Link |
|-----------+----------+------|
| 7z | 237.7Mio | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Youth.7z][DL]] |
| tar.xz | 243.5Mio | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Youth.tar.xz][DL]] |
| zip | 268.7Mio | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Youth.zip][DL]] |
- File size :: 36.9 MB
- Total uncompressed size :: 42.0 MB
- Number of voice phonemes :: 1954 (182 audio files)
- Average frequency :: C4
- Vocal range :: F#3~A#4
- FRQ file presence :: partial
- Release date :: June 28th, 2013
- Phoneme encoding :: Romaji (hiragana aliases, romaji added with the
oto.ini update)
- Supported languages :: Japanese
- oto.ini :: Tuned myself
- Recommended engines :: fresamp, VS4U, world4utau
**** JPN Extend Native
- Status :: abandonned
**** TIB CVVC
- Status :: abandonned
**** ENG
#+begin_export html
<ResponsiveImage
src="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_EN_673.webp"
:width="673"
preview="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_EN_246.webp"
:previewWidth="300">
Illustration de KEINE Tashi EN
</ResponsiveImage>
#+end_export
- Status :: abandonned
** Usage clause and license
KEINE Tashi is released under the [[https://creativecommons.org/licenses/by-nc-sa/4.0/][CC BY-SA-NC 4.0 license]], meaning you
are free to:
- use :: make use of the vocal libraries in UTAU or any other singing
vocal synthesizer software.
- adapt :: remix, transform, and build upon the material
- share :: copy and redistribute the material in any medium or format
my work, on the condition of:
- Attribution :: You must give appropriate credit, provide a link to
the license, and indicate if changes were made. You may do so in any
reasonable manner, but not in any way that suggests the licensor
endorses you or your use.
- NonCommercial :: You may not use the material for commercial
purposes.
- ShareAlike :: If you remix, transform, or build upon the material,
you must distribute your contributions under the same license as the
original.
Although I cannot add anything to this legal notice, I would also like
if you followed the following rules of thumb regarding this character:
any religious use of this character and its vocal libraries is
forbidden, except for folk music, and Buddhist and Bön songs. However,
due to the current controversy, any song linked to His Holiness the
Gyalwa Karmapa is strictly forbidden until said controversy has been
officially resolved. This is also applicable to His Holiness the Dalai
Lama, the Venerable Shamar Rinpoche, and Tai Situ Rinpoche. If you
have any question or if you are unsure, please email me.
#+include: other-links

14
content/en/other-links Normal file
View File

@@ -0,0 +1,14 @@
# -*- mode: org -*-
#+begin_export gmi
# Other Web Pages
=> ./index.gmi Home
=> ./find-me.gmi Where to find me
=> ./resume.gmi Resume
=> ./projets.gmi Programming Projets
=> ./conlanging.gmi Conlanging
=> ./vocal-synthesis.gmi Vocal Synthesis
=> ./about.gmi About
=> ./privacy.gmi Privacy
#+end_export

76
content/en/privacy.org Normal file
View File

@@ -0,0 +1,76 @@
#+setupfile: ../headers
#+language: en
* Privacy
** Where is the website hosted?
This website is hosted on my private physical server, located in the
town of Bron in France, near Lyon. All of my websites are also hosted
on this server, except for [[https://labs.phundrak.com][=labs.phundrak.com=]] and =mail.phundrak.com=
which are hosted on servers rented to Scaleway and OVH France
respectively. These servers are also located in France.
** Cookies
*** What are cookies?
Cookies are small files a website saves on your computer or mobile
phone when you visit a website. Although not all sites make use of
them, they are nevertheless extremely common in order to allow
websites to function properly or function properly or more
efficiently.
This website uses some functional cookies in order to remember your
preferences, such as your preferred language or its colour theme.
These cookies are not and cannot be used to track you.
However, as this site is protected by Cloudflare, they may also host
some cookies to remember, for example, that your browser is safe or to
record traffic to the site.
*** How can I control cookies on my computer?
If you don't want Cloudflare to record your browsing activity on my
website, a good ad blocker should do the trick. I personally recommend
[[https://ublockorigin.com/][uBlock Origin]], one of the most effective ad blockers I know of if not
the most effective one.
You can also manually delete cookies from your browser, but given the
number of browsers out there, it might be quicker for you to look up
DuckDuckGo, Qwant or Startpage to do this for your current browser (if
you're worried about cookie usage, I guess you'll want to avoid
Google).
*** What about other methods of tracking users?
There are other more subtle methods of tracking someone on the
internet, or even via emails or any web content rendered on the
screen, such as web beacons (minuscule, invisible images). It is also
possible to store Flash cookies or local shared objects.
*** But is there any tracking at all on this website?
Well, there is, but it absolutely respects your privacy. I use my own
instance of [[https://umami.is][Umami]] which is an analytics service that is fully GDPR and
CCPA compliant. In short, when you visit a web page, some data get
sent to my service, but nothing that can identify you. If you come
back an hour later, I wont have any indication that you are the same
person.
If you still worry about your privacy, you have two options:
- Activate the Do Not Track setting of your browser (which Umami will
honour)
- Block the domain =umami.phundrak.com= in uBlock Origin (the only
ad blocker I will ever trust)
** Is there targeted advertisement on this website?
Theres no advertisement to begin with, and never will be. If you see
any, check your computer and browser for virus, that is not normal. If
it indeed comes from my website, it means it has been hacked. If you
can see in this websites repository that I myself added ads, it means
that I either lost my morals, or that I have been kidnapped and this
is a cry for help.
** How often is this page updated?
It is updated from time to time to reflect any changes in how my
website behaves, or if I notice errors on this page (such as typos).
** I have other questions
And I have the answers! Ill be more than happy to chat with you by
email, feel free to send me one at [[mailto:lucien@phundrak.com][lucien@phundrak.com]].
#+include: other-links

View File

@@ -1,7 +0,0 @@
---
title: Projects
---
# Programming
## Most Starred Projects on GitHub
## Latest Active Repositories on GitHub
# Linguistics

43
content/en/projects.org Normal file
View File

@@ -0,0 +1,43 @@
#+setupfile: ../headers
#+language: en
* Programming Projects
** Pinned GitHub Projects
#+begin_export gemini
Unfortunately, this content is not available on Gemini. Im working on it.
#+end_export
#+begin_export html
<ClientOnly>
<ListRepositories>
<GithubRepository repoName="rejeep/f.el" />
<GithubRepository repoName="Phundrak/eshell-info-banner.el" />
<GithubRepository repoName="Phundrak/dotfiles" />
<GithubRepository repoName="Phundrak/conlang.phundrak.com" />
</ListRepositories>
</ClientOnly>
#+end_export
** Most Starred Projects on GitHub
#+begin_export gemini
Unfortunately, this content is not available on Gemini. Im working on it.
#+end_export
#+begin_export html
<ClientOnly>
<ListRepositories sortBy='stars' user='phundrak' :limit='5' />
</ClientOnly>
#+end_export
** Latest Active Repositories on GitHub
#+begin_export gemini
Unfortunately, this content is not available on Gemini. Im working on it.
#+end_export
#+begin_export html
<ClientOnly>
<ListRepositories sortBy='pushed_at' user='phundrak' :limit='5' />
</ClientOnly>
#+end_export
#+include: other-links

View File

@@ -1,69 +0,0 @@
# Resume
## Information
Lucien Cartier-Tilet
Computer Science - Hypermedia Technologies second year student
## Web Programming
### Front-end
- Good knowledge in HTML5, CSS3 (including SASS, SCSS, and LESS), and
Javascript
- I know my way around in Python, Dart, and TypeScript
- Currently building experience with Vue, Nuxt.js, and Node.js
- Learning React and Next.js
### Back-end
- Some experience in back-end development with Django (Python) as well
as Rust with Rocket
- Some experience communicating with a database with Djangos and
[Diesel](https://diesel.rs)s ORM. Know my way around EmacSQL.
- Used MySQL and PostgreSQL
## System Programming
- Experienced in Rust, C and EmacsLisp knowledge
- I know my way around C++, Python, and UNIX shells (bash, fish,
Eshell)
- Limited knowledge in Prolog and Scheme
## Development Tools
### IDEs and Text Editors
- Advanced user of Emacs, including its LSP and Git integrations
- Good knowledge of Git (including Magit under Emacs)
- Basic knowledge of Vim, CLion, Pycharm, and WebStorm
### CI/CD and Deploying to the Web
- Experienced with web servers such as Nginx and Caddyserver
- Good knowledge of virtualization and deployment with Docker and
Docker Compose for virtualization, Drone.io, and Github Actions for
deployment.
## Operating Systems
- Usage and administration of Linux (Arch Linux, Void Linux, Debian,
Ubuntu, Alpine Linux)
- Administration of web servers and storage servers (Arch Linux,
Debian, Raspbian, Alpine Linux)
- Basic knowledge with Guix System and NixOS, and Windows XP through
10 (except Vista)
## Office Applications
- Good knowledge with org-mode (main tool), LaTeX
- I know my way around Libre Office, Microsoft Office, OnlyOffice, and
WPS Office
## Audio
### Singing Vocal Synthesis
- Development and creation of vocal libraries for VOCALOID3,
Alter/Ego, Chipspeech, and UTAU
- Usage of VOCALOID 2 through 4, Alter/Ego, Chipspeech, UTAU, CeVIO
Creative Studio
### Audio Engineering
- Music writing and mix software: FL Studio
- Audio repair and cleaning: iZotope RX
- Mastering: T-RackS CS

84
content/en/resume.org Normal file
View File

@@ -0,0 +1,84 @@
#+setupfile: ../headers
#+language: en
* Resume
** Profesionnal Experiences
*** Aubay (2023 - )
- Consultant since September 2023
- Internship from early February to early August 2023
- Web app development
- Usage of Angular, Java Spring Boot, Spring Batch, and PostgreSQL
*** VoxWave (2014 - 2018)
Startup specialized in the creation of French virtual singers using
vocal synthesis. Its best known product is ALYS. [[./vocal-synthesis.md][More here]].
- Co-founder, CTO
- Development of singing synthesis vocal libraries
- Linguistic research
- User support
- Recruit training for vocal libraries development
** Education
*** 2nd Year Masters Degree (University of Paris 8)
Year repeated due to health issues with no long-lasting consequences.
*** 1st Year Masters Degree (University of Paris 8)
*** Computer Science Bachelor Degree (University of Paris 8)
*** English Literature (University of Lyon 2)
Studied for a year and a half until the creation of [[./resume.md#voxwave-2014-2018][VoxWave]].
** Web Programming
*** Front-end
- Professional use of Angular and TypeScript
- Personal use of Vue (including Nuxt)
*** Back-end
- Professional use of Java SpringBoot and SpringBatch
- Professional and personal use of PostgreSQL
- Personal use of Rust ([[https://github.com/poem-web/poem/][poem]], [[https://actix.rs/][actix-web]] and [[https://rocket.rs/][Rocket]])
- Some experience in back-end development with Django (Python)
- Personal use of MySQL and SQLite
** System Programming
- Frequent usage of Rust, C, EmacsLisp, and UNIX shells (bash, fish, Eshell)
- Occasional use of C++, Python, and CommonLisp
** Development Tools
*** IDEs and Text Editors
- Professional use of VS Code, Eclipse, and Git
- Advanced user of Emacs, including its LSP and Git integrations
- Basic knowledge of Vim, CLion, Pycharm, and WebStorm
*** CI/CD and Deploying to the Web
- Experienced with web servers such as Nginx and Caddyserver
- Good knowledge of virtualization and deployment with Docker and
Docker Compose for virtualization, Drone.io, and GitHub Actions for
deployment.
** Operating Systems
- Usage and administration of Linux (Arch Linux, Void Linux, Debian,
Ubuntu, Alpine Linux, NixOS)
- Administration of web servers and storage servers (Arch Linux,
Debian, Raspbian, Alpine Linux, NixOS)
- Basic knowledge with Guix System and Windows XP through 10 (except
Vista)
** Office Applications
- Good knowledge with [[https://orgmode.org/][org-mode]] (main tool), LaTeX
- I know my way around LibreOffice, Microsoft Office, OnlyOffice, and
WPS Office
** Audio
*** Singing Vocal Synthesis
- Development and creation of vocal libraries for VOCALOID3,
Alter/Ego, Chipspeech, and UTAU
- Usage of VOCALOID 2 through 4, Alter/Ego, Chipspeech, UTAU, CeVIO
Creative Studio
*** Audio Engineering
- Music writing and mix software: FL Studio
- Audio repair and cleaning: iZotope RX
- Mastering: T-RackS CS
#+include: other-links

View File

@@ -1,61 +0,0 @@
---
title: Vocal Synthesis
---
# My works in vocal synthesis
From 2011 to 2018, I worked as an amateur and professional in singing
vocal synthesis. More precisely, I was creating vocal libraries used
by various libraries, mainly UTAU and Alter/Ego.
## UTAU
I began working with UTAU first by the end of 2011 on an unnamed and
deleted Japanese vocal library. While I didnt maintain it for long,
mainly due to its bad recording quality (I recorded it with a low-end
desktop microphone) and configuration, it did teach me the basics of
creating vocal libraries and working with audio files.
In October 14th, 2012, I released my second vocal library, named
*BSUP01 KEINE Tashi JPN VCV* which was of higher quality both due to
the recording equipment, manner of recording, and configuration,
though still relatively average for the time. My best work with this
series of vocal libraries was *BSUP01 KEINE Tashi JPN Extend Power*, a
high-energy voice made in similar circumstances but with yet again
better know-how.
This series of vocal libraries also featured *BSUP01 KEINE Tashi TIB
CVVC* and *BSUP02 Drolma TIB*, the two first Tibetan vocal libraries
for singing vocal synthesis worldwide.
I later created in UTAU *ALYS 001 JPN*, *ALYS 001 FRA*, and *ALYS 002
FRA* as prototypes, known as *ALYS4UTAU*, for our upcoming product
while working at VoxWave.
While all these vocal libraries have been discontinued, vocal
libraries for *BSUP01 KEINE Tashi* and *ALYS* are available for
download. Please refer to the following pages:
- **BSUP01 KEINE Tashi**: [BSUP01 KEINE Tashi](keine-tashi.md)
- **ALYS for UTAU**: [Open-Sourcing
ALYS](https://blog.phundrak.com/open-sourcing-alys/)
## Alter/Ego
[Alter/Ego](https://www.plogue.com/products/alter-ego.html) is a
singing vocal synthesis engine made by [Plogue
Inc.](https://www.plogue.com/). ALYS was its first commercial vocal
library as well as the first professional singing vocal library
available in French.
Due to the architecture and behaviour of Alter/Ego, important changes
had to be done to the recording script for ALYS (later re-used for
LEORA). Including the development of the new recording scripts, the
initial development period for ALYS spanned well over a year, with
some additional eight to nine months for its first major update.
ALYS for Alter/Ego, also known as *ALYS4AE*, is available free of
charge as a module for Alter/Ego, and its source files are publicly
available since December 15th, 2021. However, in accordance with
Plogue, no reciepe for building ALYS for Alter/Ego have been made
available.
More information on open-sourcing ALYS
[here](https://blog.phundrak.com/open-sourcing-alys/).

View File

@@ -0,0 +1,58 @@
#+setupfile: ../headers
#+language: en
#+begin_export html
---
title: Vocal Synthesis
---
#+end_export
* My works in vocal synthesis
From 2011 to 2018, I worked as an amateur and professional in singing
vocal synthesis. More precisely, I was creating vocal libraries used
by various libraries, mainly UTAU and Alter/Ego.
** UTAU
I began working with UTAU first by the end of 2011 on an unnamed and
deleted Japanese vocal library. While I didnt maintain it for long,
mainly due to its bad recording quality (I recorded it with a low-end
desktop microphone) and configuration, it did teach me the basics of
creating vocal libraries and working with audio files.
In October 14th, 2012, I released my second vocal library, named
/BSUP01 KEINE Tashi JPN VCV/ which was of higher quality both due to the
recording equipment, manner of recording, and configuration, though
still relatively average for the time. My best work with this series
of vocal libraries was /BSUP01 KEINE Tashi JPN Extend Power/, a
high-energy voice made in similar circumstances but with yet again
better know-how.
This series of vocal libraries also featured /BSUP01 KEINE Tashi TIB
CVVC/ and /BSUP02 Drolma TIB/, the two first Tibetan vocal libraries for
singing vocal synthesis worldwide.
I later created in UTAU /ALYS 001 JPN/, /ALYS 001 FRA/, and /ALYS 002 FRA/
as prototypes, known as /ALYS4UTAU/, for our upcoming product while
working at VoxWave.
While all these vocal libraries have been discontinued, vocal
libraries for /BSUP01 KEINE Tashi/ and /ALYS/ are available for download.
Please refer to the following pages:
- BSUP01 KEINE Tashi :: [[file:./keine-tashi.org][BSUP01 KEINE Tashi]]
- ALYS :: [[https://labs.phundrak.com/ALYS/ALYS][ALYS for Alter/Ego download]]
** Alter/Ego
[[https://www.plogue.com/products/alter-ego.html][Alter/Ego]] is a singing vocal synthesis engine made by [[https://www.plogue.com/][Plogue Inc.]].
ALYS was its first commercial vocal library as well as the first
professional singing vocal library available in French.
Due to the architecture and behaviour of Alter/Ego, important changes
had to be done to the recording script for ALYS (later re-used for
LEORA). Including the development of the new recording scripts, the
initial development period for ALYS spanned well over a year, with
some additional eight to nine months for its first major update.
ALYS for Alter/Ego, also known as /ALYS4AE/, is available free of charge
as a module for Alter/Ego
#+include: other-links

View File

@@ -1,24 +0,0 @@
# Où me trouver ?
Je suis présent sur différentes plateformes et quelques réseaux
sociaux où vous pouvez me suivre.
## Réseaux sociaux
- **Mastodon** : [@phundrak@emacs.ch](https://emacs.ch/@phundrak)
- **Twitter** : [@phundrak](https://twitter.com/phundrak), cependant
je ny suis plus très actif et jy repartage principalement mes
messages Mastodon qui parfois se font tronquer
- **Writefreely** :
- [**@phundrak@write.phundrak.com**](https://write.phundrak.com/phundrak) :
billets personnels
- [**@phundraks-short-stories@write.phundrak.com**](https://write.phundrak.com/phundraks-short-stories) :
histoires courtes
- **Discord** : `Phundrak#0001` (dites-moi que vous venez dici,
autrement il est possible que je considère le message comme du spam)
## Autres plateformes
- **Courriel** : [lucien@phundrak.com](mailto:lucien@phundrak.com)
- **Blog** : [blog.phundrak.com](https://blog.phundrak.com)
- **Gitea** : [@phundrak@labs.phundrak.com](https://labs.phundrak.com/phundrak)
- **GitHub** : [Phundrak](https://github.com/Phundrak)
- **YouTube** : [@phundrak](https://www.youtube.com/@phundrak)

31
content/find-me.org Normal file
View File

@@ -0,0 +1,31 @@
#+setupfile: ./headers
#+language: fr
* Où me trouver
Je suis présent sur différentes plateformes et quelques réseaux
sociaux où vous pouvez me suivre.
** Réseaux sociaux
- {{{icon(mastodon)}}} *Mastodon* :: [[https://mastodon.phundrak.com/@phundrak][@phundrak@mastodon.phundrak.com]]
- {{{icon(twitter)}}} *Twitter* :: [[https://twitter.com/phundrak][@phundrak]], cependant je ny suis plus très
actif et jy repartage principalement mes messages Mastodon qui
parfois se font tronquer
- {{{icon(writefreely)}}} *Writefreely* ::
- [[https://write.phundrak.com/phundrak][*@phundrak@write.phundrak.com*]] : billets personnels
- [[https://write.phundrak.com/phundraks-short-stories][*@phundraks-short-stories@write.phundrak.com*]] : histoires courtes
- {{{icon(discord)}}} *Discord* :: =@phundrak= (dites-moi que vous venez
dici, autrement il est possible que je considère le message comme
du pourriel)
** Autres plateformes
- {{{icon(envelope)}}} *Courriel* :: [[mailto:lucien@phundrak.com][lucien@phundrak.com]]
- {{{icon(rss)}}} *Blog* :: [[https://blog.phundrak.com][blog.phundrak.com]]
- {{{icon(gitea)}}} *Gitea* :: [[https://labs.phundrak.com/phundrak][@phundrak@labs.phundrak.com]]
- {{{icon(github)}}} *GitHub* :: [[https://github.com/Phundrak][Phundrak]]
- {{{icon(youtube)}}} *YouTube* :: [[https://www.youtube.com/@phundrak][@phundrak]]
- {{{icon(reddit)}}} *Reddit* :: [[https://www.reddit.com/user/phundrak][/u/phundrak]]
- {{{icon(linkedin)}}} *LinkedIn* :: [[https://www.linkedin.com/in/lucien-cartier-tilet/][Lucien Cartier-Tilet]]
- {{{icon(twitch)}}} *Twitch* :: [[https://www.twitch.tv/phundrak][phundrak]]
#+include: other-links

7
content/headers Normal file
View File

@@ -0,0 +1,7 @@
# -*- mode: org -*-
#+author: Lucien Cartier-Tilet
#+email: lucien@phundrak.com
#+creator: Lucien Cartier-Tilet
#+options: H:4 broken_links:mark email:t ^:{} tex:dvisvgm toc:nil
#+macro: icon @@html:<Icon name="$1" />@@

31
content/index.org Normal file
View File

@@ -0,0 +1,31 @@
#+setupfile: ./headers
#+language: fr
* Accueil
Bonjour, je suis Lucien Cartier-Tilet, un consultant chez [[https://aubay.com][Aubay]].
Jai étudié pour mon Master 2 THYP (/Technologies de lHypermédia/) à
lUniversité Vincennes Saint-Denis (Paris 8).
Jai travaillé chez VoxWave de 2012 à 2018 en tant que co-fondateur et
directeur technique de lentreprise. Jy ai notamment développé les
chanteuses virtuelles francophones nommées ALYS et LEORA.
Je suis un enthousiaste du logiciel libre, utilisant Linux depuis 2008
et Emacs depuis 2016.
Mes passe-temps principaux sont la programmation, aussi bien de la
programmation système que de la programmation web, et la construction
de langues et univers fictifs. Jaime aussi faire de lescalade et
quand lopportunité se présente, de la randonnée.
Ma langue maternelle est le Français, mais je parle également
couramment en anglais. Jai également des bases en japonais, [[https://elefen.org][lingua
franca nova]], et en norvégien bokmål.
#+begin_export html
Ce site web est également disponible sur Gemini à ladresse [gmi.phundrak.com](gemini://gmi.phundrak.com)!
#+end_export
#+include: other-links

View File

@@ -1,183 +0,0 @@
---
title: BSUP01 Keine Tashi
---
# Présentation
KEINE Tashi est un personnage et le nom dune collection de banques
vocales développées pour le logiciel
[UTAU](http://utau2008.web.fc2.com/), un logiciel de synthèse de voix
pour le chant. Jai développé KEINE Tashi de 2012 à 2015 et publiai
trois de ses banques vocales. Celle ayant rencontre le plus de succés
fut sa banque vocale *JPN Extend Power*. Le 10 Mars 2017, jannonçai
arrêter toutes activités liées à UTAU.
<blockquote class="twitter-tweet" data-dnt="true" data-theme="dark"><p
lang="en" dir="ltr">I&#39;d like to also announce that from now on I
am dropping my previous UTAU projects other than covers and won&#39;t
develop any new UTAU library</p>&mdash; P&#39;undrak (@Phundrak) <a
href="https://twitter.com/Phundrak/status/840174634377105408?ref_src=twsrc%5Etfw">March
10, 2017</a></blockquote> <component is="script" async
src="https://platform.twitter.com/widgets.js"
charset="utf-8"></component>
# Personnage et banques vocales
Voici une traduction en français des informations ayant trait à KEINE
Tashi sur danciennes pages le présentant.
## Présentation
<ResponsiveImage
src="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_1024.webp"
width="1024"
preview="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_512.webp"
previewWidth="512">
Illustration de KEINE Tashi par Umi
</ResponsiveImage>
- **Nom de code :** BSUP01 恵音བཀྲ་ཤིས་ KEINE Tashi
- **Prénom :** Tashi (བཀྲ་ཤིས་), prénom tibétain signifiant « auspicieux »
- **Nom :** Keine (恵音), nom japonais signifiant « son bénissant ».
Le nom se lit « keine » bien que sa lecture normale devrait être
« megumine ».
- **Modèle :** BSUP (Bödkay Shetang UTAU Project, *Projet UTAU de Chant Tibétain*)
- **Numéro :** 01
- **Sexe :** homme
- **Anniversaire (personnage) :** 28 Juin 1998
- **Première publication :** 14 Octobre 2012
- **Poids :** 154lb / 70kg
- **Taille :** 182cm
- **Couleur de cheveux :** noir
- **Couleur des yeux :** entre le marron et le noir
- **Apparance :** Tashi porte une version modernisée dun habit
tibétain traditionel de la région de lAmdo (Chinois : 安多 Ānduō)
coloré en bleu. Il porte également quelques bijoux de turquoise.
- **Nourriture préférée :** momo à la viande (raviolis tibétains)
- **Objet signature :** un manuscrit tibétain
- **Voix et créateur :** [Phundrak](https ://phundrak.com) (moi)
- **Aime :** méditer, la calligraphie, les vieux livres et
manuscripts (en gros, moi à lépoque ou je créai ce personnage)
- **Naime pas :** légoïsme, les mensonges, larrogance
- **Personalité :** Tashi est quelquun de très calme et dagréable.
Il adore les vieux livres et manuscrits, mais ce quil aime par
dessus tout est méditer. Il na jamais faim, ce qui fait quil
peut rester pendant plusieurs jours à méditer si lenvie le prend,
jusquau moment où il réalise quil a *besoin* de manger. Il est
très difficile de le mettre en colère.
Mais quand il le devient, sa colère devient explosive. Le calmer
devient alors une tâche extrêmement complexe. Étrangement, les
victimes de son couroux voient peu de temps après leur qualité de
vie grandement saméliorer. Peut-être ces personnes avaient besoin
dentendre des réalités auxquelles elles refusaient de faire
face ?
## Banques vocales
### JPN VCV
- **Lien de téléchargement :**
| Extension | Taille | Lien |
|-----------|---------|-----------------------------------------------------------------------------------|
| 7z | 25.7Mio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_VCV.7z) |
| tar.xz | 32.5Mio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_VCV.tar.xz) |
| zip | 38.0Mio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_VCV.zip) |
- **Taille décompressée :** 47.1Mio
- **Nombre de phonèmes :** 1264 (253 fichiers audio)
- **Note moyenne :** G#2
- **Plage vocale :** C2~D3
- **Présence de fichiers FRQ :** partiel
- **Date de publication :** 14 Octobre 2012
- **Encodage des phonèmes :** Romaji avec des alias hiragana et un
support CV en romaji
- **Langues supportées :** Japonais
- **Moteurs de synthèse recommandés:** TIPS, VS4U
### JPN Extend Power
- **Lien de téléchargement :**
| Extension | Taille | Lien |
|-----------|--------|--------------------------------------------------------------------------------------------|
| 7z | 1.1Gio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Power.7z) |
| tar.xz | 1.1Gio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Power.tar.xz) |
| zip | 1.2Gio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Power.zip) |
- **Taille décompressée :** 1.3Gio
- **Nombre de phonèmes :** 3020 (546 fichiers audio)
- **Note moyenne :** C3
- **Plage vocale :** B1~D4
- **Présence de fichiers FRQ :** partiel
- **Date de publication :** 28 Juin 2013
- **Encodage des phonèmes :** Romaji (alias hiragana)
- **Langues supportées :** Japonais
- **Moteurs de synthèse recommandés:** VS4U, world4utau
### JPN Extend Youth
- **Lien de téléchargement :**
| Extension | Taille | Lien |
|-----------|----------|--------------------------------------------------------------------------------------------|
| 7z | 237.7Mio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Youth.7z) |
| tar.xz | 243.5Mio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Youth.tar.xz) |
| zip | 268.7Mio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Youth.zip) |
- **Taille décompressée :** 301.1Mio
- **Nombre de phonèmes :** 1954 (182 fichiers audio)
- **Note moyenne :** C4
- **Plage vocale :** F#3~A#4
- **Présence de fichiers FRQ :** partiel
- **Date de publication :** 28 Juin 2013
- **Encodage des phonèmes :** Romaji (alias hiragana)
- **Langues supportées :** Japonais
- **Moteurs de synthèse recommandés:** fresamp, VS4U, world4utau
### JPN Extend Native
- **Status :** abandonné
### TIB CVVC
- **Status :** abandonné
### ENG
<ResponsiveImage
src="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_EN_673.webp"
width="673"
preview="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_EN_246.webp"
previewWidth="300">
Illustration de KEINE Tashi EN
</ResponsiveImage>
- **Status :** abandonné
# Licence dutilisation
KEINE Tashi est publié sous la licence [CC BY-SA-NC
4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/). Cela
signifie que vous êtes libres :
- **dutiliser :** utiliser les banques vocales dans UTAU ou tout
autre logiciel ;
- **de partager :** copier, distribuer et communiquer le matériel
par tous moyens et sous tous formats ;
- **dadapter :** remixer, transformer et créer à partir du
matériel ;
Selon les conditions suivantes :
- **Attribution :** Vous devez me créditer lors de lutilisation de
Tashi, intégrer un lien vers la licence et indiquer si des
modifications ont été effectuées. Vous devez indiquer ces
informations par tous les moyeens raisonnables, sans toutefois
suggérer que je vous soutienne ou que je soutienne la façon dont
vous utilisez Tashi ;
- **Pas dUtilisation Commerciale :** Vous nêtes pas autorisé à
faire un usage commercial de Tashi, tout ou partie du matériel le
composant ;
- **Partage dans les Mêmes Conditions :** Dans le cas où vous
effectuez un remix, que vous transformez, ou créez à partir du
matériel composant Tashi, vous devez le diffuser modifié dans les
même conditions, cest à dire avec la même licence avec laquelle
Tashi est diffusé ici.
Bien que je ne puisse pas ajouter déléments à cette licence légale,
je souhaiterais ajouter une requête personnelle : merci de ne pas
crére de chansons à caractère religieux, à lexception des chansons
tibétaines bouddhistes ou bön. Cependant, du fait de la controverse
actuelle concernant lidentité de Sa Sainteté le Gyalwa Karmapa, toute
chanson lié à sa personne est également interdite jusquà résolution
officielle de la situation. Cette interdiction est également
applicable à Sa Sainteté le Dalaï Lama, au Vénérable Shamar Rinpoché
et Tai Situ Rinpoche. Si vous avez la moindre question, nhésitez pas
à m[envoyer un email](mailto:lucien@phundrak.com).

193
content/keine-tashi.org Normal file
View File

@@ -0,0 +1,193 @@
#+setupfile: ./headers
#+language: fr
#+begin_export html
---
title: BSUP01 Keine Tashi
---
#+end_export
* BSUP01 Keine Tashi
** Présentation
Keine Tashi est un personnage et le nom dune collection de banques
vocales développées pour le logiciel [[http://utau2008.web.fc2.com/][UTAU]], un logiciel de synthèse de
voix pour le chant. Jai développé Keine Tashi de 2012 à 2015 et
publiai trois de ses banques vocales. Celle ayant rencontre le plus de
succès fut sa banque vocale /JPN Extend Power/. Le 10 mars 2017,
jannonçai arrêter toutes activités liées à UTAU.
#+begin_export html
<blockquote class="twitter-tweet" data-dnt="true" data-theme="dark">
<p lang="en" dir="ltr">
I&#39;d like to also announce that from now on I
am dropping my previous UTAU projects other than covers and won&#39;t
develop any new UTAU library
</p>
&mdash; P&#39;undrak (@Phundrak) <a href="https://twitter.com/Phundrak/status/840174634377105408?ref_src=twsrc%5Etfw">March 10, 2017</a>
</blockquote>
<component is="script" async src="https://platform.twitter.com/widgets.js" charset="utf-8"></component>
#+end_export
** Personnage et banques vocales
Voici une traduction en français des informations ayant trait à Keine
Tashi sur danciennes pages le présentant.
*** Présentation
#+begin_export html
<ResponsiveImage
src="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_1024.webp"
:width="1024"
preview="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_512.webp"
:previewWidth="512">
Illustration de KEINE Tashi par Umi
</ResponsiveImage>
#+end_export
- Nom de code :: BSUP01 恵音བཀྲ་ཤིས་ Keine Tashi
- Prénom :: Tashi (བཀྲ་ཤིས་), prénom tibétain signifiant « auspicieux »
- Nom :: Keine (恵音), nom japonais signifiant « son bénissant ». Le
nom se lit « keine » bien que sa lecture normale devrait être
« megumine ».
- Modèle :: BSUP (Bödkay Shetang UTAU Project, /Projet UTAU de Chant
Tibétain/)
- Numéro :: 01
- Sexe :: homme
- Anniversaire (personnage) :: 28 juin 1998
- Première publication :: 14 octobre 2012
- Poids :: 154lb / 70kg
- Taille :: 182cm
- Couleur de cheveux :: noir
- Couleur des yeux :: entre le marron et le noir
- Apparance :: Tashi porte une version modernisée dun habit tibétain
traditionnel de la région de lAmdo (Chinois : 安多 Ānduō) coloré en
bleu. Il porte également quelques bijoux de turquoise.
- Nourriture préférée :: momo à la viande (raviolis tibétains)
- Objet signature :: un manuscrit tibétain
- Voix et créateur :: [[https://phundrak.com][Phundrak]] (moi)
- Aime :: méditer, la calligraphie, les vieux livres et manuscripts
(en gros, moi à lépoque ou je créai ce personnage)
- Naime pas :: légoïsme, les mensonges, larrogance
- Personnalité :: Tashi est quelquun de très calme et dagréable. Il
adore les vieux livres et manuscrits, mais ce quil aime par-dessus
tout est la méditation. Il na jamais faim, ce qui fait quil peut
rester pendant plusieurs jours à méditer si lenvie le prend,
jusquau moment où il réalise quil a /besoin/ de manger. Il est très
difficile de le mettre en colère.
Mais quand il le devient, sa colère devient explosive. Le calmer
devient alors une tâche extrêmement complexe. Étrangement, les
victimes de son courroux voient peu de temps après leur qualité de
vie grandement saméliorer. Peut-être ces personnes avaient besoin
dentendre des réalités auxquelles elles refusaient de faire face ?
*** Banques vocales
**** JPN VCV
- Lien de téléchargement ::
| Extension | Taille | Lien |
|-----------+----------+------|
| 7z | 25.7 MiB | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_VCV.7z][DL]] |
| tar.xz | 32.5 MiB | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_VCV.tar.xz][DL]] |
| zip | 38.0 MiB | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_VCV.zip][DL]] |
- Taille décompressée :: 47.1Mio
- Nombre de phonèmes :: 1264 (253 fichiers audio)
- Note moyenne :: G#2
- Plage vocale :: C2~D3
- Présence de fichiers FRQ :: partiel
- Date de publication :: 14 octobre 2012
- Encodage des phonèmes :: Romaji avec des alias hiragana et un
support CV en romaji
- Langues supportées :: Japonais
- Moteurs de synthèse recommandés :: TIPS, VS4U
**** JPN Extend Power
- Lien de téléchargement ::
| Extension | Taille | Lien |
|-----------+--------+------|
| 7z | 1.1Gio | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Power.7z][DL]] |
| tar.xz | 1.1Gio | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Power.tar.xz][DL]] |
| zip | 1.2Gio | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Power.zip][DL]] |
- Taille décompressée :: 1.3Gio
- Nombre de phonèmes :: 3020 (546 fichiers audio)
- Note moyenne :: C3
- Plage vocale :: B1~D4
- Présence de fichiers FRQ :: partiel
- Date de publication :: 28 juin 2013
- Encodage des phonèmes :: Romaji (alias hiragana)
- Langues supportées :: Japonais
- Moteurs de synthèse recommandés :: VS4U, world4utau
**** JPN Extend Youth
- Lien de téléchargement ::
| Extension | Taille | Lien |
|-----------+----------+------|
| 7z | 237.7Mio | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Youth.7z][DL]] |
| tar.xz | 243.5Mio | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Youth.tar.xz][DL]] |
| zip | 268.7Mio | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Youth.zip][DL]] |
- Taille décompressée :: 301.1Mio
- Nombre de phonèmes :: 1954 (182 fichiers audio)
- Note moyenne :: C4
- Plage vocale :: F#3~A#4
- Présence de fichiers FRQ :: partiel
- Date de publication :: 28 juin 2013
- Encodage des phonèmes :: Romaji (alias hiragana)
- Langues supportées :: Japonais
- Moteurs de synthèse recommandés :: fresamp, VS4U, world4utau
**** JPN Extend Native
- Status :: abandonné
**** TIB CVVC
- Status :: abandonné
**** ENG
#+begin_export html
<ResponsiveImage
src="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_EN_673.webp"
:width="673"
preview="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_EN_246.webp"
:previewWidth="300">
Illustration de Keine Tashi EN
</ResponsiveImage>
#+end_export
- Status :: abandonné
** Licence dutilisation
Keine Tashi est publié sous la licence [[https://creativecommons.org/licenses/by-nc-sa/4.0/][CC BY-SA-NC 4.0]]. Cela signifie
que vous êtes libres :
- dutiliser :: utiliser les banques vocales dans UTAU ou tout autre
logiciel ;
- de partager :: copier, distribuer et communiquer le matériel par
tous moyens et sous tous formats ;
- dadapter :: remixer, transformer et créer à partir du matériel ;
Selon les conditions suivantes :
- Attribution :: Vous devez me créditer lors de lutilisation de
Tashi, intégrer un lien vers la licence et indiquer si des
modifications ont été effectuées. Vous devez indiquer ces
informations par tous les moyens raisonnables, sans toutefois
suggérer que je vous soutienne ou que je soutienne la façon dont
vous utilisez Tashi ;
- Pas dUtilisation Commerciale :: Vous nêtes pas autorisé à faire un
usage commercial de Tashi, tout ou partie du matériel le composant ;
- Partage dans les Mêmes Conditions :: Dans le cas où vous effectuez
un remix, que vous transformez ou créez à partir du matériel
composant Tashi, vous devez le diffuser modifié dans les mêmes
conditions, c'est-à-dire avec la même licence avec laquelle Tashi
est diffusé ici.
Bien que je ne puisse pas ajouter déléments à cette licence légale,
je souhaiterais ajouter une requête personnelle : merci de ne pas
créer de chansons à caractère religieux, à lexception des chansons
tibétaines bouddhistes ou bön. Cependant, du fait de la controverse
actuelle concernant lidentité de Sa Sainteté le Gyalwa Karmapa, toute
chanson lié à sa personne est également interdite jusquà résolution
officielle de la situation. Cette interdiction est également
applicable à Sa Sainteté le Dalaï Lama, au Vénérable Shamar Rinpoché
et Tai Situ Rinpoche. Si vous avez la moindre question, nhésitez pas
à m[[mailto:lucien@phundrak.com][envoyer un email]].
#+include: other-links

View File

@@ -1,63 +0,0 @@
# A tema de esta loca ueb
## Introdui
Asi es la loca ueb personal de Lucien Cartier-Tilet, ance conoseda
commo “Pundrak” o “Phundrak”.
Lo es scriveda con Vuepress e es completa de fonte abrida. On pote
trova la testo de fonte sur [mea loca ueb Gitea
personal](https://labs.phundrak.com/phundrak/phundrak.com).
# Do es ospitada esa loca ueb?
Esa loca ueb es ospitada sur mea servador ueb personal, en la site de
Bron en Frans, como la majoria de mea locos ueb.
[`labs.phundrak.com`](https://labs.phundrak.com) e `mail.phundrak.com`
ambos es ospitada on servadores ueb ce me lua a Scaleway e OVH Frans
en ordina, e esa servadores simil es en Frans.
# Cucis
## Ce es cucis
Cucis es peti fixes registrada par un loca ueb sur tua computa o
telefoneta cuando te lo visita. An si no tota la locas ueb usa lo, los
es an con tota estrema comun. Los capasi esa locas ueb a funsiona
coreta o plu eficas.
Esa loca ueb usa cucis con la ojeto de recorda tua prefere, como ance
la lingua o la motif ce te ia eleje. Lo ance usa cucis de mi personal
Matomo par sabe lo ce lo usores de esa loca ueb fa asi, ma Matomo
trasa lo sola sur mea locas ueb.
An tal, esa loca ueb es protejeda par Cloudflare, esa compania ance
pote ospita alga cucis afin lo recorda si tu surfador es un risca par
me loca ueb o no.
## Como me pote controla la cucis sur mea computa?
Si te no vole ce Cloudflare o Matomo recorda cucis, un bon
anti-comersial como [uBlock Origin](https://ublockorigin.com/) ta pote
te proteje (es la plu eficas ce me conose). Matomo ance respecta la
demanda “no trasa me” de surfadores.
Te pote ance supresa con mano la cucis de tua surfador, ma me no pote
te dise como, lo ave tro ce esiste. Ma te pote xerca sur DuckDuckGo,
Qwant o Startpage como supresa lo (me suposa ce si tu vole supresa lo,
te vole evita Google).
## E la otra metodos afin de trasa?
Lo esista otra metodos plu sutil afin de trasa usores sur la interede,
o an con epostas o cada contenida ueb, como pixeles spia (imajes
estrema peti), cucis Flash o ojetos local compartida.
Ma esa loca ueb no usa lo.
## Esa loca ueb usa comersiales intendeda?
Lo no ave no comersiales. Si te lo vide asi, te ave un virus sur tua
computa o surfador.
## Ave esa pajina frecuente refrescis?
Me dona esa pajina un refresci aora e alora cuando lo debe a mostra
cambias de funsiona de mea loca ueb, o si me trova eras. Te pote trove
la ultima refresci de esa pajina a supra.
## Me ave otra demandas
Te pote scrive me un eposta a la adirije de eposta
[lucien@phundrak.com](mailto:lucien@phundrak.com).

23
content/lfn/about.org Normal file
View File

@@ -0,0 +1,23 @@
#+setupfile: ../headers
#+language: lfn
* A tema
** Introdui
Asi es la loca ueb personal de Lucien Cartier-Tilet, ance conoseda
commo “Pundrak” o “Phundrak”.
Lo es scriveda con [[https://v2.vuepress.vuejs.org/][Vuepress]] e es completa de fonte abrida. On pote
trova la totalia de la testo de fonte sur [[https://labs.phundrak.com/phundrak/phundrak.com][mea Gitea personal]]. La
icones ce es usada sur esa loca ueb veni de varia orijinas diversa:
- [[https://icomoon.io][IcoMoon]] ce me usa afin faxi icones en un tipo de letra unica,
incluinte alga de lor propre icones,
- [[https://fontawesome.com/][FontAwesome]] de do la majoria de mea icones veni (lor util per Vue no
es vera bon en mea opinia)
- La {{{icon(conlang)}}} [[https://conlang.org/][Asosia de Crea de Linguas]] {{{icon(conlang)}}} de cual me
ia altera lor logo per mea linguas construida,
- {{{icon(emacs)}}}[[https://www.gnu.org/software/emacs/][Emacs]] e {{{icon(writefreely)}}} [[https://writefreely.org/][WriteFreely]] de cual me ia
recrea parte de lor logo propre en SVG afin de crea un icon,
- {{{icon(gitea)}}} [[https://gitea.io][Gitea]] de cual me ia altera la logo afin fa lo
monocromatica.
#+include: other-links

View File

@@ -1,30 +0,0 @@
# Crea de linguas
La *linguas construida* (en engles *conlang*) es linguas artifis
naseda de la spirito de un, o a veses alga persones. Les es diferente
de linguas natural ce apare con la evolui de un lingua presedente
parlada par un popla completa dura multiple sentenios, como franses,
engles, putong, nion, bahasa o cosa (engles: *!Xhosa*).
Linguas construida pote ave difere intende tra sua crea, pe:
- es parlada como otra linguas natural afin de es un lingua franca
entre multiple comunias, como elefen o esperanto
- es un lingua secreta ce sola algun persones conose afin de comunica
sin ce on comprende los
- esperia lo ce es posible linguisticamente, como
[Lojban](https://en.wikipedia.org/wiki/Lojban) ce atenta a es la
lingua la plu lojica
- completa un universo fantasial, como la linguas elfin de Tolkien o
klingon de Star Trek
- sola es arte, como la pinta o la poesia.
En mea caso, la du ultima espicas es los ce me impulsa a crea nova
linguas. Mea du projetas xef es
[proto-ñyqy](https://conlang.phundrak.com/proto-nyqy) e
[eittlansce](https://conlang.phundrak.com/eittlandic). La prima es un
lingua prima ce se fundi sur no otra lingua, ma ce me va usa a crea un
familia linguistica completa, en ce eittlansce es desende de la lingua
de la vicinges, vea nordica, e ce se parla en la pais fantasial de
Eittland.
On pote trove plu de informa sur [mea loca ueb de linguas construida](https://conlang.phundrak.com/).

View File

@@ -0,0 +1,31 @@
#+setupfile: ../headers
#+language: lfn
* Crea de linguas
La /linguas construida/ (en engles /conlang/) es linguas artifis naseda de
la spirito de un persone, o a veses alga persones. Les es diferente de
linguas natural ce apare con la evolui de un lingua presedente parlada
par un popla completa dura multiple sentenios, como franses, engles,
putong, nion, o bahasa o cosa (/!Xhosa/).
Linguas construida pote ave diversa intende tra sua crea, pe:
- es parlada como otra linguas natural afin de es un lingua franca
entre multiple comunias, como elefen o esperanto
- es un lingua secreta ce sola algun persones conose afin de comunica
sin ce on comprende los
- esperia lo ce es posible linguisticamente, como [[https://en.wikipedia.org/wiki/Lojban][Lojban]] ce atenta a
es la lingua la plu lojica
- completa un universo fantasial, como la linguas elfin de Tolkien o
klingon de Star Trek
- sola es arte, como la pinta o la poesia.
En mea caso, la du ultima espicas es lo ce me impulsa a crea nova
linguas. Mea du projetas xef es [[https://conlang.phundrak.com/proto-nyqy][proto-ñyqy]] e [[https://conlang.phundrak.com/eittlandic][eittlansce]]. La prima es
un lingua prima ce se fundi sur no otra lingua, ma ce me va usa a crea
un familia linguistica completa, en ce eittlansce es desende de la
lingua de la vicinges, vea nordica, e ce se parla en la pais fantasial
de Eittland.
On pote trove plu de informa sur [[https://conlang.phundrak.com/][mea loca ueb de linguas construida]].
#+include: other-links

View File

@@ -1,23 +0,0 @@
# Do on pote me trova?
On pote me trova sur multe loca ueb e redes sosial do te pote me segue.
## Redes sosial
- **Mastodon** : [@phundrak@emacs.ch](https://emacs.ch/@phundrak)
- **Twitter** : [@phundrak](https://twitter.com/phundrak), ma me lo
usa a poca veses, la plu de mea tuitas es mea mesajes mastodon ce es
a vesas truncada
- **Writefreely** :
- [**@phundrak@write.phundrak.com**](https://write.phundrak.com/phundrak) :
revistas personal
- [**@phundraks-short-stories@write.phundrak.com**](https://write.phundrak.com/phundraks-short-stories) :
istorias corta (a multe veses en Frans)
- **Discord** : `Phundrak#0001` (dise me ce tu veni de asi, si no me
pote pensa ce tua mesaje es spam)
## Other Websites
- **Eposta** : [lucien@phundrak.com](mailto:lucien@phundrak.com)
- **Blog** : [blog.phundrak.com](https://blog.phundrak.com)
- **Gitea** : [@phundrak@labs.phundrak.com](https://labs.phundrak.com/phundrak)
- **GitHub** : [Phundrak](https://github.com/Phundrak)
- **YouTube** : [@phundrak](https://www.youtube.com/@phundrak)

28
content/lfn/find-me.org Normal file
View File

@@ -0,0 +1,28 @@
#+setupfile: ../headers
#+language: lfn
* Do trova me
On pote trova me sur multe loca ueb e redes sosial do on pote segue me.
** Redes sosial
- {{{icon(mastodon)}}} *Mastodon* :: [[https://mastodon.phundrak.com/@phundrak][@phundrak@mastodon.phundrak.com]]
- {{{icon(twitter)}}} *Twitter* :: [[https://twitter.com/phundrak][@phundrak]], ma me usa lo a poca veses, la
plu de mea tuitas es mea mesajes mastodon ce es a vesas truncada
- {{{icon(writefreely)}}} *Writefreely* ::
- [[https://write.phundrak.com/phundrak][@phundrak@write.phundrak.com]] :: revistas personal
- [[https://write.phundrak.com/phundraks-short-stories][@phundraks-short-stories@write.phundrak.com]] :: istorias corta (a
multe veses en Frans)
- {{{icon(discord)}}} *Discord* :: =@phundrak= (dise me ce tu veni de asi,
si no, me pote pensa ce tua mesaje es spam)
** Other Websites
- {{{icon(envelope)}}} *Eposta* :: [[mailto:lucien@phundrak.com][lucien@phundrak.com]]
- {{{icon(rss)}}} *Blog* :: [[https://blog.phundrak.com][blog.phundrak.com]]
- {{{icon(gitea)}}} *Gitea* :: [[https://labs.phundrak.com/phundrak][@phundrak@labs.phundrak.com]]
- {{{icon(github)}}} *GitHub* :: [[https://github.com/Phundrak][Phundrak]]
- {{{icon(youtube)}}} *YouTube* :: [[https://www.youtube.com/@phundrak][@phundrak]]
- {{{icon(reddit)}}} *Reddit* :: [[https://www.reddit.com/user/phundrak][/u/phundrak]]
- {{{icon(linkedin)}}} *LinkedIn* :: [[https://www.linkedin.com/in/lucien-cartier-tilet/][Lucien Cartier-Tilet]]
- {{{icon(twitch)}}} *Twitch* :: [[https://www.twitch.tv/phundrak][phundrak]]
#+include: other-links

View File

@@ -1,20 +0,0 @@
# Paje Prima
Saluta, me es Lucien Cartier-Tilet, un studiante de informatica en la
Master 2 THYP (franses: *Technologies de lHypermédia*, elefen:
*Tecnolojia de la Ipermedia*) en la Universia Vincennes Saint-Denis
(Paris 8).
Me ia labora a VoxWave de 2012 a 2018 como un de sua co-fundores e sua
dirijor tecnical. Dura esta tempo, me ia crea la cantores virtual
franses ALYS e LEORA.
Me es un zelo de la programes libre, usante GNU/Linux de 2008 e Emacs
de 2016.
Me amatos es la crea de programes e construi mundos e linguas
fantasial. Me ama ance asende e, cuando me lo pote, pasea en la
montania.
Mea lingua prima es franses, ma me pote parla fasil engles. Me ance
pote parla alga nion, norsce (bokmål) e elefen.

30
content/lfn/index.org Normal file
View File

@@ -0,0 +1,30 @@
#+setupfile: ../headers
#+language: lfn
* Paje prima
Saluta, me es Lucien Cartier-Tilet, un spesialiste laborante a [[https://aubay.com][Aubay]].
Me ia studia la informatica en la Master 2 THYP (franses: /Technologies
de lHypermédia/, elefen: /Tecnolojia de la Ipermedia/) en la Universia
Vincennes Saint-Denis (Paris 8).
Me ia labora a VoxWave de 2012 a 2018 como un de sua co-fundores e sua
dirijor tecnical. Dura esta tempo, me ia crea la cantores virtual
franses ALYS e LEORA.
Me es un zelo de la programes libre, usante GNU/Linux de 2008 e Emacs
de 2016.
Me amatos es la crea de programes e construi mundos e linguas
fantasial. Me ama ance asende e pasea en la montania cuando me pote
lo.
Mea lingua prima es franses, ma me pote parla fasil engles. Me ance
pote parla alga nion, norsce (bokmål) e elefen.
#+begin_export html
Eso loca ueb es ance dispone per Gemini a la adirije ueb [gmi.phundrak.com/lfn](gemini://gmi.phundrak.com/lfn)!
#+end_export
#+include: other-links

View File

@@ -1,167 +0,0 @@
---
title: BSUP01 KEINE Tashi
---
# Presenta
KEINE Tashi es un carater e la nom de un colie de bancos de voses
developa per la program [UTAU](http://utau2008.web.fc2.com/), un
program de sintese de vose per canta. Me ia developa KEINE Tashi de
2012 a 2015 e me ia publici tre de sua bancos de vose. La ce ia ave la
plu de susede ia sua banco de vose *JPN Extend Power*. La 10 marto
2017, me ia anunsia ce me para tota mea ativias liada a UTAU.
<blockquote class="twitter-tweet" data-dnt="true" data-theme="dark"><p
lang="en" dir="ltr">I&#39;d like to also announce that from now on I
am dropping my previous UTAU projects other than covers and won&#39;t
develop any new UTAU library</p>&mdash; P&#39;undrak (@Phundrak) <a
href="https://twitter.com/Phundrak/status/840174634377105408?ref_src=twsrc%5Etfw">March
10, 2017</a></blockquote> <component is="script" async
src="https://platform.twitter.com/widgets.js"
charset="utf-8"></component>
# Carater e bancos de vose
On ave asi en elefen la informas liada a KEINE Tashi sur vea pajinas
ce le ia presenta.
## Presenta
<ResponsiveImage
src="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_1024.webp"
width="1024"
preview="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_512.webp"
previewWidth="512">
Desinia de KEINE Tashi par Umi
</ResponsiveImage>
- **Nom de codigo:** BSUP01 恵音བཀྲ་ཤིས་ KEINE Tashi
- **Nom individua:** Tashi (བཀྲ་ཤིས་), nom individua bod ce sinifia "augurida"
- **Nom familial:** Keine (恵音), nom familial nion ce sinifia "sona
bondisada". On debe leje la nom como "keine", an si la leje ta es
"megumine".
- **Model:** BSUP (Bödkay Shetang UTAU Project, franses: *Projet UTAU
de Chant Tibétain*, elefen: *Projeta UTAU de Canta Bod*)
- **Numero:** 01
- **Seso:** om
- **Aniversario (carater):** 28 junio 1998
- **Primera Publici:** 14 otobre 2012
- **Pesa:** 70 kg / 154 lb
- **Taie:** 182 cm / 5 ft 11 in
- **Color de capeles:** negra
- **Color de oios:** entre la brun e la negra
- **Aspeta:** Tashi apone un varia moderna de un veste bod tradisional
de la rejion de Amdo (Jonguo: 安多 Ānduō) de color azul o blu. El
apone egal joalas de turcesa.
- **Comable prefereda:** momo a la carne (raviolis bod)
- **Ojeto suscrive:** un manoscrito bod
- **Vose e creor:** [Phundrak](https://phundrak.com) (me)
- **Ama:** medita, la caligrafia, vea libros e manuscritos (en
jeneral, mea cuando me ia crea esa carater)
- **No ama:** la egosia, mentis, vania
- **Personalia:** Tashi es algun ce es multe calma e gustable. El
gusta vea libros e manuscritos, ma lo ce el gusta plu ce tota es
medita. El fami an nunca, par acel el pote mudi et medita durante
multe dias si el vole lo, asta el momento cuando el **nesesa** come.
El coleri multe difisil.
Ma cuando coleri, sua coler deveni esplodente. Calmi el deveni alora
un taxe multa compleso. Ma es bizara ce la vitimes de sua furia ave
la cualia de sua vives deveni multe plu bon e se boni enorme. Se
pote ce esa personas ia nesesa oia realias ce los ia refusa oia?
## Bancos de voses
### JPN VCV
- **Descarga:**
| Sufisa | Taie | Iperlia |
|--------|---------|-----------------------------------------------------------------------------------|
| 7z | 25.7Mio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_VCV.7z) |
| tar.xz | 32.5Mio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_VCV.tar.xz) |
| zip | 38.0Mio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_VCV.zip) |
- **Taie descompresada:** 47.1Mio
- **Numero de fonemes:** 1264 (253 fixes audio)
- **Tono media:** G#2
- **Estende vosal:** C2~D3
- **Presente de fixes FRQ:** partal
- **Data de publici:** 14 otobre 2012
- **Codigo de la fonemes:** Romaji con aliases hiragana e CV en
romaji
- **Linguas suportada:** nion
- **Motores de sintese recomenda:** TIPS, VS4U
### JPN Extend Power
- **Descarga:**
| Sufisa | Taie | Iperlia |
|--------|--------|--------------------------------------------------------------------------------------------|
| 7z | 1.1Gio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Power.7z) |
| tar.xz | 1.1Gio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Power.tar.xz) |
| zip | 1.2Gio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Power.zip) |
- **Taie descompresada:** 1.3Gio
- **Numero de fonemes:** 3020 (546 fixes audio)
- **Tono media:** C3
- **Estende vosal:** B1~D4
- **Presente de fixes FRQ:** partal
- **Data de publici:** 28 junio 2013
- **Codigo de la fonemes:** Romaji (aliases hiragana)
- **Linguas suportada:** nion
- **Motores de sintese recomenda:** VS4U, world4utau
### JPN Extend Youth
- **Descarga:**
| Sufisa | Taie | Iperlia |
|--------|----------|--------------------------------------------------------------------------------------------|
| 7z | 237.7Mio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Youth.7z) |
| tar.xz | 243.5Mio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Youth.tar.xz) |
| zip | 268.7Mio | [DL](https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Youth.zip) |
- **Taie descompresada:** 301.1Mio
- **Numero de fonemes:** 1954 (182 fixes audio)
- **Tono media:** C4
- **Estende vosal:** F#3~A#4
- **Presente de fixes FRQ:** partal
- **Data de publici:** 28 junio 2013
- **Codigo de la fonemes:** Romaji (aliases hiragana)
- **Linguas suportada:** nion
- **Motores de sintese recomenda:** fresamp, VS4U, world4utau
### JPN Extend Native
- **State:** abandonada
### TIB CVVC
- **State:** abandonada
### ENG
<ResponsiveImage
src="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_EN_673.webp"
width="673"
preview="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_EN_246.webp"
previewWidth="300">
Desinia de KEINE Tashi EN
</ResponsiveImage>
- **State:** abandonada
# Lisensa de usa
KEINE Tashi es publica con la lisensa [CC BY-SA-NC
4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/). Esa sinifia
ce tu pote:
- **usa**: usa la bancos de voses en UTAU o tota otra program
- **comparti**: copia e distribui la materia en cualce media o formato
- **adata**: remisca, muta e crea partinte de la materia
Si te respeta esa condisionas:
- **Atribui**: te debe de atribui mea cuando te usa Tashi, inclui un
iperlia a la lisensa e indica si te ia muta alga cosa. Te debe
incida esa informas con tota media razonante, ma no de forma ce on
pote crede ce me promove o suporta tua usa de Tashi
- **NoComersial**: te pote a no grado ave un usa comersial Tashi
- **CompartiEgal**: si te fe un remisca, un modifia o si te crea
partinte de la materia de Tashi, te debe comparti lo con la mesma
state, per dise con la mesma lisensa ce me comparti Tashi asi.
An con ce me no pote ajunta elementos a esa lisensa legal, me vole
ajunta un solisita personal: me prefere si te no ta crea cantas
relijial estra de cantas bod budiste o bon. An con tota, par causa de
la controversa consernante la identia de Sua Santia La Gialua Karmapa,
tota canta lia a sua person es nonpermeteda asta esa situa es solveda.
Esa despermete es simil aplicada a Sia Santia la Dalai Lama, la
Onorable Xamar Rinpotxe e Tai Situ Rinpotxe. Si te ave un demanda o si
te no es serta, envia me [un eposta](mailto:lucien@phundrak.com).

178
content/lfn/keine-tashi.org Normal file
View File

@@ -0,0 +1,178 @@
#+setupfile: ../headers
#+language: lfn
* BSUP01 Keine Tashi
** Presenta
KEINE Tashi es un carater e la nom de un colie de bancos de voses
developa per la program [[http://utau2008.web.fc2.com/][UTAU]], un program de sintese de vose per canta.
Me ia developa KEINE Tashi de 2012 a 2015 e me ia publici tre de sua
bancos de vose. La ce ia ave la plu de susede ia es sua banco de vose
/JPN Extend Power/. La 10 marto 2017, me ia anunsia ce me para tota mea
ativias liada a UTAU.
#+begin_export html
<blockquote class="twitter-tweet" data-dnt="true" data-theme="dark"><p
lang="en" dir="ltr">I&#39;d like to also announce that from now on I
am dropping my previous UTAU projects other than covers and won&#39;t
develop any new UTAU library</p>&mdash; P&#39;undrak (@Phundrak) <a
href="https://twitter.com/Phundrak/status/840174634377105408?ref_src=twsrc%5Etfw">March
10, 2017</a></blockquote> <component is="script" async
src="https://platform.twitter.com/widgets.js"
charset="utf-8"></component>
#+end_export
** Carater e bancos de vose
On ave asi en elefen la informas liada a KEINE Tashi sur sua vea
pajinas ce le ia presenta.
*** Presenta
#+begin_export html
<ResponsiveImage
src="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_1024.webp"
width="1024"
preview="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_512.webp"
previewWidth="512">
Desinia de KEINE Tashi par Umi
</ResponsiveImage>
#+end_export
- Nom de codigo :: BSUP01 恵音བཀྲ་ཤིས་ KEINE Tashi
- Nom individua :: Tashi (བཀྲ་ཤིས་), nom individua bod ce sinifia "augurida"
- Nom familial :: Keine (恵音), nom familial nion ce sinifia "sona
bondisada". On debe leje la nom como "keine", an si la leje ta debe
es "megumine".
- Model :: BSUP (Bödkay Shetang UTAU Project, franses: /Projet UTAU
de Chant Tibétain/, elefen: /Projeta UTAU de Canta Bod/)
- Numero :: 01
- Seso :: om
- Aniversario (carater) :: 28 junio 1998
- Primera Publici :: 14 otobre 2012
- Pesa :: 70 kg / 154 lb
- Taie :: 182 cm / 5 ft 11 in
- Color de capeles :: negra
- Color de oios :: entre la brun e la negra
- Aspeta :: Tashi apone un varia moderna de un veste bod tradisional
de la rejion de Amdo (Jonguo: 安多 Ānduō) de color azul o blu. El
apone egal joalas de turcesa.
- Comable prefereda :: momo a la carne (raviolis bod)
- Ojeto suscrive :: un manoscrito bod
- Vose e creor :: [[https://phundrak.com][Phundrak]] (me)
- Ama :: medita, la caligrafia, vea libros e manuscritos (en jeneral,
me cuando me ia crea esa carater)
- No ama :: la egosia, mentis, vania
- Personalia :: Tashi es algun ce es multe calma e gustable. El gusta
vea libros e manuscritos, ma lo ce el gusta plu ca tota es medita.
El fami an nunca, par acel el pote mudi et medita durante multe dias
si el vole lo, asta el momento cuando el *nesesa* come. El coleri
multe difisil.
Ma cuando coleri, sua coler deveni esplodente. Calmi el deveni alora
un taxe multa compleso. Ma es bizara ce la vitimes de sua furia ave
la cualia de sua vives deveni multe plu bon e se boni enorme. Se
pote ce esa personas ia nesesa oia realias ce los ia refusa oia?
*** Bancos de voses
**** JPN VCV
- Descarga ::
| Sufisa | Taie | Iperlia |
|--------+---------+---------|
| 7z | 25.7Mio | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_VCV.7z][DL]] |
| tar.xz | 32.5Mio | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_VCV.tar.xz][DL]] |
| zip | 38.0Mio | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_VCV.zip][DL]] |
- Taie descompresada :: 47.1Mio
- Numero de fonemes :: 1264 (253 fixes audio)
- Tono media :: G#2
- Estende vosal :: C2~D3
- Presente de fixes FRQ :: partal
- Data de publici :: 14 otobre 2012
- Codigo de la fonemes :: Romaji con aliases hiragana e CV en
romaji
- Linguas suportada :: nion
- Motores de sintese recomenda :: TIPS, VS4U
**** JPN Extend Power
- Descarga ::
| Sufisa | Taie | Iperlia |
|--------+--------+---------|
| 7z | 1.1Gio | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Power.7z][DL]] |
| tar.xz | 1.1Gio | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Power.tar.xz][DL]] |
| zip | 1.2Gio | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Power.zip][DL]] |
- Taie descompresada :: 1.3Gio
- Numero de fonemes :: 3020 (546 fixes audio)
- Tono media :: C3
- Estende vosal :: B1~D4
- Presente de fixes FRQ :: partal
- Data de publici :: 28 junio 2013
- Codigo de la fonemes :: Romaji (aliases hiragana)
- Linguas suportada :: nion
- Motores de sintese recomenda :: VS4U, world4utau
**** JPN Extend Youth
- Descarga ::
| Sufisa | Taie | Iperlia |
|--------+----------+---------|
| 7z | 237.7Mio | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Youth.7z][DL]] |
| tar.xz | 243.5Mio | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Youth.tar.xz][DL]] |
| zip | 268.7Mio | [[https://cdn.phundrak.com/files/KeineTashi/BSUP01_KEINE_Tashi_JPN_Extend_Youth.zip][DL]] |
- Taie descompresada :: 301.1Mio
- Numero de fonemes :: 1954 (182 fixes audio)
- Tono media :: C4
- Estende vosal :: F#3~A#4
- Presente de fixes FRQ :: partal
- Data de publici :: 28 junio 2013
- Codigo de la fonemes :: Romaji (aliases hiragana)
- Linguas suportada :: nion
- Motores de sintese recomenda :: fresamp, VS4U, world4utau
**** JPN Extend Native
- State :: abandonada
**** TIB CVVC
- State :: abandonada
**** ENG
#+begin_export html
<ResponsiveImage
src="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_EN_673.webp"
width="673"
preview="https://cdn.phundrak.com/img/UTAU/KEINE_Tashi_EN_246.webp"
previewWidth="300">
Desinia de KEINE Tashi EN
</ResponsiveImage>
#+end_export
- State :: abandonada
** Lisensa de usa
KEINE Tashi es publica con la lisensa [[https://creativecommons.org/licenses/by-nc-sa/4.0/][CC BY-SA-NC 4.0]]. Esa sinifia ce
tu pote:
- usa :: usa la bancos de voses en UTAU o tota otra program
- comparti :: copia e distribui la materia en cualce media o formato
- adata :: remisca, muta e crea partinte de la materia
Si te respeta esa condisionas:
- Atribui :: te debe de atribui mea cuando te usa Tashi, inclui un
iperlia a la lisensa e indica si te ia muta alga cosa. Te debe
incida esa informas con tota media razonante, ma no de forma ce on
pote crede ce me promove o suporta tua usa de Tashi
- NoComersial :: te pote a no grado ave un usa comersial Tashi
- CompartiEgal :: si te fe un remisca, un modifia o si te crea
partinte de la materia de Tashi, te debe comparti lo con la mesma
state, per dise con la mesma lisensa ce me comparti Tashi asi.
An con ce me no pote ajunta elementos a esa lisensa legal, me vole
ajunta un solisita personal: me prefere si te no ta crea cantas
relijial estra de cantas bod budiste o bon. An con tota, par causa de
la controversa consernante la identia de Sua Santia La Gialua Karmapa,
tota canta lia a sua person es nonpermeteda asta esa situa es solveda.
Esa despermete es simil aplicada a Sia Santia la Dalai Lama, la
Onorable Xamar Rinpotxe e Tai Situ Rinpotxe. Si te ave un demanda o si
te no es serta, envia me [[mailto:lucien@phundrak.com][un eposta]].
#+include: other-links

14
content/lfn/other-links Normal file
View File

@@ -0,0 +1,14 @@
# -*- mode: org -*-
#+begin_export gmi
# Pajinas de la loca ueb
=> ./index.gmi Paje prima
=> ./find-me.gmi Do trova me
=> ./resume.gmi Resoma de carera
=> ./projets.gmi Projetas informatical
=> ./conlanging.gmi Crea de linguas
=> ./vocal-synthesis.gmi Sintese vocal
=> ./about.gmi A tema
=> ./privacy.gmi Vive privata
#+end_export

68
content/lfn/privacy.org Normal file
View File

@@ -0,0 +1,68 @@
#+setupfile: ../headers
#+language: lfn
* Vive privata
** Do es ospitada esa loca ueb?
Esa loca ueb es ospitada sur mea servador ueb personal, en la site de
Bron en Frans, como la majoria de mea locos ueb. [[https://labs.phundrak.com][=labs.phundrak.com=]] e
=mail.phundrak.com= ambos es ospitada on servadores ueb ce me lua a
Scaleway e OVH Frans en ordina, e esa servadores simil es en Frans.
** Cucis
*** Ce es cucis
Cucis es peti fixes registrada par un loca ueb sur tua computa o
telefoneta cuando te lo visita. An si no tota la locas ueb usa lo, los
es an con tota estrema comun. Los capasi esa locas ueb a funsiona
coreta o plu eficas.
Esa loca ueb usa cucis con la ojeto de recorda tua prefere, como ance
la lingua o la motif ce te ia eleje.
An tal, esa loca ueb es protejeda par Cloudflare, esa compania ance
pote ospita alga cucis afin lo recorda si tu surfador es un risca par
me loca ueb o no.
*** Como me pote controla la cucis sur mea computa?
Si te no vole ce Cloudflare recorda cucis, un bon anti-comersial como
[[https://ublockorigin.com/][uBlock Origin]] ta pote te proteje (es la plu eficas ce me conose).
Te pote ance supresa con mano la cucis de tua surfador, ma me no pote
te dise como, lo ave tro ce esiste. Ma te pote xerca sur DuckDuckGo,
Qwant o Startpage como supresa lo (me suposa ce si tu vole supresa lo,
te vole evita Google).
*** E la otra metodos afin de trasa?
Lo esista otra metodos plu sutil afin de trasa usores sur la interede,
o an con epostas o cada contenida ueb, como pixeles spia (imajes
estrema peti), cucis Flash o ojetos local compartida.
*** Ma, lo ave metodos de trasa asi?
Si, ma la lo conserva tua vida privata. Me usa mea propre varia de
[[https://umami.is][Umami]] ce es un servi de analise de datos ce respeta completa la GDPR e
la CCPA. En noncomplicada parolas, cuando te come a un paje, la
informa es enviada ce alga ia visita lo, con alga otra informas. Ma on
no pote sabe ci ia visita la loca ueb, e si te va visita lo a otra
ves, on no pote sabe ce te ia veni ja.
Si an tal te ansiosa consernante tua vida privata, tu avec du
posibles:
- Ativi la parametre Do Not Track de tua surfador (Umami respeta lo)
- Bloci la domina ueb =umami.phundrak.com= en uBlock Origin (la sola
blocinte de comersiales ce me fida)
** Esa loca ueb usa comersiales intendeda?
Lo no ave no comersiales. Si te lo vide asi, te ave un virus sur tua
computa o surfador. Si esa comersiales vera ta veni de mea loca ueb,
lo es cracida. Si te pote vide en la arciveria git ce lo es me ce ia
ajunta esa comersiales, o me ia dementi, o me es secuestrada e lo es
un sinial de crise.
** Ave esa pajina frecuente refrescis?
Me dona esa pajina un refresci aora e alora cuando lo debe a mostra
cambias de funsiona de mea loca ueb, o si me trova eras.
** Me ave otra demandas
Te pote scrive me un eposta a la adirije de eposta
[[mailto:lucien@phundrak.com][lucien@phundrak.com]].
#+include: other-links

View File

@@ -1,7 +0,0 @@
---
title: Projetas
---
# Programi
## Mea projetas GitHub lo plu stelada
## Ultima retenerias de codigo sur GitHub
# Linguistica

43
content/lfn/projects.org Normal file
View File

@@ -0,0 +1,43 @@
#+setupfile: ../headers
#+language: lfn
* Projetas informatical
** Mea projetas GitHub spinida
#+begin_export gemini
Regretable, eso contenida no es dispone per Gemini.
#+end_export
#+begin_export html
<ClientOnly>
<ListRepositories>
<GithubRepository repoName="rejeep/f.el" />
<GithubRepository repoName="Phundrak/eshell-info-banner.el" />
<GithubRepository repoName="Phundrak/dotfiles" />
<GithubRepository repoName="Phundrak/conlang.phundrak.com" />
</ListRepositories>
</ClientOnly>
#+end_export
** Mea projetas GitHub lo plu stelada
#+begin_export gemini
Regretable, eso contenida no es dispone per Gemini.
#+end_export
#+begin_export html
<ClientOnly>
<ListRepositories sortBy='stars' user='phundrak' :limit='5' />
</ClientOnly>
#+end_export
** La plu nova projetas sur GitHub
#+begin_export gemini
Regretable, eso contenida no es dispone per Gemini.
#+end_export
#+begin_export html
<ClientOnly>
<ListRepositories sortBy='pushed_at' user='phundrak' :limit='5' />
</ClientOnly>
#+end_export
#+include: other-links

View File

@@ -1,57 +0,0 @@
# Resoma de carera
## Informas
Lucien Cartier-Tilet
Studiante en la Master 2 de Tecnolojia de la Ipermedia de Paris 8
## Programi ueb
### Front-end
- Bon conose de HTML5, CSS3 (incluinte SASS, SCSS e LESS) e Javascript
- Conoses de Python, Dart e Typescript
- Usa de Vue, Nuxt, Vuepress e Node.js
- Aprende React e Next.js
### Backend
- Esperia en programi de backend con Rocket (Rust) e alga con Django (Python)
- Esperia en comunica con banco de datos con
[Diesel](https://diesel.rs) (Rust) e Django, conose alga EmacSQL
- Usa de PostgreSQL e MySQL
## Programi sistem
- Esperia con Rust, C e EmacsLisp
- Conoses de C++, Python, CommonLisp e shelles UNIX (bash, fish, eshell)
- Conoses limitada de Prolog e Scheme
## Utiles de developa
### IDEs e editadores
- Conoses esperta de Emacs, inclui con la incluis de LSP e Git
- Bon conoses de Git (inclui sua interfas Magit per Emacs)
- Conoses fundal de Vim, CLion, PyCharm e WebStorm
## CI/CD e desplia ueb
- Esperia con la servadores ueb Nginx e Caddyserver
- Bon conoses de Docker, Drone.io e GitHub Actions per despia ueb
## Sistemes de opera
- Usa et manejablia de Linux (ArchLinux, VoidLinux, Debian, Ubuntu,
AlpineLinux)
- Manjablia de servidores ueb e servidores de conserva (ArchLinux,
Debian, Ubuntu, AlpineLinux)
- Conosas fundal de Guix System, NixOS e Windows (de XP a 10, con
eseta de Vista)
## Program de ofisia
- Bon conosas con org-mode (Emacs) e LaTeX
- Conosas con LibreOffice, Microsoft Office, WPS Office e OnlyOffice
## Audio
### Sintese vocal cantada
- Developa e crea de bancos de voses per sintese vocal cantada per
VOCALOID3, Alter/Ego, Chipspeech e UTAU
- Usa de VOCALOID2 a VOCALOID4, Alter/Ego, Chpispeech, UTAU, CeVIO
Creative Studio
## Injenia audio
- program de musica: FL Studio
- repara e puri audio: iZotope RX
- mastering: T-RackS CS

89
content/lfn/resume.org Normal file
View File

@@ -0,0 +1,89 @@
#+setupfile: ../headers
#+language: lfn
* Resoma de carera
** Informas
Lucien Cartier-Tilet
** Esperia Profesal
*** Aubay (2023 - )
- Spesialiste de setembre 2023
- Stajia de la comensa de febrero a la comensa de agosto 2023
- Developa de programes ueb
- Usa de Angular, Java Spring Boot, Spring Batch e PostgreSQL
*** VoxWave (2014 - 2018)
Compania spesialida en la developa de cantantes virtual en franses ce
usa sintese vocal. La produi la plu selebra es ALYS. Plu de informa
[[./vocal-synthesis.md][aci]].
- Cofundor, dirije tecnical
- Programi de voses de sintese per la canta
- Rexerca linguistica
- Suporta de usadores
- Instrui de nova empleadas per la programi de voses de sintese
** Educa
*** Mestral 2 de Tecnolojia de la Ipermedia (Universia de Paris 8, 2021 - 2023)
Me ia recomensa la anio per causa de mea sania, ma me no ave tempo
seguente.
*** Mestral 1 de Informatica (Universia de Paris 8, 2020 - 2021)
*** Lisensa de Informatica (Universia de Paris 8, 2016 - 2019)
*** Engles Leteratural (Universia de Lyon 2, 2013-2014)
Me ia studia la engles leteratural durante un anio e dui asta la crea
de [[./resume.md#voxwave-2014-2018][VoxWave]].
** Programi ueb
*** Front-end
- Usa profesal de Angular e TypeScript
- Usa personal de Vue (inclui Nuxt)
*** Backend
- Usa profesional de Java SpringBoot e SpringBatch
- Usa profesional e personal de PostgreSQL
- Usa personal de Rust ([[https://github.com/poem-web/poem/][poem]], [[https://actix.rs/][actix-web]] e [[https://rocket.rs/][Rocket]])
- Esperia en programi de backend con Django (Python)
- Usa personal de PostgreSQL e SQLite
** Programi sistem
- Usa personal e frecuente de Rust, C, shelles UNIX (bash, fish,
Eshell) e EmacsLisp
Usa personal nonfrecuente de C++, Python e CommonLisp
** Utiles de developa
*** IDEs e editadores
- Usa profesional de VS Code, Eclipse e Git
- Conoses esperta de Emacs, inclui con la incluis de LSP e Git
- Conoses fundal de Vim, CLion, PyCharm e WebStorm
*** CI/CD e desplia ueb
- Esperia con la servadores ueb Nginx e Caddyserver
- Bon conoses de Docker e Docker Compose, Drone.io e GitHub Actions
per despia ueb
** Sistemes de opera
- Usa et manejablia de Linux (ArchLinux, VoidLinux, Debian, Ubuntu,
AlpineLinux, NixOS)
- Manjablia de servidores ueb e servidores de conserva (ArchLinux,
Debian, Ubuntu, AlpineLinux, NixOS)
- Conosas fundal de Guix System e Windows (de XP a 10, con eseta de
Vista)
** Program de ofisia
- Bon conosas con [[https://orgmode.org/][org-mode]] (Emacs) e LaTeX
- Conosas con LibreOffice, Microsoft Office, WPS Office e OnlyOffice
** Audio
*** Sintese vocal cantada
- Developa e crea de bancos de voses per sintese vocal cantada per
VOCALOID3, Alter/Ego, Chipspeech e UTAU
- Usa de VOCALOID2 a VOCALOID4, Alter/Ego, Chpispeech, UTAU, CeVIO
Creative Studio
** Injenia audio
- program de musica: FL Studio
- repara e puri audio: iZotope RX
- mastering: T-RackS CS
#+include: other-links

View File

@@ -1,53 +0,0 @@
---
title: Sintese vocal
---
# Labora en sintese vocal
De 2011 a 2028, me ia labora esente un amator alora esente un profesal
en la domina de la sintese vocal. Plu eseta, me ia crea e usa bancos
de voses par la program UTAU e alora Alter/Ego xef.
## UTAU
Me ia comensa a usa UTAU a la fin de 2011 con un banco de vose nion
findida sur mea vose, sin nom e perdeda de tempo longa. An si no me ia
conserva lo longua, xef par causa de la mal cualia de sua ajusta et
sua samples audio (me ia sample con un microfon de mal cualia), acel
ia educa me la fundas de la crea de bancos de voses per UTAU e labora
con fixes audio.
La 14 otobre 2012, me ia publici mea du banco de vose, *BSUP01 KEINE
Tashi JPN VCV*, un banco de vose egal findida sur mea vose e con un
cualia de sua samples e de sua ajusta multe plu bon. Ma mea plu bon
banco vocal per UTAU ia es *BSUP01 KEINE Tashi Extend Power* ce ia ave
un vose plu forte cuando ia ave plu de esperia.
Esa serie de bancos de voses simil inclui *BSUP01 KEINE Tashi TIB
CVVC* e *BSUP02 Djetsün*, la prima bancos de voses de la mundo ce ia
pote canta en bod (ma me ia publici an nunca los).
Me ia crea en 2014 la banco de vose *ALYS 001 JPN*, *ALYS 001 FRA* e
*ALYS 002 FRA* esente prototipos de ALYS con UTAU. Esa bancos de voses
es conoseda como *ALYS4UTAU*.
En ce cada esa bancos oji no plu es developa e sua supporta tecnica no
plu es garantiada, on pote encora descarga *BSUP01 KEINE Tashi* e
*ALYS*:
- **BSUP01 KEINE Tashi**: [BSUP01 KEINE Tashi](keine-tashi.md)
- **ALYS**: [Open-Sourcing
ALYS](https://blog.phundrak.com/open-sourcing-alys/) (en engles)
## Alter/Ego
[Alter/Ego](https://www.plogue.com/products/alter-ego.html) es un
motor de sintese vocal crea par [Plogue Inc.](https://www.plogue.com).
ALYS ia es la prima banco de vose comersial, como la prima vose de
sintese profesal en franses crea per canta.
Par causa de la arciteta e de la condui de Alter/Ego, cambias par la
senario de rejistra par ALYS (e plu tarda par LEORA) ia es nesesada.
Cuando on inclui la reali de la senario, la developa de ALYS per
Alter/Ego (simil conoseda como *ALYS4AE*) ia dura plu de un anio. La
developa de la prima refresci de ALYS ia dura nove menses completinte.
On pote aora descarga *ALYS4AE* sin custa con un modulo de Alter/Ego
de 15 desembre 2021. An con tota, me no pote publici informas e la
metodo per compila la banco de vose de ALYS per Alter/Ego. Plu
informas [asi](https://blog.phundrak.com/open-sourcing-alys/).

View File

@@ -0,0 +1,56 @@
#+setupfile: ../headers
#+language: lfn
#+begin_export html
---
title: Sintese vocal
---
#+end_export
* Labora en sintese vocal
De 2011 a 2018, me ia labora esente un amator alora esente un profesal
en la domina de la sintese vocal. Plu eseta, me ia crea e usa bancos
de voses par la program UTAU e alora Alter/Ego xef.
** UTAU
Me ia comensa usa UTAU a la fin de 2011 con un banco de vose nion
findida sur mea vose, sin nom e perdeda de tempo longa. An si no me ia
conserva lo longua, xef par causa de la mal cualia de sua ajusta et
sua samples audio (me ia sample con un microfon de mal cualia), acel
ia educa me la fundas de la crea de bancos de voses per UTAU e labora
con fixes audio.
La 14 otobre 2012, me ia publici mea du banco de vose, /BSUP01 KEINE
Tashi JPN VCV/, un banco de vose egal findida sur mea vose e con un
cualia de sua samples e de sua ajusta multe plu bon. Ma mea plu bon
banco vocal per UTAU ia es /BSUP01 KEINE Tashi Extend Power/ ce ia ave
un vose plu forte cuando ia ave plu de esperia.
Esa serie de bancos de voses simil inclui /BSUP01 KEINE Tashi TIB CVVC/
e /BSUP02 Djetsün/, la prima bancos de voses de la mundo ce ia pote
canta en bod (ma me ia publici an nunca los).
Me ia crea en 2014 la banco de vose /ALYS 001 JPN/, /ALYS 001 FRA/ e /ALYS
002 FRA/ esente prototipos de ALYS con UTAU. Esa bancos de voses es
conoseda como /ALYS4UTAU/.
En ce cada esa bancos oji no plu es developa e sua supporta tecnica no
plu es garantiada, on pote encora descarga /BSUP01 KEINE Tashi/ e /ALYS/:
- BSUP01 KEINE Tashi :: [[file:./keine-tashi.org][BSUP01 KEINE Tashi]]
- ALYS :: [[https://labs.phundrak.com/ALYS/ALYS][Descarga de ALYS4AE]] (en engles)
** Alter/Ego
[[https://www.plogue.com/products/alter-ego.html][Alter/Ego]] es un motor de sintese vocal crea par [[https://www.plogue.com][Plogue Inc.]]. ALYS ia
es la prima banco de vose comersial, como la prima vose de sintese
profesal en franses crea per canta.
Par causa de la arciteta e de la condui de Alter/Ego, cambias par la
senario de rejistra par ALYS (e plu tarda par LEORA) ia es nesesada.
Cuando on inclui la reali de la senario, la developa de ALYS per
Alter/Ego (simil conoseda como /ALYS4AE/) ia dura plu de un anio. La
developa de la prima refresci de ALYS ia dura nove menses completinte.
On pote aora descarga /ALYS4AE/ sin custa con un modulo de Alter/Ego de
15 desembre 2021.
#+include: other-links

14
content/other-links Normal file
View File

@@ -0,0 +1,14 @@
# -*- mode: org -*-
#+begin_export gmi
# Autres pages web du site
=> ./index.gmi Accueil
=> ./find-me.gmi Où me trouver
=> ./resume.gmi CV
=> ./projets.gmi Projets informatiques
=> ./conlanging.gmi Création de langues
=> ./vocal-synthesis.gmi Synthèse vocale
=> ./about.gmi À propos
=> ./privacy.gmi Vie privée
#+end_export

83
content/privacy.org Normal file
View File

@@ -0,0 +1,83 @@
#+setupfile: ./headers
#+language: fr
* Vie Privée
** Où est hébergé le site?
Ce site est hébergé sur mon serveur personnel, situé dans la ville de
Bron en France, comme la majorité de mes sites. Deux autres sites,
=labs.phundrak.com= et =mail.phundrak.com=, sont hébergés sur dautres
serveurs loués à Scaleway et à OVH France respectivement, et les
serveurs se situent également en France.
** Cookies
*** Que sont les cookies?
Les cookies sont des petits fichiers sauvegardés par un site web sur
votre ordinateur ou votre téléphone portable lorsque vous visitez un
site. Bien que tous les sites nen fassent pas forcément usage, ils
sont néanmoins extrêmement répandus afin de permettre aux sites de
fonctionner correctement ou plus efficacement.
Ce site utilise quelques cookies fonctionnels dans le but de se
remémorer vos préférences, comme la langue du site ou bien son thème.
Ces cookies ne sont pas et ne peuvent pas être utilisés pour vous
traquer.
Cependant, ce site étant protégé par Cloudflare, ce dernier pourra
pareillement héberger quelques cookies afin par exemple de se souvenir
que votre navigateur ne présente pas de risque ou bien pour
enregistrer le trafic sur le site.
*** Comment puis-je contrôler les cookies sur mon ordinateur?
Si vous ne souhaitez pas que Cloudflare enregistre ces dernières
activités, un bon anti-pub devrait faire laffaire. Je recommande
personnellement [[https://ublockorigin.com/][uBlock Origin]], lun des bloqueurs de pub les plus
efficaces que je connaisse.
Vous pouvez par ailleurs supprimer manuellement les cookies de votre
navigateur, mais étant donné le nombre de navigateurs existants, il
sera sans doute plus rapide pour vous de chercher sur DuckDuckGo,
Qwant ou Startpage comment faire pour votre navigateur actuel (si vous
vous inquiétez de lutilisation des cookies, je suppose que vous
voudrez éviter Google).
*** Quid des autres méthodes de tracking?
Il existe dautres méthodes plus subtiles qui permettent de traquer
quelquun sur internet, ou même via des mails ou tout contenu web
rendu à lécran, comme pixels espions (des images extrêmement
petites). Il est de plus possible de stocker des cookies Flash ou des
objets locaux partagés.
*** Mais, est-ce quil y a du tracking sur ce site?
Oui, mais en préservant intégralement votre vie privée. Jutilise ma
propre instance de [[https://umami.is][Umami]] qui est un service danalyse de données qui
respecte entièrement le RGPD et le [[https://www.oag.ca.gov/privacy/ccpa][CCPA]]. Pour résumer, lorsque vous
passez sur une nouvelle page du site, linformation est envoyée quune
visite sest produite, avec quelques informations supplémentaires,
mais rien qui permet didentifier qui que ce soit. Si vous revenez
dans une heure, je ne saurai pas que vous êtes la même personne.
Si vous vous inquiétez tout de même de votre vie privée, deux options
soffrent à vous:
- Activez loption Do Not Track de votre navigateur (Umami respecte ce
paramètre)
- Bloquez le domaine =umami.phundrak.com= dans uBlock Origin (le seul
bloqueur de pubs auquel je fais confiance)
** Est-ce quil y a de la pub ciblée sur ce site?
Il ny a tout simplement aucune pub sur ce site. Si vous en voyez,
vous avez sans doute un virus installé sur votre ordinateur. Si ça
vient en effet de mon site web, cela veut dire quil a été piraté. Si
vous voyez sur son dépôt de code que cest bien moi qui ai rajouté ces
pubs, cela veut dire que jai perdu tout mon sens moral, ou bien que
jai été kidnappé et il sagit dun appel au secours.
** Est-ce que cette page est souvent mise à jour?
Je peux la mettre à jour de temps en temps afin de refléter des
changements de fonctionnement du site, ou si je remarque une erreur
sur la page.
** Jai dautres questions
Et je serai heureux dy répondre par mail. Vous pouvez me contacter
via ladresse mail [[mailto:lucien@phundrak.com][lucien@phundrak.com]].
#+include: other-links

View File

@@ -1,7 +0,0 @@
---
title: Projets
---
# Programmation
## Projets GitHub les plus étoilés
## Derniers dépôts de code actifs sur GitHub
# Linguistique

43
content/projects.org Normal file
View File

@@ -0,0 +1,43 @@
#+setupfile: ./headers
#+language: fr
* Projets Informatiques
** Projets GitHub épinglés
#+begin_export gemini
Malheureusement, ce contenu nest pas encore disponible sur Gemini. Jy travaille.
#+end_export
#+begin_export html
<ClientOnly>
<ListRepositories>
<GithubRepository repoName="rejeep/f.el" />
<GithubRepository repoName="Phundrak/eshell-info-banner.el" />
<GithubRepository repoName="Phundrak/dotfiles" />
<GithubRepository repoName="Phundrak/conlang.phundrak.com" />
</ListRepositories>
</ClientOnly>
#+end_export
** Projets GitHub les plus étoilés
#+begin_export gemini
Malheureusement, ce contenu nest pas encore disponible sur Gemini. Jy travaille.
#+end_export
#+begin_export html
<ClientOnly>
<ListRepositories sortBy='stars' user='phundrak' :limit='5' />
</ClientOnly>
#+end_export
** Derniers dépôts de code actifs sur GitHub
#+begin_export gemini
Malheureusement, ce contenu nest pas encore disponible sur Gemini. Jy travaille.
#+end_export
#+begin_export html
<ClientOnly>
<ListRepositories sortBy='pushed_at' user='phundrak' :limit='5' />
</ClientOnly>
#+end_export
#+include: other-links

View File

@@ -1,71 +0,0 @@
---
title: CV
---
# Resume
## Informations
Lucien Cartier-Tilet
Étudiant informatique, M2 Technologies de lHypermédia, Paris 8
## Programmation Web
### Front-end
- Bonnes connaissances en HTML5, CSS3 (y compris SASS, SCSS et LESS)
et Javascript
- Connaissances en Python, Dart et TypeScript
- Utilisation en cours de Vue, Nuxt.js et Node.js
- Apprentissage de React et Next.js
### Back-end
- De lexpérience en développement backend avec Django (Python) et Rocket (Rust)
- De lexpérience en communication avec des bases de données via
Django et [Diesel](https://diesel.rs). Connaissances de base avec EmacSQL.
- Utilisation de MySQL et PostgreSQL.
## Programmation Système
- De lexpérience avec Rust, C et EmacsLisp
- Connaissances en C++, Python, CommonLisp et les shells UNIX
(bash, fish, Eshell)
- Connaissances limités en Prolog et Scheme
## Outils de développement
### IDEs et éditeurs de texte
- Utilisateur avancé dEmacs, y compris avec ses intégrations pour LSP
et Git
- Bonnes connaissances de Git (y compris avec son interface Magit pour
Emacs)
- Connaissances basiques de Vim, CLion, PyCharm et WebStorm
### CI/CD et déploiement sur le web
- De lexpérience avec les serveurs web Nginx et Caddyserver
- Bonnes connaissances de Docker, Drone.io et GitHub Actions pour du
déploiement
## Systèmes dexploitation
- Utilisation et administration de Linux (ArchLinux, VoidLinux,
Debian, Ubuntu, AlpineLinux)
- Administration de serveurs web et serveurs de stockage (ArchLinux,
Debian, Ubuntu, AlpineLinux)
- Connaissances élémentaires de Guix System, NixOS et Windows de XP à
10 (excepté Vista)
## Bureautique
- Bonnes connaissances avec org-mode et LaTeX
- Connaissances avec Libre Office, Microsoft Office, WPS Office et OnlyOffice
## Audio
### Synthèse de voix chantée
- Développement et création de banques vocales de synthèse vocale
chantée pour VOCALOID3, Alter/Ego, Chipspeech et UTAU
- Utilisation de VOCALOID2 à 4, Alter/Ego, Chipspeech, UTAU, CeVIO
Creative Studio
### Ingénieurie audio
- Logiciel de musique : FL Studio
- Réparation et nettoyage audio : iZotope RX
- Mastering : T-RackS CS

91
content/resume.org Normal file
View File

@@ -0,0 +1,91 @@
#+setupfile: ./headers
#+language: fr
#+begin_export html
---
title: CV
---
#+end_export
* Curriculum Vitae
** Expériences professionnelles
*** Aubay (2023 - )
- Consultant depuis septembre 2023
- Stage de début février à début août 2023
- Développement dapplications web
- Utilisation dAngular, Java Spring Boot, Spring Batch et PostgreSQL
*** VoxWave (2014 - 2018)
Startup spécialisée dans le développement de chanteurs virtuels
francophones utilisant de la synthèse vocale. Le produit le plus connu
est la chanteuse virtuelle ALYS. Plus dinformations [[./vocal-synthesis.md][ici]].
- Co-fondateur, directeur technique
- Programmation de voix de synthèse pour le chant
- Recherches linguistiques
- Support utilisateur
- Formation de recrues au développement de voix de synthèse
** Éducation
*** Master 2 Technologies de lHypermédia (Université Paris 8, 2021 - 2023)
Redoublement pour causes de santé sans séquelles.
*** Master 1 Informatique (Université Paris 8, 2020 - 2021)
*** Licence Informatique (Université Paris 8, 2016 - 2019)
*** Anglais LLCE (Université Lyon 2, 2013 - 2014, interrompu)
Un an et demi détudes de langlais littéraire en licence danglais
LLCE. Études interrompues suite à la création de [[./resume.md#voxwave-2014-2018][VoxWave]].
** Programmation Web
*** Frontend
- Expérience professionnelle avec Angular et TypeScript
- Expérience personnelle avec Vue (y compris Nuxt)
*** Backend
- Utilisation professionnelle de Java SpringBoot et SpringBatch
- Utilisation professionnelle et personnelle de PostgreSQL
- Utilisation personnelle de Rust ([[https://github.com/poem-web/poem/][poem]], [[https://actix.rs/][actix-web]] et [[https://rocket.rs/][Rocket]])
- Connaissances en développement backend avec Django (Python)
- Utilisation personnelle de MySQL et SQLite
** Programmation Système
- Utilisation personnelle fréquente de Rust, C, shells UNIX (bash, fish, Eshell) et EmacsLisp
- Utilisation personnelle occasionnelle de C++, Python et CommonLisp
** Outils de développement
*** IDEs et éditeurs de texte
- Utilisation professionnelle de VS Code, Eclipse et Git
- Utilisateur avancé personnelle dEmacs, y compris avec ses
intégrations pour LSP et Git
- Connaissances basiques de Vim, CLion, PyCharm et WebStorm
*** CI/CD et déploiement sur le web
- De lexpérience avec les serveurs web Nginx et Caddyserver
- Bonnes connaissances de Docker, Drone.io et GitHub Actions pour du
déploiement
** Systèmes dexploitation
- Utilisation et administration de Linux (ArchLinux, VoidLinux,
Debian, Ubuntu, AlpineLinux, NixOS)
- Administration de serveurs web et serveurs de stockage (ArchLinux,
Debian, Ubuntu, AlpineLinux, NixOS)
- Connaissances élémentaires de Guix System et Windows de XP à 10
(excepté Vista)
** Bureautique
- Bonnes connaissances avec [[https://orgmode.org/][org mode]] et LaTeX
- Connaissances avec Libre Office, Microsoft Office, WPS Office et OnlyOffice
** Audio
*** Synthèse de voix chantée
- Développement et création de banques vocales de synthèse vocale
chantée pour VOCALOID3, Alter/Ego, Chipspeech et UTAU
- Utilisation de VOCALOID2 à 4, Alter/Ego, Chipspeech, UTAU, CeVIO
Creative Studio
*** Ingénierie audio
- Logiciel de musique : FL Studio
- Réparation et nettoyage audio : iZotope RX
- Mastering : T-RackS CS
#+include: other-links

View File

@@ -1,67 +0,0 @@
---
title: Synthèse vocale
---
# Travaux en synthèse vocale
De 2011 à 2018, jai travaillé autant en tant quamateur puis en tant
que professionnel dans le domaine de la synthèse vocale chantée. Plus
précisément, je créais et utilisait des banques vocales pour le
logiciel UTAU puis Alter/Ego principalement.
## UTAU
Jai commencé à travailler avec UTAU durant la fin de 2011 avec une
banque vocale japonaise basée sur ma voix, anonyme et perdue depuis.
Bien que je ne la maintint pas longtemps, principalement dû à la
mauvaise qualité de sa configuration et de ses échantillons audio
source (je lenregistrai avec un micro de bureau de mauvaise qualité),
cela menseigna les bases de la création de banques vocales pour UTAU
et du travail avec des fichiers audio.
Le 14 Octobre 2012, je publiai ma seconde banque vocale, *BSUP01 KEINE
Tashi JPN VCV*, une banque vocale également basée sur ma voix et dune
qualité bien supérieure du fait du matériel denregistrement
professionel et de la méthode denregistrement très différente à celle
utilisé à lorigine. Bien que sa configuration nétait rien
dextraordinaire pour lépoque, il sagissait tout de même dun gain
de qualité net. Ma meilleure banque vocale fut *BSUP01 KEINE Tashi JPN
Extend Power*, une voix puissante créée dans des circonstances
similaires mais avec à nouveau un meilleur savoir-faire.
Cette série de banques vocales basées sur ma voix inclus également
*BSUP01 KEINE Tashi TIB CVVC* ainsi quune autre banque vocale basée
sur une autre voix, celle de *BSUP02 Drolma TIB*, les deux premières
banques vocales tibétaines optimisées pour la synthèse de chant au
monde.
Je créai plus tard *ALYS 001 JPN*, *ALYS 001 FRA* et *ALYS 002 FRA* en
tant que prototypes dALYS sous UTAU. Ces banques vocales furent
connues plus tard sous le nom de *ALYS4UTAU*.
Tandis que chacune de ces banques vocales ne sont plus en
développement et leur support technique nest plus assuré, *BSUP01
KEINE Tashi* et *ALYS* sont toujours disponibles au téléchargement.
- **BSUP01 KEINE Tashi**: [BSUP01 KEINE Tashi](keine-tashi.md)
- **ALYS for UTAU**: [Open-Sourcing
ALYS](https://blog.phundrak.com/open-sourcing-alys/) (en anglais)
## Alter/Ego
[Alter/Ego](https://www.plogue.com/products/alter-ego.html) est un
moteur de synthèse vocale créé par [Plogue
Inc.](https://www.plogue.com/). ALYS fut la première voix de synthèse
commerciale créée pour ce moteur, ainsi que la première voix de
synthèse professionelle francophone créée pour le chant.
Du fait de larchitecture et du comportement dAlter/Ego, des
changements importants ont dû être apportés aux scripts
denregistrement dALYS (plus tard ré-utilisés pour LEORA). En
incluant la réalisation du script denregistrement, le développement
initial dALYS prit plus dun an. Le développement de la première mise
à jour majeure dALYS prit neuf mois supplémentaires.
*ALYS for Alter/Ego* est désormais disponible gratuitement tant que
module pour Alter/Ego depuis le 15 Décembre 2021. Cependant, les
informations et la méthode nécessaires pour compiler sa banque vocale
pour Alter/Ego ne peuvent pas être rendus publique. Plus
dinformations [ici](https://blog.phundrak.com/open-sourcing-alys/).

View File

@@ -0,0 +1,69 @@
#+setupfile: ./headers
#+language: fr
#+begin_export html
---
title: Synthèse vocale
---
#+end_export
* Travaux en synthèse vocale
De 2011 à 2018, jai travaillé autant en tant quamateur puis en tant
que professionnel dans le domaine de la synthèse vocale chantée. Plus
précisément, je créais et utilisait des banques vocales pour le
logiciel UTAU puis Alter/Ego principalement.
** UTAU
Jai commencé à travailler avec UTAU durant la fin de 2011 avec une
banque vocale japonaise basée sur ma voix, anonyme et perdue depuis.
Bien que je ne la maintins pas longtemps, principalement dû à la
mauvaise qualité de sa configuration et de ses échantillons audio
source (je lenregistrai avec un micro de bureau de mauvaise qualité),
cela menseigna les bases de la création de banques vocales pour UTAU
et du travail avec des fichiers audio.
Le 14 octobre 2012, je publiai ma seconde banque vocale, /BSUP01 KEINE
Tashi JPN VCV/, une banque vocale également basée sur ma voix et dune
qualité bien supérieure du fait du matériel denregistrement
professionnel et de la méthode denregistrement très différente à
celle utilisé à lorigine. Bien que sa configuration nétait rien
dextraordinaire pour lépoque, il sagissait tout de même dun gain
de qualité net. Ma meilleure banque vocale fut /BSUP01 KEINE Tashi JPN
Extend Power/, une voix puissante créée dans des circonstances
similaires, mais avec à nouveau un meilleur savoir-faire.
Cette série de banques vocales basées sur ma voix inclut également
/BSUP01 KEINE Tashi TIB CVVC/ ainsi quune autre banque vocale basée sur
une autre voix, celle de /BSUP02 Drolma TIB/, les deux premières banques
vocales tibétaines optimisées pour la synthèse de chant au monde.
Je créai plus tard /ALYS 001 JPN/, /ALYS 001 FRA/ et /ALYS 002 FRA/ en tant
que prototypes dALYS sous UTAU. Ces banques vocales furent connues
plus tard sous le nom de /ALYS4UTAU/.
Tandis que chacune de ces banques vocales ne sont plus en
développement et leur support technique nest plus assuré, /BSUP01
KEINE Tashi/ et /ALYS/ sont toujours disponibles au téléchargement.
- BSUP01 KEINE Tashi :: [[file:./keine-tashi.org][BSUP01 KEINE Tashi]]
- ALYS :: [[https://labs.phundrak.com/ALYS/ALYS][Téléchargement dALYS4AE]] (en anglais)
** Alter/Ego
[[https://www.plogue.com/products/alter-ego.html][Alter/Ego]] est un moteur de synthèse vocale créé par [[https://www.plogue.com/][Plogue Inc.]]. ALYS
fut la première voix de synthèse commerciale créée pour ce moteur,
ainsi que la première voix de synthèse professionnelle francophone
créée pour le chant.
Du fait de larchitecture et du comportement dAlter/Ego, des
changements importants ont dû être apportés aux scripts
denregistrement dALYS (plus tard réutilisés pour LEORA). En incluant
la réalisation du script denregistrement, le développement initial
dALYS prit plus dun an. Le développement de la première mise à jour
majeure dALYS prit neuf mois supplémentaires.
/ALYS for Alter/Ego/ est désormais disponible gratuitement tant que
module pour Alter/Ego depuis le 15 décembre 2021. Cependant, les
informations et la méthode nécessaires pour compiler sa banque vocale
pour Alter/Ego ne peuvent pas être rendus publique. Plus
dinformations [[https://blog.phundrak.com/open-sourcing-alys/][ici]].
#+include: other-links

39
export.el Normal file
View File

@@ -0,0 +1,39 @@
(require 'package)
(require 'org)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/"))
(package-initialize)
(unless package-archive-contents
(package-refresh-contents))
(package-install 'f)
(package-install 'ox-gfm)
(package-vc-install '(ox-gemini . (:url "https://labs.phundrak.com/phundrak/ox-gemini.git")))
(require 'f)
(require 'ox-gfm)
(require 'ox-gemini)
(require 'ox-publish)
(setq org-confirm-babel-evaluate nil
org-html-validation-link nil
make-backup-files nil
org-export-with-broken-links t)
(defvar project-root
(file-name-as-directory (expand-file-name "content" default-directory)))
(dolist (file (f-files project-root (lambda (file) (f-ext-p file "org")) t))
(message "====== Exporting %s" (f-relative file))
(with-temp-buffer
(find-file file)
(org-export-to-file 'gfm (concat (f-no-ext file) ".md"))
(org-export-to-file 'gemini (concat (f-no-ext file) ".gmi"))))
(defvar gemini-root-dir "gemini")
(dolist (subdir '("" "en" "lfn"))
(f-mkdir (f-join gemini-root-dir subdir)))
(f-mkdir gemini-root-dir)
(dolist (file (mapcar #'f-relative (f-files "." (lambda (file) (f-ext-p file "gmi")) t)))
(let ((new-place (f-join gemini-root-dir (apply #'f-join (cdr (f-split file))))))
(f-move file new-place)))
(message "Project generated!")

1
gemini/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
**/*.gmi

4
gemini/.meta Normal file
View File

@@ -0,0 +1,4 @@
# This line will be ignored.
lfn/**/*.gmi: ;lang=lfn
en/**/*.gmi: ;lang=en-US
*.gmi: ;lang=fr-FR

5090
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -3,25 +3,24 @@
"version": "0.1.0",
"description": "Static website of Phundrak",
"main": "index.js",
"repository": "https://labs.phundrak.com/phundrak/vuepress-www",
"repository": "https://labs.phundrak.com/phundrak/phundrak.com",
"author": "Lucien Cartier-Tilet <lucien@phundrak.com>",
"license": "AGPL-3.0",
"private": true,
"devDependencies": {
"cz-conventional-changelog": "^3.3.0",
"git-cliff": "^1.1.2",
"vuepress": "2.0.0-beta.61"
"@vuepress/bundler-vite": "2.0.0-rc.19",
"@vuepress/plugin-slimsearch": "^2.0.0-rc.74",
"@vuepress/plugin-umami-analytics": "^2.0.0-rc.74",
"@vuepress/theme-default": "^2.0.0-rc.36",
"sass-embedded": "^1.83.4",
"vuepress": "2.0.0-rc.19"
},
"dependencies": {
"less": "^4.2.0",
"nord": "^0.2.1"
},
"scripts": {
"dev": "vuepress dev content",
"build": "vuepress build content"
},
"dependencies": {
"vuepress-plugin-remove-html-extension": "^0.1.0"
},
"config": {
"commitizen": {
"path": "./node_modules/cz-conventional-changelog"
}
}
}

6
shell.nix Normal file
View File

@@ -0,0 +1,6 @@
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
nativeBuildInputs = with pkgs; [
nodejs_22
];
}

2676
yarn.lock

File diff suppressed because it is too large Load Diff