2024-11-01 14:16:09 +01:00
|
|
|
import { createApp } from 'vue';
|
|
|
|
|
|
|
|
|
|
import '@fontsource/noto-sans';
|
|
|
|
|
|
2025-01-06 21:28:01 +01:00
|
|
|
import { tooltip, fallbackImage } from 'pankow';
|
2024-12-26 12:19:48 +01:00
|
|
|
|
2025-05-15 15:11:11 +02:00
|
|
|
// Override the link rendering method for markdown renderings to open in new tab
|
|
|
|
|
import { marked } from 'marked';
|
|
|
|
|
|
|
|
|
|
const renderer = new marked.Renderer();
|
|
|
|
|
renderer.link = function(item) {
|
|
|
|
|
const titleAttr = item.title ? ` title="${item.title}"` : '';
|
|
|
|
|
return `<a href="${item.href}" target="_blank" ${titleAttr}>${item.text}</a>`;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
marked.setOptions({ renderer });
|
|
|
|
|
|
|
|
|
|
|
2024-11-01 14:16:09 +01:00
|
|
|
import i18n from './i18n.js';
|
2025-01-21 17:08:09 +01:00
|
|
|
import Index from './Index.vue';
|
2024-11-01 14:16:09 +01:00
|
|
|
|
2025-01-17 15:08:29 +01:00
|
|
|
import './style.css';
|
|
|
|
|
|
2024-11-01 14:16:09 +01:00
|
|
|
(async function init() {
|
|
|
|
|
const app = createApp(Index);
|
|
|
|
|
|
|
|
|
|
app.use(await i18n());
|
|
|
|
|
|
2024-12-26 12:19:48 +01:00
|
|
|
app.directive('tooltip', tooltip);
|
2025-01-06 21:28:01 +01:00
|
|
|
app.directive('fallback-image', fallbackImage);
|
2024-12-26 12:19:48 +01:00
|
|
|
|
2024-12-27 12:12:24 +01:00
|
|
|
app.mount('#app');
|
2024-11-01 14:16:09 +01:00
|
|
|
})();
|