├── .gitattributes ├── .eslintrc.json ├── public ├── favicon.ico ├── img │ ├── not-found.png │ ├── screenshot.jpg │ ├── screenshot.png │ ├── profile_alpha.svg │ └── ui │ │ ├── wb_logo.svg │ │ └── wb_brand.svg ├── ports │ ├── dwm │ │ ├── screenshots │ │ │ └── dwm.png │ │ └── install.md │ ├── gtk │ │ ├── screenshots │ │ │ └── gtk.png │ │ ├── assets │ │ │ └── gtk.zip │ │ └── install.md │ ├── zsh │ │ ├── screenshots │ │ │ └── zsh.png │ │ ├── install.md │ │ └── assets │ │ │ └── wildberries.zsh-theme │ ├── dmenu │ │ ├── screenshots │ │ │ └── dmenu.png │ │ └── install.md │ ├── slack │ │ ├── screenshots │ │ │ └── slack.png │ │ └── install.md │ ├── vscode │ │ ├── screenshots │ │ │ ├── vscode.png │ │ │ └── vscode-darker.png │ │ ├── assets │ │ │ └── wildberries-0.0.1.vsix │ │ └── install.md │ ├── duckduckgo │ │ ├── screenshots │ │ │ └── duckduckgo.png │ │ └── install.md │ ├── telegram-x │ │ ├── screenshots │ │ │ └── telegram-x.png │ │ ├── install.md │ │ └── assets │ │ │ └── Wildberries.tgx-theme │ ├── xresources │ │ ├── screenshots │ │ │ └── xresources.png │ │ └── install.md │ ├── json-reader │ │ ├── screenshots │ │ │ └── json-reader.png │ │ └── install.md │ ├── sync-for-reddit │ │ ├── screenshots │ │ │ └── sync-for-reddit.png │ │ └── install.md │ ├── papirus-wildberries │ │ ├── screenshots │ │ │ └── papirus-wildberries.png │ │ ├── assets │ │ │ └── papirus-wildberries.zip │ │ └── install.md │ ├── firefox │ │ └── install.md │ ├── tmux │ │ ├── install.md │ │ └── assets │ │ │ └── wildberries.tmuxtheme │ ├── fzf │ │ └── install.md │ └── xscreensaver │ │ └── install.md ├── fonts │ └── JetBrainsMono-Medium.ttf └── manifest.json ├── postcss.config.js ├── next-env.d.ts ├── next.config.js ├── global.d.ts ├── pages ├── _app.tsx ├── 404.tsx ├── api │ └── og.tsx ├── [port].tsx ├── index.tsx └── about.tsx ├── .prettierrc.js ├── components ├── index.ts ├── ExtendedFab.tsx ├── Logo.tsx ├── Topbar.tsx ├── Footer.tsx ├── Button.tsx ├── Layout.tsx ├── BioCard.tsx ├── Code.tsx ├── Hero.tsx ├── Slider.tsx └── og │ ├── index.tsx │ └── port.tsx ├── .gitignore ├── tsconfig.json ├── package.json ├── tailwind.config.js ├── lib └── ports.ts ├── styles ├── highlight.ts ├── globals.css └── Slider.module.css └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | *.zip filter=lfs diff=lfs merge=lfs -text 2 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbgabo/wildberries-nextjs/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/img/not-found.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbgabo/wildberries-nextjs/HEAD/public/img/not-found.png -------------------------------------------------------------------------------- /public/img/screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbgabo/wildberries-nextjs/HEAD/public/img/screenshot.jpg -------------------------------------------------------------------------------- /public/img/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbgabo/wildberries-nextjs/HEAD/public/img/screenshot.png -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /public/ports/dwm/screenshots/dwm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbgabo/wildberries-nextjs/HEAD/public/ports/dwm/screenshots/dwm.png -------------------------------------------------------------------------------- /public/ports/gtk/screenshots/gtk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbgabo/wildberries-nextjs/HEAD/public/ports/gtk/screenshots/gtk.png -------------------------------------------------------------------------------- /public/ports/zsh/screenshots/zsh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbgabo/wildberries-nextjs/HEAD/public/ports/zsh/screenshots/zsh.png -------------------------------------------------------------------------------- /public/fonts/JetBrainsMono-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbgabo/wildberries-nextjs/HEAD/public/fonts/JetBrainsMono-Medium.ttf -------------------------------------------------------------------------------- /public/ports/dmenu/screenshots/dmenu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbgabo/wildberries-nextjs/HEAD/public/ports/dmenu/screenshots/dmenu.png -------------------------------------------------------------------------------- /public/ports/slack/screenshots/slack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbgabo/wildberries-nextjs/HEAD/public/ports/slack/screenshots/slack.png -------------------------------------------------------------------------------- /public/ports/vscode/screenshots/vscode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbgabo/wildberries-nextjs/HEAD/public/ports/vscode/screenshots/vscode.png -------------------------------------------------------------------------------- /public/ports/duckduckgo/screenshots/duckduckgo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbgabo/wildberries-nextjs/HEAD/public/ports/duckduckgo/screenshots/duckduckgo.png -------------------------------------------------------------------------------- /public/ports/telegram-x/screenshots/telegram-x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbgabo/wildberries-nextjs/HEAD/public/ports/telegram-x/screenshots/telegram-x.png -------------------------------------------------------------------------------- /public/ports/vscode/assets/wildberries-0.0.1.vsix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbgabo/wildberries-nextjs/HEAD/public/ports/vscode/assets/wildberries-0.0.1.vsix -------------------------------------------------------------------------------- /public/ports/vscode/screenshots/vscode-darker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbgabo/wildberries-nextjs/HEAD/public/ports/vscode/screenshots/vscode-darker.png -------------------------------------------------------------------------------- /public/ports/xresources/screenshots/xresources.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbgabo/wildberries-nextjs/HEAD/public/ports/xresources/screenshots/xresources.png -------------------------------------------------------------------------------- /public/ports/json-reader/screenshots/json-reader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbgabo/wildberries-nextjs/HEAD/public/ports/json-reader/screenshots/json-reader.png -------------------------------------------------------------------------------- /public/ports/gtk/assets/gtk.zip: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:ed7918480dbbb926166880e2fde5b53e206e66d859dc69b45bf6668175c63af0 3 | size 386298 4 | -------------------------------------------------------------------------------- /public/ports/sync-for-reddit/screenshots/sync-for-reddit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbgabo/wildberries-nextjs/HEAD/public/ports/sync-for-reddit/screenshots/sync-for-reddit.png -------------------------------------------------------------------------------- /public/ports/papirus-wildberries/screenshots/papirus-wildberries.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbgabo/wildberries-nextjs/HEAD/public/ports/papirus-wildberries/screenshots/papirus-wildberries.png -------------------------------------------------------------------------------- /public/ports/papirus-wildberries/assets/papirus-wildberries.zip: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:e9ca45e2a3c4e37af2f2575f8043c67a849c4de5c7b8f6bcf9463894768973ef 3 | size 219071213 4 | -------------------------------------------------------------------------------- /next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/basic-features/typescript for more information. 6 | -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | module.exports = { 3 | reactStrictMode: true, 4 | }; 5 | 6 | module.exports = { 7 | i18n: { 8 | locales: ["en"], 9 | defaultLocale: "en", 10 | }, 11 | }; 12 | -------------------------------------------------------------------------------- /global.d.ts: -------------------------------------------------------------------------------- 1 | interface Port { 2 | port: string; 3 | title: string; 4 | screenshots: string[] | null; 5 | platform: Array<"all" | "mac" | "windows" | "linux" | "android" | "IOS">; 6 | instructions: string; 7 | assets: string[] | null; 8 | } 9 | -------------------------------------------------------------------------------- /public/ports/gtk/install.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: GTK 3 | platform: ["linux"] 4 | --- 5 | 6 | 1. Download `gtk.zip`; 7 | 2. Extract the .zip file; 8 | 3. Move the extracted folder to .theme i.e. `/usr/share/themes/` or `~/.themes/` (create it if necessary); 9 | -------------------------------------------------------------------------------- /pages/_app.tsx: -------------------------------------------------------------------------------- 1 | import '../styles/globals.css'; 2 | import type { AppProps } from 'next/app'; 3 | import '@fontsource-variable/jetbrains-mono'; 4 | 5 | function MyApp({ Component, pageProps }: AppProps) { 6 | return ; 7 | } 8 | export default MyApp; 9 | -------------------------------------------------------------------------------- /public/ports/papirus-wildberries/install.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Wildberries Icons 3 | platform: ["linux"] 4 | --- 5 | 6 | 1. Download `papirus-wildberries.zip`; 7 | 2. Extract the .zip file; 8 | 3. Move the extracted folder to .theme i.e. `/usr/share/icons/` or `~/.icons/` (create it if necessary); 9 | -------------------------------------------------------------------------------- /public/ports/telegram-x/install.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Telegram X 3 | platform: ["android"] 4 | --- 5 | 6 | 1. Download telegram-x.zip; 7 | 2. Extract the .zip file; 8 | 3. Send It to yourself on a telegram chat, like on `Saved Messages`; 9 | 4. Click on the message including the file; 10 | 5. Click on `Apply`; 11 | -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- 1 | /** @type {import('prettier').Config} */ 2 | module.exports = { 3 | printWidth: 120, 4 | semi: true, 5 | singleQuote: true, 6 | tabWidth: 2, 7 | trailingComma: "es5", 8 | useTabs: false, 9 | 10 | plugins: [ 11 | require.resolve("prettier-plugin-tailwindcss"), 12 | ], 13 | }; 14 | -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "Wildberries", 3 | "name": "Wildberries - A theme for purple lovers", 4 | "start_url": "/", 5 | "display": "standalone", 6 | "theme_color": "#19002e", 7 | "background_color": "#ffffff", 8 | "icons": [ 9 | { 10 | "src": "favicon.ico", 11 | "sizes": "64x64 32x32 24x24 16x16", 12 | "type": "image/x-icon" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /public/ports/firefox/install.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Firefox 3 | platform: ['windows', 'linux', 'mac'] 4 | --- 5 | 6 | ## Install from Firefox Addon: 7 | 8 | Install the theme directly from [Firefox Addons](https://addons.mozilla.org/en-US/firefox/addon/wildberries/). 9 | 10 | ## Activating the theme: 11 | 12 | To activate and manage your themes at any time, go to your command palette and type `Preferences: Color Theme`. 13 | -------------------------------------------------------------------------------- /public/ports/tmux/install.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: tmux 3 | platform: ['windows', 'linux', 'mac'] 4 | --- 5 | 6 | 1. Download the `wildberries.tmuxtheme` file available below in this page; 7 | 2. Source it on your `tmux.conf`; 8 | 9 | ```bash 10 | #tmux.conf 11 | source-file "${HOME}/.dotfiles/config/tmux/wildberries.tmuxtheme" 12 | ``` 13 | 14 | 3. Relaunch your tmux or just type the previous command on your prompt and the theme should be visible; 15 | -------------------------------------------------------------------------------- /components/index.ts: -------------------------------------------------------------------------------- 1 | import Footer from './Footer'; 2 | import Hero from './Hero'; 3 | import Slider from './Slider'; 4 | import ExtendedFab from './ExtendedFab'; 5 | import TopBar from './Topbar'; 6 | import BioCard from './BioCard'; 7 | import Code from './Code'; 8 | import Button from './Button'; 9 | import Logo from './Logo'; 10 | import Layout from './Layout'; 11 | 12 | export { Hero, Footer, Slider, ExtendedFab, TopBar, BioCard, Code, Button, Logo, Layout }; 13 | -------------------------------------------------------------------------------- /components/ExtendedFab.tsx: -------------------------------------------------------------------------------- 1 | import React, { ReactElement } from 'react'; 2 | import Button, { Props } from './Button'; 3 | 4 | export default function ExtendedFab({ href, children, variant = 'primary', icon }: Props): ReactElement { 5 | return ( 6 |
7 | 10 |
11 | ); 12 | } 13 | -------------------------------------------------------------------------------- /public/ports/dwm/install.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: dwm 3 | platform: ["linux"] 4 | --- 5 | 6 | 1. On your config.h or config.def.h, replace the `colors` array values to: 7 | 8 | ```c 9 | // config.def.h 10 | static const char _colors[][3] = { 11 | /* fg bg border */ 12 | [SchemeNorm] = { "#c79bff", "#240041", "#444444" }, 13 | [SchemeSel] = { "#00ffb7", "#900048", "#900048" }, 14 | }; 15 | ``` 16 | 17 | 2. Rebuild your dwm fork 18 | 19 | ```bash 20 | sudo make clean install 21 | ``` 22 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | 27 | # local env files 28 | .env.local 29 | .env.development.local 30 | .env.test.local 31 | .env.production.local 32 | 33 | # vercel 34 | .vercel 35 | -------------------------------------------------------------------------------- /public/ports/dmenu/install.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: dmenu 3 | platform: ["linux"] 4 | --- 5 | 6 | 1. On your **config.h** or **config.def.h**, replace the `colors` array values to: 7 | ```c 8 | // config.def.h 9 | static const char *colors[SchemeLast][2] = { 10 | /* fg bg */ 11 | [SchemeNorm] = { "#c79bff", "#240041" }, 12 | [SchemeSel] = { "#00ffb7", "#900048" }, 13 | [SchemeOut] = { "#000000", "#00ffff" }, 14 | }; 15 | ``` 16 | 2. Rebuild your dmenu fork; 17 | ```bash 18 | sudo make clean install 19 | ``` 20 | -------------------------------------------------------------------------------- /public/ports/slack/install.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Slack 3 | platform: ["web", "android", "ios"] 4 | --- 5 | 6 | 1. On your Slack app opened, go to `Preferences > Themes`; 7 | 2. On Colors section, click on `Create a custom theme` 8 | 3. Paste the values below on the field presented to set the theme color: 9 | ``` 10 | #19002E,#241D2E,#900048,#00FFB7,#240041,#C79BFF,#00FFB7,#FF0E82,#240041,#FF0E82 11 | ``` 12 | 13 | - It's also possible to set the theme by pasting the values and sending to a chat. 14 | - Send it to any channel or conversation, such as Slackbot, and click on the `Switch sidebar theme` button to install; 15 | -------------------------------------------------------------------------------- /public/ports/fzf/install.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: fzf 3 | platform: ['windows', 'linux', 'mac'] 4 | --- 5 | 6 | 1. On your **bashrc**, **zshrc**, or any other shell init file, export the `FZF_DEFAULT_OPTS` enviroment variable: 7 | ```bash 8 | export FZF_DEFAULT_OPTS="--color=bg+:#900048,bg:-1,spinner:#ff0e82,hl:#00ffb7 \ 9 | --color=fg:#cdd6f4,header:#ff0e82,info:#cba6f7,pointer:#00ffb7 \ 10 | --color=marker:#900048,fg+:#00ffb7,prompt:#cba6f7,hl+:#00ffb7" 11 | ``` 12 | 2. Restart your shell by sourcing its updated rc file; 13 | ```bash 14 | source bashrc #or zshrc and etc... 15 | ``` 16 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": [ 5 | "dom", 6 | "dom.iterable", 7 | "esnext" 8 | ], 9 | "allowJs": true, 10 | "skipLibCheck": true, 11 | "strict": true, 12 | "forceConsistentCasingInFileNames": true, 13 | "noEmit": true, 14 | "esModuleInterop": true, 15 | "module": "esnext", 16 | "moduleResolution": "node", 17 | "resolveJsonModule": true, 18 | "isolatedModules": true, 19 | "jsx": "preserve", 20 | "incremental": true 21 | }, 22 | "include": [ 23 | "next-env.d.ts", 24 | "**/*.ts", 25 | "**/*.tsx" 26 | ], 27 | "exclude": [ 28 | "node_modules" 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /public/ports/sync-for-reddit/install.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Sync for Reddit 3 | platform: ["android", "ios"] 4 | --- 5 | 6 | 1. On your Sync for reddit app opened, go to `Settings > Theme customization`; 7 | 2. At the bottom of the page, click on `load` 8 | 3. Paste the data below on the `Theme data` field that is presented: 9 | ```json 10 | { 11 | "name": "wildberries", 12 | "primary_color": "#240041", 13 | "accent_color": "#ff0e82", 14 | "highlight_color": "#00ffb7", 15 | "primary_text_color": "#ffffff", 16 | "secondary_text_color": "#c79bff", 17 | "window_color": "#400074", 18 | "content_color": "#900048", 19 | "sticky_text_color": "#03a5c9" 20 | } 21 | ``` 22 | -------------------------------------------------------------------------------- /components/Logo.tsx: -------------------------------------------------------------------------------- 1 | import { ReactElement } from 'react'; 2 | 3 | interface Props { 4 | concat?: string | ReactElement; 5 | } 6 | export default function Logo({ concat }: Props) { 7 | return ( 8 |
9 | Wildberries 10 |

