119 lines
7.3 KiB
PHP
119 lines
7.3 KiB
PHP
<?php
|
||
/**
|
||
* index_config/config.php
|
||
* ─────────────────────────────────────────────────────────────────────────────
|
||
* All site-wide configuration lives here.
|
||
* Edit this file only — nothing else needs touching for routine updates.
|
||
*/
|
||
|
||
// ── Site identity ─────────────────────────────────────────────────────────────
|
||
define('SITE_NAME', 'Ty Clifford');
|
||
define('SITE_TAGLINE', 'Hobbies are my hobby.');
|
||
define('SITE_URL', 'https://tyclifford.com');
|
||
define('SITE_DESCRIPTION', 'The web space of Ty Clifford');
|
||
define('SITE_AUTHOR', 'Ty Clifford');
|
||
define('SITE_KEYWORDS', 'Ty Clifford, Keyser, West Virginia, United States, Nerd, TikTok, Freedom of Expression');
|
||
define('SITE_OG_IMAGE', SITE_URL . '/images/fa2.jpg');
|
||
define('SITE_OG_ALT', 'Profile image of Ty Clifford. Making a funny face squinting.');
|
||
define('SITE_TWITTER', '@_tyclifford');
|
||
|
||
// ── Profile ───────────────────────────────────────────────────────────────────
|
||
define('PROFILE_IMG', SITE_URL . '/images/fa2.jpg');
|
||
define('PROFILE_IMG_ALT', 'Ty Clifford — making a funny face, squinting. Eye everything.');
|
||
|
||
// ── Background video ──────────────────────────────────────────────────────────
|
||
// Set BG_VIDEO_MP4 to '' to disable the video (falls back to static gradient).
|
||
define('BG_VIDEO_MP4', SITE_URL . '/bg/BGV2.mp4');
|
||
define('BG_VIDEO_POSTER', SITE_URL . '/images/fa2.jpg');
|
||
// Overlay opacity over the video: 0 = none 1 = fully black
|
||
define('BG_OVERLAY', '0.78');
|
||
|
||
// ── Typed cycling strings (after "living in") ─────────────────────────────────
|
||
// Format: ['text', 'optional_css_class']
|
||
// CSS classes available: '' | 'grad-green' | 'grad-purple'
|
||
define('TYPED_STRINGS', serialize([
|
||
['West Virginia', ''],
|
||
['Keyser.', ''],
|
||
['curiosity.', ''],
|
||
['wonder.', 'grad-green'],
|
||
['the multiverse.', ''],
|
||
['your mind now.', 'grad-purple'],
|
||
]));
|
||
|
||
// ── Horizontal nav pills ──────────────────────────────────────────────────────
|
||
// Format: ['Label', 'url', 'color_class', 'emoji or ""']
|
||
// Color classes: col-blue | col-green | col-orange | col-pink | col-peach
|
||
// col-red | col-hotpink | col-sky
|
||
define('NAV_LINKS', serialize([
|
||
['Live', 'https://tyclifford.com/live/', 'col-blue', ''],
|
||
['Shop', 'https://shop.tyclifford.com/', 'col-green', ''],
|
||
['Shares', 'https://tyclifford.com/trade/', 'col-red', ''],
|
||
['World', 'https://tyclifford.com/world/', 'col-orange', ''],
|
||
['Patreon', 'https://go.tyclifford.com/patreon', 'col-pink', ''],
|
||
['Blog', 'https://tyclifford.com/blog', 'col-peach', ''],
|
||
['YouTube', 'https://go.tyclifford.com/youtube', 'col-red', ''],
|
||
['TikTok', 'https://go.tyclifford.com/tiktok', 'col-hotpink', ''],
|
||
['Bluesky', 'https://go.tyclifford.com/bluesky', 'col-sky', ''],
|
||
// ['Tip Jar', '/tip/', 'col-green', ''],
|
||
]));
|
||
|
||
// ── Bludit blog integration ───────────────────────────────────────────────────
|
||
// Base URL of your Bludit install (no trailing slash).
|
||
define('BLUDIT_URL', 'https://blog.tyclifford.com');
|
||
// Bludit API token — find it in Admin › Settings › API.
|
||
// Set to '' to disable the blog widget entirely.
|
||
define('BLUDIT_API_TOKEN', '');
|
||
// Number of posts to display (max 5 recommended).
|
||
define('BLUDIT_POST_COUNT', 5);
|
||
// Snippet length in characters (post body is stripped of HTML).
|
||
define('BLUDIT_SNIPPET_LEN', 110);
|
||
// Cache TTL in seconds for the API response (0 = no cache).
|
||
define('BLUDIT_CACHE_TTL', 300);
|
||
|
||
// ── Updates feed ─────────────────────────────────────────────────────────────
|
||
// Path to the JSON file that drives the "Updates" widget (absolute path).
|
||
define('UPDATES_JSON', __DIR__ . '/updates.json');
|
||
|
||
// ── Updates auto-refresh ──────────────────────────────────────────────────────
|
||
// How often (in seconds) the browser polls for new updates.
|
||
// Minimum enforced by JS: 5 seconds. Recommended: 30–120.
|
||
define('UPDATES_REFRESH_INTERVAL', 30);
|
||
|
||
// URL to an audio file played when new updates are detected.
|
||
// Supports any browser-compatible format: .mp3, .ogg, .wav
|
||
// Set to '' to disable the sound notification entirely.
|
||
define('UPDATES_REFRESH_SOUND', SITE_URL . '');
|
||
|
||
// How many updates to display per page in the widget.
|
||
// Recommended: 10–15. Visitors can page through older posts.
|
||
define('UPDATES_PER_PAGE', 10);
|
||
|
||
// URL to the lightweight JSON feed endpoint used by the auto-refresher.
|
||
// Default: the updates_feed.php file inside index_config/ (no need to change).
|
||
define('UPDATES_FEED_URL', '/index_config/updates_feed.php');
|
||
|
||
// ── Donation buttons ─────────────────────────────────────────────────────────
|
||
// Format: ['Label', 'url', 'style_key']
|
||
// style_key: 'patreon' | 'liberapay' | 'paypal' | 'generic'
|
||
define('DONATE_LINKS', serialize([
|
||
['Become a Patron', 'https://go.tyclifford.com/patreon', 'patreon'],
|
||
// ['Donate via Liberapay', 'https://go.tyclifford.com/liberapay', 'liberapay'],
|
||
['Tip via PayPal', 'https://www.paypal.com/donate/?hosted_button_id=ZDJ9TXPPMNZ6U', 'paypal'],
|
||
]));
|
||
|
||
// ── Social / contact links ────────────────────────────────────────────────────
|
||
// Format: ['Label', 'url', 'icon_key']
|
||
// icon_key: 'github' | 'email' | 'patreon' | 'bluesky' | 'tiktok' | 'youtube' | 'web'
|
||
define('SOCIAL_LINKS', serialize([
|
||
['Git', 'https://git.tyclifford.com/snick/comv3', 'gitea'],
|
||
['Bluesky', 'https://go.tyclifford.com/bluesky', 'bluesky'],
|
||
['TikTok', 'https://go.tyclifford.com/tiktok', 'tiktok'],
|
||
['YouTube', 'https://tyclifford.com/yt', 'youtube'],
|
||
['ty@tyclifford.com', 'mailto:ty@tyclifford.com', 'email'],
|
||
]));
|
||
|
||
// ── CTA buttons ───────────────────────────────────────────────────────────────
|
||
// Set to '' to hide the respective button.
|
||
define('CALENDLY_URL', 'https://calendly.com/tyclifford/list');
|
||
define('SCHEDULE_URL', '/schedule/');
|