Add support for related video card after post header, add "fl-linux-install" posts for en and pt.
This commit is contained in:
parent
b8bd904bfc
commit
6197930c8f
7 changed files with 253 additions and 6 deletions
|
|
@ -54,7 +54,8 @@ module.exports = {
|
|||
by: "by",
|
||||
back: "back",
|
||||
hideBackground: "Hide background",
|
||||
options: "Options"
|
||||
options: "Options",
|
||||
alsoAvailableAsVideo: "Also available as video"
|
||||
},
|
||||
pt: {
|
||||
language: "português",
|
||||
|
|
@ -96,6 +97,7 @@ module.exports = {
|
|||
by: "por",
|
||||
back: "voltar",
|
||||
hideBackground: "Esconder imagem de fundo",
|
||||
options: "Opções"
|
||||
options: "Opções",
|
||||
alsoAvailableAsVideo: "Também disponível em vídeo"
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -19,6 +19,19 @@ title: Adrian Victor:Blog
|
|||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if postVideoLink and postVideoImage and postVideoTitle and postVideoWebsite %}
|
||||
<a href="{{ postVideoLink }}">
|
||||
<div class="blogpostYoutubeVideo">
|
||||
<img src="/static/images/thumbnails/{{ postVideoImage }}">
|
||||
<div class="videoHeader">
|
||||
<p class="alsoAvailable">{{ i18n[langKey].alsoAvailableAsVideo }}:</p>
|
||||
<h2 class="videoTitle">{{ postVideoTitle }}</h2>
|
||||
<p>{{ postVideoWebsite }}{% if postVideoDuration %} ({{ postVideoDuration }}){% endif %}</p>
|
||||
</div>
|
||||
<!-- <p class="goLabel">ir</p> -->
|
||||
</div>
|
||||
</a>
|
||||
{% endif %}
|
||||
{{ content | safe }}
|
||||
</article>
|
||||
</main>
|
||||
64
posts/instalando-fl-studio-no-linux.html
Normal file
64
posts/instalando-fl-studio-no-linux.html
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
---
|
||||
postTitle: "Instalando FL Studio no Linux."
|
||||
postId: fl-linux-install
|
||||
postVideoLink: "https://www.youtube.com/watch?v=6bnNAnSY9Uo"
|
||||
postVideoTitle: "Como instalar o FL Studio no Linux?"
|
||||
postVideoImage: "fl_studio_linux.png"
|
||||
postVideoWebsite: "YouTube"
|
||||
postVideoDuration: "5:53"
|
||||
langKey: pt
|
||||
layout: post.njk
|
||||
date: 2026-04-20
|
||||
background: fl_screenshot_no_text.png
|
||||
backgroundOpacity: .35
|
||||
---
|
||||
<h2>Prólogo</h2>
|
||||
<p>Desde que mudei permanentemente para o Linux em 2024, venho me impressionando com a capacidade inabalável da comunidade open-source de trazer a vida no Linux softwares complexos feitos originalmente para Windows. Entretanto, um dos programas amaldiçoados com os mais ímpetos e abstratos erros na velha guarda do Wine é o FL Studio, caracteristica essa que fez com que eu, por muito tempo, achasse que a DAW da Image-Line não iria rodar de jeito nenhum no sistema do penguim.</p>
|
||||
<p>Acontece que o FL roda no Linux, e roda muito bem, considerando a sua complexidade. Descartando uns problemas visuais, algumas VSTs que simplesmente não rodam e uma gambiarra para rodar plugins 32-bits, a experiência de usar o FL Studio no Linux é bem sólida. Parece que a Valve, Wine e comunidade open-source não estão para brincadeira mesmo.</p>
|
||||
<p>Antes de ir às formalidades, gostaria de definir o escopo desse tutorial. Faço ele com tudo o que cabe na minha memória recente trabalhando com o FL no Linux. Mas também não é uma postagem estática; se estiver faltando alguma coisa me mande um e-mail e eu atualizo.</p>
|
||||
|
||||
<h2>Preparativos</h2>
|
||||
<p>O tutorial vai ser feito usando o Arch Linux em um computador com o conjunto de Intel i5-1235U + 16gb de RAM. Porém, vale ressaltar que, pela natureza do flatpak, o tutorial se aplica a qualquer máquina com o gerenciador de pacotes instalado.</p>
|
||||
<p>O primeiro passo é instalar o software Bottles, que está disponível com o nome de <a href="https://flathub.org/en/apps/com.usebottles.bottles"><code>com.usebottles.bottles</code> no Flathub</a>. O comando mais simples para instalar o app em um sistema com acesso ao Flathub (habilitado por padrão na maioria das distros, como na minha) é <code>flatpak install bottles</code>. Se você não é muito fã de rodar comandos, a maioria das lojas de apps no Linux baixam flatpaks e já vem com o Flathub habilitado—e saiba que essa é a última vez que vamos rodar comandos.</p>
|
||||
<p>Se você não é fã do Flatpak, há um <a href="https://aur.archlinux.org/packages/bottles">pacote do bottles no AUR</a>. Pelo que eu entendi tem até uns desenvolvedores do Bottles envolvidos na manutenção desse pacote.</p>
|
||||
<p>Depois disso, crie uma nova garrafa no Bottles. Eu recomendo criar uma no preset de jogos, já que o FL é meio visualmente complexo.</p>
|
||||
<p>Por fim, antes da instalação, vamos instalar as dependências, que ficam acessíveis por um botão de mesmo nome nas opções da garrafa. O FL Studio possui apenas duas dependências opcionais:</p>
|
||||
<dl>
|
||||
<dt><code>allfonts</code></dt>
|
||||
<dd>Fontes da Microsoft e Adobe, ajuda com alguns problemas relacionados a exibição de texto no FL. Eu geralmente não preciso instalar, mas já experienciei as teclas do piano roll sem legenda pela falta dessa dependência.</dd>
|
||||
<dt><code>webview2</code></dt>
|
||||
<dd>Necessário para o funcionamento do FL Cloud, Gopher (IA), Help Manual e talvez mais alguma outra função do FL que puxa um webview. Recomendo não instalar essa dependência se você não usa nenhuma dessas funções, porque sem ela reparei em um ganho de performance.</dd>
|
||||
</dl>
|
||||
<p>Estamos prontos para partir para a instalação da DAW.</p>
|
||||
|
||||
<h2>Instalando o FL Studio</h2>
|
||||
<p>O Bottles já oferece um pacote de instalação do FL na página da garrafa, basta clicar em <i>Instalar Programas</i> e pesquisar por FL Studio. Porém, esse método de instalação não funcionou para mim, o instalador travou nas dependências. Creio que, se você tiver sucesso na sua instalação, o resultado vai ser o mesmo que fazendo o que eu vou descrever abaixo.</p>
|
||||
<p>Primeiro, obtenha um instalado do FL Studio, caso já não tenha. A Image-Line oferece um instalador <a href="https://www.image-line.com/fl-studio/download/">em seu website</a>.</p>
|
||||
<p>Com o instalador em mãos, basta usar o botão "Iniciar executável..." na página da garrafa e selecionar o seu instalador. Em alguns instantes você deve estar na instalação do FL Studio.</p>
|
||||
<p>Se tudo ocorrer direito, a DAW recém instalada deve aparecer na lista de aplicativos com o nome "FL64". Você já pode iniciar ela.</p>
|
||||
|
||||
<h2>Configuração Inicial</h2>
|
||||
<p>Ao abrir o FL Studio pela primeira vez, você provavelmente vai se deparar com uma tela de erro dizendo "The MIDI input device is already allocated. It may be in use by another application.", ignore os erros, e no menu de baixo escrito "Input", desabilite as entradas que tem a etiqueta <i>FAIL</i>.</p>
|
||||
<p>Por mais que eu adoraria dizer que o FL Studio funciona perfeitamente no Linux, estamos trabalhando em um ambiente não suportado pela Image-Line e certamente mais instável do que seus sistemas nativos. Portanto, recomendo que habilite a opção de salvamento automático no modo mais agressivo.</p>
|
||||
|
||||
<h2>Trabalhando com <abbr title="Virtual Studio Technology">VST</abbr>s</h2>
|
||||
<p>Os plug-ins de produção musical são a maior fonte de incompatibilidades no nosso ambiente, mas isso não significa que a <i>maioria</i> não funciona fora da caixa.</p>
|
||||
<p>Além dos que não funcionam, e, potencialmente, travam o seu FL Studio, há os plugins que não se comportam direito, como é o exemplo do <i>Antares Auto-Tune Pro</i> que funciona perfeitamente—dada a excessão de que a interface e animações ficam estranhas e travadas. Acho que isso se dá e repete em tantos plugins porque os frameworks usados para fazer suas interfaces funcionam de alguma forma bizarra que o Soda não é otimizado para rodar.</p>
|
||||
<p>De qualquer forma, quanto a esses plugins teimosos, as únicas recomendações que eu tenho para mitigar o problema são evitar ao máximo deixá-los abertos enquanto faz outras coisas, e—se possível—usar alternativas que tem mais bom senso no quesito interface.</p>
|
||||
<h3>VSTs 32bits</h3>
|
||||
<p>Agora que o FL Studio está funcionando, você pode tentar abrir alguma VST de 32bits, e, fazendo isso, ver que ela provavelmente vai congelar a DAW.</p>
|
||||
<p>Se você por acaso congelar sem o devido backup em um projeto importante, ao invés de fechar o FL Studio, você pode usar seu gerenciador de tarefas para matar o processo <code>ILBridge.exe</code>. Esse é o processo que trava a DAW quando você tenta carregar um plugin de 32bits, é a ponte que faz ele funcionar no FL Studio de 64bits—quando interrompido, a DAW exibe um erro sobre não conseguir carregar o plugin e volta ao normal.</p>
|
||||
<p>Mas existe sim uma forma de rodar plugins 32bits. Adicione um <i>Fruity Wrapper</i> no lugar do plugin que você quer adicionar, mude para a aba de opções do mesmo e deixe ele assim. Agora clique com o botão direito no gerador/efeito que você acabou de adicionar e substitua-o pelo plugin desejado. A página de opções deve carregar. Clique no botão escrito "Processing" e marque "External window".</p>
|
||||
<p>Pronto, o plugin deve aparecer em uma janela separada do FL Studio e estar funcionando como esperado.</p>
|
||||
|
||||
<h2>Menções Honrosas</h2>
|
||||
<p>Abaixo estão alguns ressaltes que vale a pena saber:</p>
|
||||
<h3>Discos Virtuais</h3>
|
||||
<p>O Bottles usa uma versão própria do Wine chamada Soda, mas no fundo, no fundo mesmo, ainda é o Wine. Portanto, você pode se beneficiar das configurações de discos virtuais do Wine. Nas opções da garrafa, ao expandir o submenu "Ferramentas Legado do Wine", você encontra a opção "Configuração". Ao clicar nessa, um menu de aparência pré-histórica vai aparecer, no topo você pode ver uma aba nomeada "Unidades". Aí você pode mapear diferentes unidades do Windows para locais do seu sistema Linux, e eles vão aparecer no explorador de arquivos do Wine e estarão acessíveis para os aplicativos.</p>
|
||||
<h3>Aceleração de Hardware</h3>
|
||||
<p>Se o seu FL Studio estiver rodando terrivelmente mal, recomendo que dê uma olhada na opção "Use placa gráfica dedicada" da sua garrafa, com ela desativada a minha DAW trava incessantemente.</p>
|
||||
|
||||
<h2>Conclusões</h2>
|
||||
<p>Não sou a pessoa mais apta para dizer até onde a usabilidade da DAW se extende no Linux; não sou nem de longe um usuário avançado do FL. Mas, a título de informação, consegui produzir a faixa <a href="https://margarina.bandcamp.com/album/velkommen">Velkommen</a> inteiramente no sistema do penguim e não tenho a intenção de voltar para o Windows.</p>
|
||||
<p>É mesmo inconveniente quando um plugin ou outro não funciona, quando eu tenho que criar um Fruity Wrapper antes de usar um plugin 32bits, ou quando eu penso que talvez a DAW possa performar um pouco melhor nativamente no Windows. Porém, para mim, é um preço muito justo a se pagar para misturar nas minhas músicas um pouco desse suco de ideologia que é me desafiar a não usar o sistema da Microsoft.</p>
|
||||
<p>Espero que você também encontre esse conforto—não na conveniência, mas em desafiar o molde com intenção. Excentricidade digna de um artista.</p>
|
||||
62
posts/installing-fl-studio-on-linux.html
Normal file
62
posts/installing-fl-studio-on-linux.html
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
---
|
||||
postTitle: "Installing FL Studio on linux."
|
||||
postId: fl-linux-install
|
||||
langKey: en
|
||||
layout: post.njk
|
||||
date: 2026-04-20
|
||||
background: fl_screenshot_no_text.png
|
||||
backgroundOpacity: .35
|
||||
---
|
||||
<h2>Prologue</h2>
|
||||
<p>Since I permanently moved to Linux in 2024, I have been impressed by the unwavering ability of the open-source community to bring to life in Linux complex software originally made for Windows. However, one of the programs cursed with the most stubborn and abstract errors in the old guard of Wine is FL Studio, a characteristic that made me, for a long time, think that Image-Line's DAW would not run at all on the penguin's system.</p>
|
||||
<p>It turns out that FL runs on Linux, and runs very well, considering its complexity. Disregarding some visual problems, some VSTs that simply don't run, and a workaround to run 32-bit plugins, the experience of using FL Studio on Linux is quite solid. It seems that Valve, Wine, and the open-source community are not messing around.</p>
|
||||
<p>Before getting into the formalities, I would like to define the scope of this tutorial. I'm making it with everything that fits in my recent memory working with FL on Linux. But it's also not a static post; if something is missing, send me an email and I'll update it.</p>
|
||||
|
||||
<h2>Preparations</h2>
|
||||
<p>The tutorial will be done using Arch Linux on a computer with an Intel i5-1235U + 16GB of RAM setup. However, it's worth noting that, due to the nature of flatpak, the tutorial applies to any machine with the package manager installed.</p>
|
||||
<p>The first step is to install the Bottles software, which is available under the name <a href="https://flathub.org/en/apps/com.usebottles.bottles"><code>com.usebottles.bottles</code> on Flathub</a>. The simplest command to install the app on a system with access to Flathub (enabled by default on most distros, like mine) is <code>flatpak install bottles</code>. If you're not a fan of running commands, most app stores on Linux download flatpaks and come with Flathub already enabled—and know that this is the last time we'll run any command.</p>
|
||||
<p>If you're not a fan of Flatpak, there's a <a href="https://aur.archlinux.org/packages/bottles">Bottles package in the AUR</a>. From what I understand, there are even some Bottles developers involved in maintaining that package.</p>
|
||||
<p>After that, create a new bottle in Bottles. I recommend creating one in the games preset, since FL is somewhat visually complex.</p>
|
||||
<p>Finally, before installation, let's install the dependencies, which are accessible through a button of the same name in the bottle's options. FL Studio has only two optional dependencies:</p>
|
||||
<dl>
|
||||
<dt><code>allfonts</code></dt>
|
||||
<dd>Microsoft and Adobe fonts, helps with some text display issues in FL. I generally don't need to install it, but I have experienced unlabeled piano roll keys due to the lack of this dependency.</dd>
|
||||
<dt><code>webview2</code></dt>
|
||||
<dd>Necessary for FL Cloud, Gopher (AI), Help Manual, and possibly some other FL functions that pull a webview. I recommend not installing this dependency if you don't use any of these functions, because without it I noticed a performance gain.</dd>
|
||||
</dl>
|
||||
<p>We're ready to proceed with installing the DAW.</p>
|
||||
|
||||
<h2>Installing FL Studio</h2>
|
||||
<p>Bottles already offers an FL installation package on the bottle's page, just click on <i>Install Programs</i> and search for FL Studio. However, this installation method didn't work for me; the installer froze on the dependencies. I believe that if you're successful with your installation, the result will be the same as what I'm about to describe below.</p>
|
||||
<p>First, get an FL Studio installer, if you don't already have one. Image-Line offers an installer <a href="https://www.image-line.com/fl-studio/download/">on its website</a>.</p>
|
||||
<p>With the installer in hand, just use the "Run executable..." button on the bottle's page and select your installer. In a few moments you should be in the FL Studio installation.</p>
|
||||
<p>If everything goes right, the newly installed DAW should appear in the applications list with the name "FL64". You can already start it.</p>
|
||||
|
||||
<h2>Initial Configuration</h2>
|
||||
<p>When you open FL Studio for the first time, you'll probably come across an error screen saying "The MIDI input device is already allocated. It may be in use by another application.", ignore the errors, and in the menu at the bottom labeled "Input", disable the inputs that have the <i>FAIL</i> label.</p>
|
||||
<p>Much as I would love to say that FL Studio works perfectly on Linux, we're working in an environment not supported by Image-Line and certainly more unstable than its native systems. Therefore, I recommend that you enable the autosave option in the most aggressive mode.</p>
|
||||
|
||||
<h2>Working with <abbr title="Virtual Studio Technology">VST</abbr>s</h2>
|
||||
<p>Music production plugins are the biggest source of incompatibilities in our environment, but that doesn't mean that the <i>majority</i> don't work out of the box.</p>
|
||||
<p>Beyond those that don't work, and potentially crash your FL Studio, there are plugins that don't behave right, like the example of <i>Antares Auto-Tune Pro</i> which works perfectly—given the exception that the interface and animations work strange and sluggish. I think this happens and repeats in so many plugins because the frameworks used to make their interfaces work somehow bizarrely that Soda is not optimized to run.</p>
|
||||
<p>In any case, as for these stubborn plugins, the only recommendations I have to mitigate the problem are to avoid leaving them open as much as possible while doing other things, and—if possible—use alternatives that have more sense when it comes to interface.</p>
|
||||
|
||||
<h3>32-bit VSTs</h3>
|
||||
<p>Now that FL Studio is working, you can try to open a 32-bit VST, and, doing so, see that it will probably freeze the DAW.</p>
|
||||
<p>If you happen to freeze without proper backup on an important project, instead of closing FL Studio, you can use your task manager to kill the <code>ILBridge.exe</code> process. This is the process that freezes the DAW when you try to load a 32-bit plugin; it's the bridge that makes it work in 64-bit FL Studio—when interrupted, the DAW displays an error about not being able to load the plugin and returns to normal.</p>
|
||||
<p>But there is indeed a way to run 32-bit plugins. Add a <i>Fruity Wrapper</i> in place of the plugin you want to add, switch to its options tab and leave it like that. Now right-click on the generator/effect you just added and replace it with the desired plugin. The options page should load. Click on the button labeled "Processing" and check "External window".</p>
|
||||
<p>Done, the plugin should appear in a separate window from FL Studio and be working as expected.</p>
|
||||
|
||||
<h2>Honorable Mentions</h2>
|
||||
<p>Below are some highlights worth knowing:</p>
|
||||
|
||||
<h3>Virtual Drives</h3>
|
||||
<p>Bottles uses its own version of Wine called Soda, but deep down, it's still Wine. Therefore, you can benefit from Wine's virtual drive settings. In the bottle's options, when expanding the "Legacy Wine Tools" submenu, you'll find the "Configuration" option. When you click on it, a prehistoric-looking menu will appear; at the top you can see a tab named "Drives". There you can map different Windows drives to locations on your Linux system, and they will appear in the Wine file explorer and be accessible to applications.</p>
|
||||
|
||||
<h3>Hardware Acceleration</h3>
|
||||
<p>If your FL Studio is running terribly, I recommend that you take a look at the "Use dedicated graphics card" option of your bottle, with it disabled my DAW freezes incessantly.</p>
|
||||
|
||||
<h2>Conclusions</h2>
|
||||
<p>I'm not the most apt person to say how far the DAW's usability extends on Linux; I'm far from an advanced FL user. But, for your information, I was able to produce the track <a href="https://margarina.bandcamp.com/album/velkommen">Velkommen</a> entirely on the penguin's system and have no intention of going back to Windows.</p>
|
||||
<p>It's really inconvenient when one plugin or another doesn't work, when I have to create a Fruity Wrapper before using a 32-bit plugin, or when I think that maybe the DAW could perform a little better natively on Windows. However, for me, it's a very fair price to pay to mix into my music a little bit of that ideology juice that is challenging myself not to use Microsoft's system.</p>
|
||||
<p>I hope you also find that comfort—not in convenience, but in challenging the mold with intention. Eccentricity worthy of an artist.</p>
|
||||
BIN
static/images/fl_screenshot_no_text.png
Normal file
BIN
static/images/fl_screenshot_no_text.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 140 KiB |
BIN
static/images/thumbnails/fl_studio_linux.png
Normal file
BIN
static/images/thumbnails/fl_studio_linux.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 MiB |
106
static/main.css
106
static/main.css
|
|
@ -35,6 +35,18 @@ li.inlineList {
|
|||
display: inline;
|
||||
}
|
||||
|
||||
dt::before {
|
||||
content: "-> ";
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-inline-start: 2em;
|
||||
}
|
||||
|
||||
dl {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
select {
|
||||
background-color: transparent;
|
||||
color: white;
|
||||
|
|
@ -654,6 +666,100 @@ hs {
|
|||
opacity: 0!important;
|
||||
}
|
||||
|
||||
.blogpostYoutubeVideo {
|
||||
user-select: none;
|
||||
box-shadow:
|
||||
2px 7px 5px rgba(0,0,0,0.3),
|
||||
0px -4px 10px rgba(0,0,0,0.3);
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
background-color: black;
|
||||
border: medium solid var(--theme-color-lighter);
|
||||
transition: .2s;
|
||||
}
|
||||
|
||||
.blogpostYoutubeVideo .goLabel {
|
||||
transition: .2s;
|
||||
opacity: 0;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
margin: 0;
|
||||
font-size: 4em;
|
||||
background-color: var(--theme-color);
|
||||
padding: .2em;
|
||||
border-radius: 6px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.blogpostYoutubeVideo:hover .goLabel {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.blogpostYoutubeVideo:hover {
|
||||
border-color: var(--theme-color);
|
||||
}
|
||||
|
||||
.blogpostYoutubeVideo img {
|
||||
width: 100%;
|
||||
display: block;
|
||||
opacity: .8;
|
||||
transition: .2s;
|
||||
}
|
||||
|
||||
.blogpostYoutubeVideo .videoHeader {
|
||||
transition: .2s;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
padding: .4em 1em;
|
||||
z-index: 1;
|
||||
background-color: rgba(0, 0, 0, 0.6);
|
||||
width: 100%;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
.blogpostYoutubeVideo * {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* .blogpostYoutubeVideo::after {
|
||||
transition: .2s;
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: linear-gradient(0deg, transparent 0%, var(--theme-color) 6em, transparent 0%);
|
||||
pointer-events: none;
|
||||
} */
|
||||
|
||||
.blogpostYoutubeVideo:hover::after {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.blogpostYoutubeVideo:hover .videoHeader {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.blogpostYoutubeVideo .videoHeader .alsoAvailable {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.blogpostYoutubeVideo:hover img {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#postHeader * {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
#postHeader {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
@keyframes ellipsis-loader {
|
||||
0%, 25% {
|
||||
transform: translateX(0);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue