mirror of
https://github.com/xHyroM/links.git
synced 2024-11-21 23:31:04 +01:00
commit
e725056490
23 changed files with 14209 additions and 0 deletions
21
.gitignore
vendored
Normal file
21
.gitignore
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
# build output
|
||||
.vercel/
|
||||
dist/
|
||||
.output/
|
||||
|
||||
# dependencies
|
||||
node_modules/
|
||||
|
||||
# logs
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
|
||||
|
||||
# environment variables
|
||||
.env
|
||||
.env.production
|
||||
|
||||
# macOS-specific files
|
||||
.DS_Store
|
4
.prettierignore
Normal file
4
.prettierignore
Normal file
|
@ -0,0 +1,4 @@
|
|||
dist
|
||||
node_modules
|
||||
.github
|
||||
.changeset
|
16
.prettierrc
Normal file
16
.prettierrc
Normal file
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"printWidth": 120,
|
||||
"semi": true,
|
||||
"singleQuote": true,
|
||||
"tabWidth": 2,
|
||||
"trailingComma": "es5",
|
||||
"useTabs": true,
|
||||
"overrides": [
|
||||
{
|
||||
"files": [".*", "*.json", "*.md", "*.toml", "*.yml"],
|
||||
"options": {
|
||||
"useTabs": false
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
4
.vscode/extensions.json
vendored
Normal file
4
.vscode/extensions.json
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"recommendations": ["astro-build.astro-vscode"],
|
||||
"unwantedRecommendations": []
|
||||
}
|
11
.vscode/launch.json
vendored
Normal file
11
.vscode/launch.json
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"command": "./node_modules/.bin/astro dev",
|
||||
"name": "Development server",
|
||||
"request": "launch",
|
||||
"type": "node-terminal"
|
||||
}
|
||||
]
|
||||
}
|
39
astro.config.ts
Normal file
39
astro.config.ts
Normal file
|
@ -0,0 +1,39 @@
|
|||
import { defineConfig } from 'astro/config';
|
||||
|
||||
import tailwind from '@astrojs/tailwind';
|
||||
import sitemap from '@astrojs/sitemap';
|
||||
import image from '@astrojs/image';
|
||||
import vercel from '@astrojs/vercel/static';
|
||||
import compress from 'astro-compress';
|
||||
import robotsTxt from 'astro-robots-txt';
|
||||
|
||||
import { SITE } from './src/config';
|
||||
|
||||
// https://astro.build/config
|
||||
export default defineConfig({
|
||||
site: SITE.url,
|
||||
base: '/',
|
||||
trailingSlash: 'never',
|
||||
output: 'static',
|
||||
integrations: [
|
||||
tailwind(),
|
||||
sitemap(),
|
||||
image(),
|
||||
compress({
|
||||
css: true,
|
||||
html: true,
|
||||
img: false,
|
||||
js: true,
|
||||
svg: false,
|
||||
}),
|
||||
robotsTxt({
|
||||
policy: [
|
||||
{
|
||||
userAgent: '*',
|
||||
},
|
||||
],
|
||||
sitemap: true,
|
||||
}),
|
||||
],
|
||||
adapter: vercel(),
|
||||
});
|
13839
package-lock.json
generated
Normal file
13839
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
27
package.json
Normal file
27
package.json
Normal file
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"name": "@example/basics",
|
||||
"type": "module",
|
||||
"version": "0.0.1",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "astro dev",
|
||||
"start": "astro dev",
|
||||
"build": "astro build",
|
||||
"preview": "astro preview",
|
||||
"astro": "astro"
|
||||
},
|
||||
"dependencies": {
|
||||
"@astrojs/image": "^0.12.1",
|
||||
"@astrojs/sitemap": "^1.0.0",
|
||||
"@astrojs/tailwind": "^2.1.3",
|
||||
"@astrojs/vercel": "^2.4.0",
|
||||
"astro": "^1.9.0",
|
||||
"astro-compress": "^1.1.24",
|
||||
"autoprefixer": "^10.4.13",
|
||||
"cssnano": "^5.1.14",
|
||||
"tailwindcss": "^3.2.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"astro-robots-txt": "^0.3.10"
|
||||
}
|
||||
}
|
17
postcss.config.cjs
Normal file
17
postcss.config.cjs
Normal file
|
@ -0,0 +1,17 @@
|
|||
const tailwindcss = require("tailwindcss");
|
||||
const autoprefixer = require("autoprefixer");
|
||||
const cssnano = require("cssnano");
|
||||
|
||||
const mode = process.env.NODE_ENV;
|
||||
const dev = mode === "development";
|
||||
|
||||
module.exports = {
|
||||
plugins: [
|
||||
tailwindcss,
|
||||
autoprefixer,
|
||||
!dev &&
|
||||
cssnano({
|
||||
preset: "default",
|
||||
}),
|
||||
],
|
||||
};
|
BIN
src/assets/images/logo.png
Normal file
BIN
src/assets/images/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
BIN
src/assets/images/og_image.png
Normal file
BIN
src/assets/images/og_image.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.7 KiB |
3
src/assets/styles/global.css
Normal file
3
src/assets/styles/global.css
Normal file
|
@ -0,0 +1,3 @@
|
|||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
11
src/components/HeadCommon.astro
Normal file
11
src/components/HeadCommon.astro
Normal file
|
@ -0,0 +1,11 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<link rel="icon" type="image/svg+xml" href="/src/assets/images/logo.png" />
|
||||
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" /><link
|
||||
rel="preconnect"
|
||||
href="https://fonts.gstatic.com"
|
||||
crossorigin
|
||||
/><link href="https://fonts.googleapis.com/css2?family=Outfit:wght@700&display=swap" rel="stylesheet" media="all" />
|
28
src/components/HeadSEO.astro
Normal file
28
src/components/HeadSEO.astro
Normal file
|
@ -0,0 +1,28 @@
|
|||
---
|
||||
import { SITE, OPEN_GRAPH } from '../config';
|
||||
---
|
||||
|
||||
<!-- Primary Meta Tags -->
|
||||
<title>{SITE.title}</title>
|
||||
<meta name="title" content={SITE.title} />
|
||||
<meta name="description" content={SITE.title} />
|
||||
|
||||
<!-- Open Graph / Facebook -->
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content={SITE.url} />
|
||||
<meta property="og:site_name" content={SITE.title} />
|
||||
<meta property="og:title" content={SITE.title} />
|
||||
<meta property="og:description" content={SITE.description} />
|
||||
<meta property="og:image" content={OPEN_GRAPH.image.src} />
|
||||
<meta property="og:image:alt" content={OPEN_GRAPH.image.alt} />
|
||||
|
||||
<!-- Twitter -->
|
||||
<meta property="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:site" content={OPEN_GRAPH.twitter} />
|
||||
<meta property="twitter:url" content={SITE.url} />
|
||||
<meta property="twitter:title" content={SITE.title} />
|
||||
<meta property="twitter:description" content={SITE.description} />
|
||||
<meta property="twitter:image" content={OPEN_GRAPH.image.src} />
|
||||
<meta name="twitter:image:alt" content={OPEN_GRAPH.image.alt} />
|
||||
|
||||
<meta name="theme-color" content={SITE.themeColor} />
|
14
src/components/Item.astro
Normal file
14
src/components/Item.astro
Normal file
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
import { BUTTONS } from '../config';
|
||||
---
|
||||
|
||||
{
|
||||
BUTTONS.map((button) => (
|
||||
<a
|
||||
href={button.href}
|
||||
class={`${button.background} w-full rounded-xl border-2 border-black py-4 text-center text-xl font-bold text-white drop-shadow-[4px_5px_0_rgba(0,0,0,1)] duration-75 hover:translate-y-1 hover:translate-x-1 hover:drop-shadow-none`}
|
||||
>
|
||||
{button.name}
|
||||
</a>
|
||||
))
|
||||
}
|
7
src/components/Picture.astro
Normal file
7
src/components/Picture.astro
Normal file
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
import { Image } from '@astrojs/image/components';
|
||||
|
||||
import logo from '../assets/images/logo.png';
|
||||
---
|
||||
|
||||
<Image src={logo} alt="" class="rounded-full w-28" /><img />
|
3
src/components/Username.astro
Normal file
3
src/components/Username.astro
Normal file
|
@ -0,0 +1,3 @@
|
|||
<h1 class="mt-4 text-3xl font-bold text-black">
|
||||
<span class="mr-1 text-[#0091FF]">@</span>oliminator
|
||||
</h1>
|
52
src/config.ts
Normal file
52
src/config.ts
Normal file
|
@ -0,0 +1,52 @@
|
|||
export const SITE = {
|
||||
title: 'Oliminator Odkazy',
|
||||
description: 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Iure, placeat!',
|
||||
url: 'https://odkazy.oliminator.net',
|
||||
themeColor: '#FF8A00',
|
||||
};
|
||||
|
||||
export const OPEN_GRAPH = {
|
||||
image: {
|
||||
src: '../assets/images/og-image.png',
|
||||
alt: 'Odkazy text s tlačítkami',
|
||||
},
|
||||
twitter: 'oliminator34',
|
||||
};
|
||||
|
||||
export const BUTTONS = [
|
||||
{
|
||||
name: 'YouTube',
|
||||
background: 'bg-youtube hover:bg-youtube/80',
|
||||
href: '/',
|
||||
},
|
||||
{
|
||||
name: 'Instagram',
|
||||
background: 'bg-instagram hover:bg-instagram/80',
|
||||
href: '/',
|
||||
},
|
||||
{
|
||||
name: 'GitHub',
|
||||
background: 'bg-github hover:bg-github/80',
|
||||
href: '/',
|
||||
},
|
||||
{
|
||||
name: 'Discord',
|
||||
background: 'bg-discord hover:bg-discord/80',
|
||||
href: '/',
|
||||
},
|
||||
{
|
||||
name: 'Tiwtch',
|
||||
background: 'bg-twitch hover:bg-twitch/80',
|
||||
href: '/',
|
||||
},
|
||||
{
|
||||
name: 'Spotify',
|
||||
background: 'bg-spotify hover:bg-spotify/80',
|
||||
href: '/',
|
||||
},
|
||||
{
|
||||
name: 'Twitter',
|
||||
background: 'bg-twitter hover:bg-twitter/80',
|
||||
href: '/',
|
||||
},
|
||||
];
|
1
src/env.d.ts
vendored
Normal file
1
src/env.d.ts
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/// <reference types="astro/client" />
|
15
src/layouts/Layout.astro
Normal file
15
src/layouts/Layout.astro
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
import HeadCommon from '../components/HeadCommon.astro';
|
||||
import HeadSEO from '../components/HeadSEO.astro';
|
||||
---
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html dir="ltr" lang="sk-SK">
|
||||
<head>
|
||||
<HeadCommon />
|
||||
<HeadSEO />
|
||||
</head>
|
||||
<body class="bg-primaryDotted bg-primaryDottedSize font-alt3">
|
||||
<slot />
|
||||
</body>
|
||||
</html>
|
18
src/pages/index.astro
Normal file
18
src/pages/index.astro
Normal file
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
import Layout from '../layouts/Layout.astro';
|
||||
import Picture from '../components/Picture.astro';
|
||||
import Username from '../components/Username.astro';
|
||||
import Item from '../components/Item.astro';
|
||||
---
|
||||
|
||||
<Layout>
|
||||
<main class="mx-auto w-max mb-12">
|
||||
<header class="mt-12 flex flex-col items-center">
|
||||
<Picture />
|
||||
<Username />
|
||||
</header>
|
||||
<section class="mt-6 flex w-80 flex-col gap-y-6">
|
||||
<Item />
|
||||
</section>
|
||||
</main>
|
||||
</Layout>
|
76
tailwind.config.cjs
Normal file
76
tailwind.config.cjs
Normal file
|
@ -0,0 +1,76 @@
|
|||
/** @type {import('tailwindcss').Config} */
|
||||
module.exports = {
|
||||
content: ['./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}'],
|
||||
theme: {
|
||||
extend: {
|
||||
colors: {
|
||||
adobe: '#ff0000',
|
||||
airbnb: '#fd5c63',
|
||||
algolia: '#050f2c',
|
||||
amazon: '#ff9900',
|
||||
android: '#a4c639',
|
||||
atlassian: '#003366',
|
||||
behance: '#1769ff',
|
||||
codepen: '#0ebeff',
|
||||
dailymotion: '#00aaff',
|
||||
deviantart: '#05cc47',
|
||||
discord: '#5865F2',
|
||||
dribbble: '#ea4c89',
|
||||
dropbox: '#007ee5',
|
||||
duolingo: '#7ac70c',
|
||||
etsy: '#d5641c',
|
||||
evernote: '#2dbe60',
|
||||
facebook: '#3b5998',
|
||||
feedly: '#2bb24c',
|
||||
github: '#333',
|
||||
gitlab: '#fc6d26',
|
||||
google: '#4285f4',
|
||||
instagram: '#e1306c',
|
||||
linkedin: '#0077b5',
|
||||
medium: '#00ab6c',
|
||||
messenger: '#0084ff',
|
||||
microsoft: '#f65314',
|
||||
netflix: '#e50914',
|
||||
pinterest: '#e60023',
|
||||
pocket: '#ef4056',
|
||||
react: '#00d8ff',
|
||||
reddit: '#ff4500',
|
||||
shopify: '#96bf48',
|
||||
skype: '#00aff0',
|
||||
slack: '#611f69',
|
||||
snapchat: '#fffc00',
|
||||
spotify: '#1db954',
|
||||
stackoverflow: '#f48024',
|
||||
stripe: '#6772e5',
|
||||
telegram: '#0088cc',
|
||||
trello: '#0079bf',
|
||||
tumblr: '#35465c',
|
||||
twitch: '#6441a5',
|
||||
twitter: '#1da1f2',
|
||||
uber: '#09091a',
|
||||
ubuntu: '#dd4814',
|
||||
vimeo: '#162221',
|
||||
vue: '#42b883',
|
||||
whatsapp: '#075e54',
|
||||
wikipedia: '#000000',
|
||||
youtube: '#ff0000',
|
||||
transparent: 'transparent',
|
||||
current: 'currentColor',
|
||||
black: '#000',
|
||||
white: '#fff',
|
||||
background: '#F9F9F1',
|
||||
blue: '#44C3EC',
|
||||
},
|
||||
fontFamily: {
|
||||
default: ['Outfit', 'sans-serif'],
|
||||
},
|
||||
backgroundImage: {
|
||||
primaryDotted: 'radial-gradient(#E6E6D1 1px, #F9F9F1 1px)',
|
||||
},
|
||||
backgroundSize: {
|
||||
primaryDottedSize: '15px 15px',
|
||||
},
|
||||
},
|
||||
},
|
||||
plugins: [],
|
||||
};
|
3
tsconfig.json
Normal file
3
tsconfig.json
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"extends": "astro/tsconfigs/strict"
|
||||
}
|
Loading…
Reference in a new issue