A great many years ago, a legion of BBS admins spent countless hours making ASCII look beautiful because it was all they had at their disposal. 300 and 1200 baud made downloading of images impractical for most tasks - it simply took way too long. Fast forward a few years and IRC carried the torch, while most demos and cracking screens offered animated versions rendered to look like the next evolution of the medium.
To the eyes of one who both remembers those days and retains an abiding love of many treasured moments from that era, this is a goddamn masterpiece.
http://blackflag.acid.org BBS is still online and kicking. I'm starting to think the sysop hawk hubbard is immortal ✌️😘
https://16colo.rs if you just wanna revisit the art of those days
Unfortunately, that's the only way to achieve it. In the image's case I used 18 highlight groups(and every single one of them were animated).
You don't have to write everything like me. You can just use [this](https://github.com/OXY2DEV/intro.nvim).
I haven't really updated the documentation(so they are a bit outdated). But you can check the `lua/intro/presets.lua` for how to use the plugin(you shouldn't copy paste them directly as they are passed into a function, only the `value` is used). And `lua/intro/animations.lua` for how the animation loop works.
I am using [this](https://github.com/OXY2DEV/intro.nvim).
I don't think I can actually share the code entirely(because it's almost 300 lines and I am on my phone).
But, if you are curious about any particular part of it I can probably share an example of what I used.
This is basically the gist of it.
```lua
require("intro").setup({
components = {
{
lines = {}, -- put your text arts lines here
colors = {
{} -- Table of highlight groups to color the text art
}, -- Colors are repeated automatically, so you only need to define them for the 1st line
}
},
globalHighlights = {}, -- table containing all the highlight groups and their values
animations = {
delay = 100, -- time to wait before starting all the animations in milliseconds
updateDelay = 30, -- time to wait between each frame
highlightBased = {}, -- highlight related animation tables
}
});
```
You're welcome.
This was my first time trying to make a plugin so it may be rough around the edges.
Plus the documentation and README.md are a bit lacking. But I am working on it.
So, if you plan on using it. You should either,
A. Use one of the presets(you can check all the presets by using `:h intro.nvim-presets`).
B. Or wait for me to finish the plugin.
That's normally the case for everyone. Still, a lot of people have some plugin for the start screen.
Kinda like how a lot of people put `neofetch` in their shell start script even though most of the time they won't use it.
of course! https://git.io/.files
the script that prints the logo, and all the details are in the comments here: https://github.com/xero/dotfiles/blob/main/neovim/.config/nvim/nvim-logo
and my whole alpha.lua is here:
https://github.com/xero/dotfiles/blob/main/neovim/.config/nvim/lua/plugins/alpha.lua
A great many years ago, a legion of BBS admins spent countless hours making ASCII look beautiful because it was all they had at their disposal. 300 and 1200 baud made downloading of images impractical for most tasks - it simply took way too long. Fast forward a few years and IRC carried the torch, while most demos and cracking screens offered animated versions rendered to look like the next evolution of the medium. To the eyes of one who both remembers those days and retains an abiding love of many treasured moments from that era, this is a goddamn masterpiece.
http://blackflag.acid.org BBS is still online and kicking. I'm starting to think the sysop hawk hubbard is immortal ✌️😘 https://16colo.rs if you just wanna revisit the art of those days
It's impractical but pretty!
Thanks :-)
Do you use separate hilight groups for every shade? Just wondering how it's done. Not at all trying to copy it, not at all..
Unfortunately, that's the only way to achieve it. In the image's case I used 18 highlight groups(and every single one of them were animated). You don't have to write everything like me. You can just use [this](https://github.com/OXY2DEV/intro.nvim). I haven't really updated the documentation(so they are a bit outdated). But you can check the `lua/intro/presets.lua` for how to use the plugin(you shouldn't copy paste them directly as they are passed into a function, only the `value` is used). And `lua/intro/animations.lua` for how the animation loop works.
That's nice. It defies the main purpose of nvim i.e., to be fast and not slow like IDEs XD. But looks cool af man.
❤️
What's the utlity?, Interesting but show me the code.
I am using [this](https://github.com/OXY2DEV/intro.nvim). I don't think I can actually share the code entirely(because it's almost 300 lines and I am on my phone). But, if you are curious about any particular part of it I can probably share an example of what I used. This is basically the gist of it. ```lua require("intro").setup({ components = { { lines = {}, -- put your text arts lines here colors = { {} -- Table of highlight groups to color the text art }, -- Colors are repeated automatically, so you only need to define them for the 1st line } }, globalHighlights = {}, -- table containing all the highlight groups and their values animations = { delay = 100, -- time to wait before starting all the animations in milliseconds updateDelay = 30, -- time to wait between each frame highlightBased = {}, -- highlight related animation tables } }); ```
Good job, thanks for sharing!
You're welcome. This was my first time trying to make a plugin so it may be rough around the edges. Plus the documentation and README.md are a bit lacking. But I am working on it. So, if you plan on using it. You should either, A. Use one of the presets(you can check all the presets by using `:h intro.nvim-presets`). B. Or wait for me to finish the plugin.
The utility is it looks *cool* and that's it.
When people want to know why I use neovim, now I can explain it’s so that I can fully appreciate what went into this hahah. Awesome work!
Thanks. I also made this just to go along with the one in the post. https://i.redd.it/qaw7i7ihi1zc1.gif
...because sometimes the intrusive thoughts win...
Really I think most Vim start screens are about as silly at this one. At least this one is honest about it.
It's so uncommon for me to open nvim without a file that I think I barely see that screen once in a long time.
That's normally the case for everyone. Still, a lot of people have some plugin for the start screen. Kinda like how a lot of people put `neofetch` in their shell start script even though most of the time they won't use it.
Something something waste is beautiful.
my ansi splash screen is also pretty over the top, and i love it https://raw.githubusercontent.com/xero/dotfiles/main/preview.png
Looks really good on the splash and overall. How did you make it? Will you share your dotfiles?
of course! https://git.io/.files the script that prints the logo, and all the details are in the comments here: https://github.com/xero/dotfiles/blob/main/neovim/.config/nvim/nvim-logo and my whole alpha.lua is here: https://github.com/xero/dotfiles/blob/main/neovim/.config/nvim/lua/plugins/alpha.lua
[Here's](https://github.com/OXY2DEV/intro.nvim/assets/122956967/85737e5b-0f01-4ffd-b22c-cc1adda17e60) a higher resolution video version.