(((meta ((content . "Zettelstore Base JavaScript") (name . "title"))) (meta ((content . "configuration") (name . "role"))) (meta ((content . "js") (name . "syntax"))) (meta ((content . "2") (name . "box-number"))) (meta ((content . "") (name . "copyright"))) (meta ((content . "20260202123100") (name . "created"))) (meta ((content . "en") (name . "lang"))) (meta ((content . "") (name . "license"))) (meta ((content . "20260206134600") (name . "modified"))) (meta ((content . "20260206134600") (name . "published"))) (meta ((content . "public") (name . "visibility")))) (pre (code ((class . "language-js")) "/*-----------------------------------------------------------------------------\n * Copyright (c) 2026-present Detlef Stern\n *\n * This file is part of Zettelstore.\n *\n * Zettelstore is licensed under the latest version of the EUPL (European Union\n * Public License). Please see file LICENSE.txt for your rights and obligations\n * under this license.\n *\n * SPDX-License-Identifier: EUPL-1.2\n * SPDX-FileCopyrightText: 2026-present Detlef Stern\n *-----------------------------------------------------------------------------\n */\n\n // Polyfill for Clipboard API (for older browsers)\n(function() {\n if (!navigator.clipboard) {\n navigator.clipboard = {\n writeText: function(text) {\n return new Promise(function(resolve, reject) {\n var tempInput = document.createElement('input');\n tempInput.value = text;\n document.body.appendChild(tempInput);\n tempInput.select();\n var success = document.execCommand('copy');\n document.body.removeChild(tempInput);\n\n if (success) {\n resolve();\n } else {\n reject(new Error('Failed to copy text using execCommand.'));\n }\n });\n }\n };\n }\n})();")))