// @ts-check
import { defineConfig } from 'astro/config';
import starlight from '@astrojs/starlight';
import remarkGithubAlerts from 'remark-github-alerts';
import remarkMath from 'remark-math';
import rehypeKatex from 'rehype-katex';
import rehypeCustomFootnotes from './src/plugins/custom-footnote';




// https://astro.build/config
export default defineConfig({
	markdown: {

		remarkPlugins: [remarkGithubAlerts, remarkMath],
		rehypePlugins: [rehypeKatex, rehypeCustomFootnotes]
	},
	integrations: [
		starlight({
			title: 'SZMGR',
			logo: {
				src: "./src/assets/fi_16.png"
			},
			social: [{ icon: 'github', label: 'GitHub', href: 'https://git.vojtechstruhar.com/Vojta/fi-notes' }],
			head: [
				{
					tag: "script",
					attrs: {
						src: "/scripts/load-images-before-print.js"
					}
				}
			],
			customCss: [
				"remark-github-alerts/styles/github-colors-light.css",
				"remark-github-alerts/styles/github-colors-dark-class.css",
				"remark-github-alerts/styles/github-base.css",
				"katex/dist/katex.min.css",
				"./src/styles/theme.css",
				"./src/styles/footnotes-fix.css",
				"./src/styles/images-adjustment.css",
				"./src/styles/scroll-fix.css",
				"./src/styles/print-improvements.css",
			],
			sidebar: [
				{
					label: "General",
					items: [
						{ link: "/szmgr", label: "Home" },
						{ link: "/szmgr/guidelines", label: "Guidelines" }
					],
				},
				{
					label: 'Společný základ programu',
					items: [
						"szmgr/szp01_algoritmy",
						"szmgr/szp02_numericke_metody",
						"szmgr/szp03_statistika",
						"szmgr/szp04_3d_modelovani",
						"szmgr/szp05_krivky_a_povrchy",
						"szmgr/szp06_strojove_uceni",
						"szmgr/szp07_grafy",
						"szmgr/szp08_modelovani_a_projekce",
						"szmgr/szp09_zpracovani_obrazu",
						"szmgr/szp10_analyza_obrazu",
					]
				},
				{
					label: 'Vývoj počítačových her',
					items: [
						"szmgr/vph01_graficke_principy_ve_vyvoji_her",
						"szmgr/vph01_pokrocila_grafika",
						"szmgr/vph02_fyzikalni_principy_ve_vyvoji_her",
						"szmgr/vph02_graficke_a_fyzikalni_principy",
						"szmgr/vph03_herni_design_i",
						"szmgr/vph04_herni_design_ii",
						"szmgr/vph05_vyvoj_her",
						"szmgr/vph06_ai_ve_hrach",
						"szmgr/vph07_gpu_rendering",
						"szmgr/vph08_modelovani_3d_postav",
					]
				},
				{
					label: 'Počítačová grafika a vizualizace',
					items: [
						"szmgr/pgv01_zaklady_vizualizace",
						"szmgr/pgv02_metody_vizualizace",
						"szmgr/pgv03_zaklady_pocitatcove_grafiky",
						"szmgr/pgv04_geometricke_algoritmy",
						"szmgr/pgv05_deleni_prostoru_a_sceny",
						"szmgr/pgv06_vykreslovani_objemovych_dat",
						"szmgr/pgv07_modely_osvetleni",
						"szmgr/pgv08_real_time_rendering",
						"szmgr/pgv09_minimalizace_energie",
						"szmgr/pgv10_zpracovani_obrazu_pomoci_pde",
						"szmgr/pgv_zpracovani_obrazu_intro",


					]
				},

			],
		}),
	],
});