11 | Wildberries 12 | {concat && concat} 13 |

14 |
15 | ); 16 | } 17 | -------------------------------------------------------------------------------- /public/ports/vscode/install.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: VScode 3 | platform: ["windows", "linux", "mac"] 4 | --- 5 | 6 | ## From the marketplace: 7 | 8 | 1. On vscode, go to `View -> Command Palette` or press `Ctrl+Shift+P`; 9 | 2. Type `Install Extension`; 10 | 3. Then Type `Wildberries`; 11 | 4. Click on `Set Color Theme`; 12 | 13 | ## Manually from VSIX: 14 | 15 | 1. Download the VSIX file found on this page; 16 | 2. On vscode, go to `View -> Command Palette` or press `Ctrl+Shift+P`; 17 | 3. Type `Install from VSIX...`; 18 | 4. Select the downloaded VSIX file to install it; 19 | 20 | ## Activating the theme: 21 | 22 | To activate and manage your themes at any time, go to your command palette and type `Preferences: Color Theme`. 23 | -------------------------------------------------------------------------------- /components/Topbar.tsx: -------------------------------------------------------------------------------- 1 | import React, { ReactElement } from 'react'; 2 | import Link from 'next/link'; 3 | import Logo from './Logo'; 4 | 5 | interface Props { 6 | port?: string; 7 | } 8 | 9 | export default function TopBar({ port }: Props): ReactElement { 10 | return ( 11 |
12 | 13 | 14 | 18 | for {port} 19 | 20 | ) 21 | } 22 | /> 23 | 24 | 25 |
26 | ); 27 | } 28 | -------------------------------------------------------------------------------- /components/Footer.tsx: -------------------------------------------------------------------------------- 1 | import React, { ReactElement } from 'react'; 2 | import { BioCard } from '../components'; 3 | 4 | interface Props { 5 | variant?: 'primary' | 'secondary'; 6 | } 7 | 8 | const variants = { 9 | primary: 'bg-gradient-to-t from-cherry to-darker-purple to-40%', 10 | secondary: 'bg-gradient-to-t from-dark-purple to-darker-purple from-[-50%] to-40%', 11 | }; 12 | 13 | export default function Footer({ variant = 'primary' }: Props): ReactElement { 14 | return ( 15 |
18 | 19 | 20 |
21 | ); 22 | } 23 | -------------------------------------------------------------------------------- /public/ports/zsh/install.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: zsh 3 | platform: ['linux', 'mac'] 4 | --- 5 | 6 | #### This port requires: 7 | 8 | - [oh-my-zsh](https://ohmyz.sh/); 9 | - [nerd-fonts](https://www.nerdfonts.com/); 10 | 11 | 1. Download the `wildberries.zsh-theme` file available below in this page; 12 | 2. Add the line below it on your `.zshrc` file to source the theme; 13 | 14 | ```bash 15 | source "$PATH_TO_FILE/wildberries.zsh-theme" 16 | ``` 17 | 18 | 3. Restart your shell by sourcing its updated rc file just type the previous command on your prompt and the theme should be visible; 19 | ```bash 20 | source zshrc 21 | ``` 22 | 23 | - If you want to use the theme colors on other prompt layout, you can use the following **ANSI escape codes to represent 256-colors**: 24 | 25 | | Color | Code | 26 | | ------- | ---- | 27 | | #900048 | 013 | 28 | | #00ffb7 | 014 | 29 | | #19002E | 016 | 30 | | #240041 | 053 | 31 | | #c79bff | 171 | 32 | -------------------------------------------------------------------------------- /public/ports/xresources/install.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Xresources 3 | platform: ["linux"] 4 | --- 5 | 6 | On your home directory find a `.Xresources` file, or else create it, and paste the snippet below: 7 | 8 | ```bash 9 | # .Xresources 10 | ! special 11 | *.foreground: #ff0e82 12 | *.background: #19002e 13 | *.cursorColor: #ff0e82 14 | 15 | ! black 16 | *.color0: #151515 17 | *.color8: #505050 18 | 19 | ! red 20 | *.color1: #900048 21 | *.color9: #900048 22 | 23 | ! green 24 | *.color2: #00ff40 25 | *.color10: #00ff40 26 | 27 | ! yellow 28 | *.color3: #f4cc53 29 | *.color11: #f4cc53 30 | 31 | ! blue 32 | *.color4: #00ffff 33 | *.color12: #00ffff 34 | 35 | ! magenta 36 | *.color5: #c79bff 37 | *.color13: #c79bff 38 | 39 | ! cyan 40 | *.color6: #00ffb7 41 | *.color14: #00ffb7 42 | 43 | ! white 44 | *.color7: #d0d0d0 45 | *.color15: #f5f5f5 46 | ``` 47 | 48 | To apply the changes run the following command: 49 | 50 | ```bash 51 | xrdb .Xresources 52 | ``` 53 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "wildberries", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint" 10 | }, 11 | "dependencies": { 12 | "@fontsource-variable/jetbrains-mono": "^5.0.19", 13 | "@vercel/og": "^0.0.20", 14 | "gray-matter": "^4.0.3", 15 | "next": "^12.2.3", 16 | "react": "17.0.2", 17 | "react-copy-to-clipboard": "^5.0.4", 18 | "react-dom": "17.0.2", 19 | "react-markdown": "^7.1.0", 20 | "react-syntax-highlighter": "^15.4.4", 21 | "remark-gfm": "^3.0.1" 22 | }, 23 | "devDependencies": { 24 | "@iconify/react": "^4.1.1", 25 | "@types/node": "^18.7.2", 26 | "@types/react": "^18.0.17", 27 | "@types/react-copy-to-clipboard": "^5.0.2", 28 | "@types/react-syntax-highlighter": "^13.5.2", 29 | "autoprefixer": "^10.4.16", 30 | "eslint": "^8.53.0", 31 | "eslint-config-next": "^14.0.2", 32 | "postcss": "^8.4.31", 33 | "prettier": "^3.1.0", 34 | "prettier-plugin-tailwindcss": "^0.5.7", 35 | "tailwindcss": "^3.3.5", 36 | "typescript": "^5.2.2" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /public/ports/json-reader/install.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: JSON Reader 3 | --- 4 | 5 | 1. Once you have JSON Reader extension installed on your web browser, access the options page for the extension. 6 | 7 | 2. On the **custom style** section, add the following css properties: 8 | 9 | ```css 10 | .CodeMirror { 11 | font-family: monaco, Consolas, Menlo, Courier, monospace; 12 | font-size: 16px; 13 | line-height: 1.5em; 14 | background-color: #19002e !important; 15 | color: #8d659c !important; 16 | border: none; 17 | } 18 | .CodeMirror-gutters { 19 | background-color: #19002e !important; 20 | } 21 | .CodeMirror-linenumber { 22 | color: #00ffb7 !important; 23 | } 24 | 25 | span { 26 | color: #399ee6 !important; 27 | } 28 | span.cm-property { 29 | color: #ff0e82 !important; 30 | } 31 | span.cm-atom { 32 | color: #ff0e82 !important; 33 | } 34 | span.cm-number { 35 | color: #bd93f9 !important; 36 | } 37 | span.cm-variable { 38 | color: #50fa7b !important; 39 | } 40 | span.cm-string { 41 | color: #a470d8 !important; 42 | } 43 | span.cm-comment { 44 | color: #620ca2 !important; 45 | } 46 | 47 | .extras .icon svg { 48 | fill: #00ffb7 !important; 49 | } 50 | ``` 51 | -------------------------------------------------------------------------------- /public/ports/xscreensaver/install.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Xscreensaver 3 | platform: ["linux"] 4 | --- 5 | 6 | On your home directory find a `.Xresources` file, or else create it, and paste the snippet below: 7 | 8 | ```bash 9 | !general dialog box (affects main hostname, username, password text) 10 | xscreensaver.Dialog.foreground: #00ffb7 11 | xscreensaver.Dialog.background: #240048 12 | 13 | xscreensaver.Dialog.topShadowColor: #240048 14 | xscreensaver.Dialog.bottomShadowColor: #240048 15 | 16 | xscreensaver.Dialog.Button.foreground: #00ffb7 17 | xscreensaver.Dialog.Button.background: #900042 18 | 19 | !username/password input box and date text colour 20 | xscreensaver.Dialog.text.foreground: #00ffb7 21 | xscreensaver.Dialog.text.background: #900042 22 | xscreensaver.Dialog.internalBorderWidth:25 23 | xscreensaver.Dialog.borderWidth: 0 24 | xscreensaver.Dialog.shadowThickness: 0 25 | 26 | !timeout bar (background is actually determined by Dialog.text.background) 27 | xscreensaver.passwd.thermometer.foreground: #00ffb7 28 | xscreensaver.passwd.thermometer.background: #2040e0 29 | xscreensaver.passwd.thermometer.width: 0 30 | ``` 31 | -------------------------------------------------------------------------------- /components/Button.tsx: -------------------------------------------------------------------------------- 1 | import React, { ReactElement } from 'react'; 2 | import { Icon } from '@iconify/react'; 3 | import Link from 'next/link'; 4 | 5 | export type Props = { 6 | href: string; 7 | children: string; 8 | variant?: 'primary' | 'secondary'; 9 | icon?: string; 10 | fab?: boolean; 11 | }; 12 | 13 | const variants = { 14 | primary: 'bg-cherry text-acid-green hover:bg-acid-green hover:text-cherry ', 15 | secondary: 'bg-light-purple text-darker-purple hover:bg-darker-purple hover:text-light-purple ', 16 | }; 17 | 18 | export default function Button({ href, children, variant = 'primary', icon, fab }: Props): ReactElement { 19 | return ( 20 | 21 | 26 | {icon && } 27 | {children} 28 | 29 | 30 | ); 31 | } 32 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | content: [ 4 | "./app/**/*.{js,ts,jsx,tsx,mdx}", 5 | "./pages/**/*.{js,ts,jsx,tsx,mdx}", 6 | "./components/**/*.{js,ts,jsx,tsx,mdx}", 7 | 8 | // Or if using `src` directory: 9 | "./src/**/*.{js,ts,jsx,tsx,mdx}", 10 | ], 11 | theme: { 12 | extend: { 13 | colors: { 14 | primary: "var(--aw-color-primary)", 15 | secondary: "var(--aw-color-secondary)", 16 | accent: "var(--aw-color-accent)", 17 | "dark-purple": "var(--wb-dark-purple)", 18 | //TODO: Tailwind apparently can't handle classes with /xx opacity syntax 19 | //currently declaring these colors from their direct color value (but also still storing on CustomStyle global scope) 20 | "darker-purple": "#19002e", 21 | "acid-green": "var(--wb-acid-green)", 22 | cherry: "var(--wb-cherry)", 23 | pink: "var(--wb-pink)", 24 | "light-purple": "#c79bff", 25 | grape: "var(--wb-grape)", 26 | "pastel-purple": "#e7d4ff", 27 | "muted-purple": "var(--wb-muted-purple)", 28 | }, 29 | }, 30 | }, 31 | plugins: [], 32 | }; 33 | -------------------------------------------------------------------------------- /components/Layout.tsx: -------------------------------------------------------------------------------- 1 | import Head from 'next/head'; 2 | import { TopBar, Footer } from './'; 3 | import React, { ReactElement, ReactNode } from 'react'; 4 | 5 | interface CallToAction { 6 | text: string; 7 | href: string; 8 | icon?: string; 9 | } 10 | 11 | interface MetaTags { 12 | title: string; 13 | description: string; 14 | image: string; 15 | } 16 | 17 | interface Props { 18 | meta: MetaTags; 19 | children?: ReactNode; 20 | port?: string; 21 | variant?: 'primary' | 'secondary'; 22 | } 23 | 24 | export default function Layout({ meta, children, port, variant = 'primary' }: Props): ReactElement { 25 | return ( 26 | <> 27 | 28 | 29 | 30 | 31 | {meta.title} 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | {children} 40 |