diff --git a/nightwatch.conf.js b/nightwatch.conf.js new file mode 100644 index 0000000..ff005f0 --- /dev/null +++ b/nightwatch.conf.js @@ -0,0 +1,138 @@ +// Refer to the online docs for more details: +// https://nightwatchjs.org/gettingstarted/configuration/ +// + +// _ _ _ _ _ _ _ +// | \ | |(_) | | | | | | | | +// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ +// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ +// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | +// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| +// __/ | +// |___/ + +module.exports = { + // An array of folders (excluding subfolders) where your tests are located; + // if this is not specified, the test source must be passed as the second argument to the test runner. + src_folders: ['test', 'nightwatch'], + + // See https://nightwatchjs.org/guide/concepts/page-object-model.html + page_objects_path: [], + + // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html + custom_commands_path: [], + + // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html + custom_assertions_path: [], + + // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html + plugins: ['@nightwatch/react'], + + // See https://nightwatchjs.org/guide/concepts/test-globals.html + globals_path: '', + + vite_dev_server: { + start_vite: true, + port: 5173, + }, + + webdriver: {}, + + test_workers: { + enabled: true, + }, + + test_settings: { + default: { + disable_error_log: false, + launch_url: 'http://localhost:5173', + + screenshots: { + enabled: false, + path: 'screens', + on_failure: true, + }, + + desiredCapabilities: { + browserName: 'chrome', + }, + + webdriver: { + start_process: true, + server_path: '', + }, + }, + + firefox: { + desiredCapabilities: { + browserName: 'firefox', + alwaysMatch: { + acceptInsecureCerts: true, + 'moz:firefoxOptions': { + args: [ + // '-headless', + // '-verbose' + ], + }, + }, + }, + webdriver: { + start_process: true, + server_path: '', + cli_args: [ + // very verbose geckodriver logs + // '-vv' + ], + }, + }, + + chrome: { + desiredCapabilities: { + browserName: 'chrome', + 'goog:chromeOptions': { + // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ + // + // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) + w3c: true, + args: [ + //'--no-sandbox', + //'--ignore-certificate-errors', + //'--allow-insecure-localhost', + //'--headless' + ], + }, + }, + + webdriver: { + start_process: true, + server_path: '', + cli_args: [ + // --verbose + ], + }, + }, + + edge: { + desiredCapabilities: { + browserName: 'MicrosoftEdge', + 'ms:edgeOptions': { + w3c: true, + // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options + args: [ + //'--headless' + ], + }, + }, + + webdriver: { + start_process: true, + // Follow https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/?tabs=c-sharp#download-microsoft-edge-webdriver + // to download the Edge WebDriver and set the location of extracted `msedgedriver` below: + server_path: '', + cli_args: [ + // --verbose + ], + }, + }, + }, +}; diff --git a/package.json b/package.json index 8ce236d..d46f182 100644 --- a/package.json +++ b/package.json @@ -49,6 +49,7 @@ "shiki": "^0.14.5", "swr": "^2.2.4", "tailwind-merge": "^1.14.0", + "ts-node": "^10.9.2", "typewriter-effect": "^2.21.0" }, "devDependencies": { diff --git a/public/contents/projects/.obsidian/app.json b/public/contents/projects/.obsidian/app.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/public/contents/projects/.obsidian/app.json @@ -0,0 +1 @@ +{} diff --git a/public/contents/projects/.obsidian/appearance.json b/public/contents/projects/.obsidian/appearance.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/public/contents/projects/.obsidian/appearance.json @@ -0,0 +1 @@ +{} diff --git a/public/contents/projects/.obsidian/core-plugins-migration.json b/public/contents/projects/.obsidian/core-plugins-migration.json new file mode 100644 index 0000000..26dca85 --- /dev/null +++ b/public/contents/projects/.obsidian/core-plugins-migration.json @@ -0,0 +1,30 @@ +{ + "file-explorer": true, + "global-search": true, + "switcher": true, + "graph": true, + "backlink": true, + "canvas": true, + "outgoing-link": true, + "tag-pane": true, + "properties": false, + "page-preview": true, + "daily-notes": true, + "templates": true, + "note-composer": true, + "command-palette": true, + "slash-command": false, + "editor-status": true, + "bookmarks": true, + "markdown-importer": false, + "zk-prefixer": false, + "random-note": false, + "outline": true, + "word-count": true, + "slides": false, + "audio-recorder": false, + "workspaces": false, + "file-recovery": true, + "publish": false, + "sync": false +} diff --git a/public/contents/projects/.obsidian/core-plugins.json b/public/contents/projects/.obsidian/core-plugins.json new file mode 100644 index 0000000..90b8eac --- /dev/null +++ b/public/contents/projects/.obsidian/core-plugins.json @@ -0,0 +1,20 @@ +[ + "file-explorer", + "global-search", + "switcher", + "graph", + "backlink", + "canvas", + "outgoing-link", + "tag-pane", + "page-preview", + "daily-notes", + "templates", + "note-composer", + "command-palette", + "editor-status", + "bookmarks", + "outline", + "word-count", + "file-recovery" +] diff --git a/public/contents/projects/.obsidian/workspace.json b/public/contents/projects/.obsidian/workspace.json new file mode 100644 index 0000000..ef61526 --- /dev/null +++ b/public/contents/projects/.obsidian/workspace.json @@ -0,0 +1,143 @@ +{ + "main": { + "id": "2e343d3a21b12f84", + "type": "split", + "children": [ + { + "id": "2dd7a996bb1a4457", + "type": "tabs", + "children": [ + { + "id": "f64453bc4457fe32", + "type": "leaf", + "state": { + "type": "empty", + "state": {} + } + } + ] + } + ], + "direction": "vertical" + }, + "left": { + "id": "4f5d7b42c48819ad", + "type": "split", + "children": [ + { + "id": "64e8b849649aa76b", + "type": "tabs", + "children": [ + { + "id": "ba50dbde37ac1ec7", + "type": "leaf", + "state": { + "type": "file-explorer", + "state": { + "sortOrder": "alphabetical" + } + } + }, + { + "id": "034441ede8e5c60b", + "type": "leaf", + "state": { + "type": "search", + "state": { + "query": "", + "matchingCase": false, + "explainSearch": false, + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical" + } + } + }, + { + "id": "31f1770eb4072b51", + "type": "leaf", + "state": { + "type": "bookmarks", + "state": {} + } + } + ] + } + ], + "direction": "horizontal", + "width": 300 + }, + "right": { + "id": "24b5fb68e196c204", + "type": "split", + "children": [ + { + "id": "8704b62933d189e5", + "type": "tabs", + "children": [ + { + "id": "1708f813554e1043", + "type": "leaf", + "state": { + "type": "backlink", + "state": { + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical", + "showSearch": false, + "searchQuery": "", + "backlinkCollapsed": false, + "unlinkedCollapsed": true + } + } + }, + { + "id": "abae131601c6fe5a", + "type": "leaf", + "state": { + "type": "outgoing-link", + "state": { + "linksCollapsed": false, + "unlinkedCollapsed": true + } + } + }, + { + "id": "97969436a830f7fc", + "type": "leaf", + "state": { + "type": "tag", + "state": { + "sortOrder": "frequency", + "useHierarchy": true + } + } + }, + { + "id": "1418e1da87ee7d01", + "type": "leaf", + "state": { + "type": "outline", + "state": {} + } + } + ] + } + ], + "direction": "horizontal", + "width": 300, + "collapsed": true + }, + "left-ribbon": { + "hiddenItems": { + "switcher:Open quick switcher": false, + "graph:Open graph view": false, + "canvas:Create new canvas": false, + "daily-notes:Open today's daily note": false, + "templates:Insert template": false, + "command-palette:Open command palette": false + } + }, + "active": "f64453bc4457fe32", + "lastOpenFiles": [] +} diff --git a/src/app/page.tsx b/src/app/page.tsx index c63650a..c457243 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -93,7 +93,7 @@ export default function HomePage() { className='mt-4 flex flex-wrap gap-4 gap-y-2 md:mt-8' >