diff --git a/.build/app/pages/_app.js b/.build/app/pages/_app.js
deleted file mode 100644
index 02b15d072..000000000
--- a/.build/app/pages/_app.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import '../style.scss'
-
-export default function MyApp({ Component, pageProps }) {
- return
-}
diff --git a/.build/app/pages/tags.jsx b/.build/app/pages/tags.jsx
deleted file mode 100644
index 05ab9907d..000000000
--- a/.build/app/pages/tags.jsx
+++ /dev/null
@@ -1,30 +0,0 @@
-import icons from '../data/icons.json'
-import { Icon } from '../components/Icon.js'
-import { Sprite } from '../components/Sprite.js'
-
-export default function Tags () {
- return <>
-
-
-
-
-
- {icons.map(icon => (
-
- |
-
- |
- { icon.name } |
- { (icon.tags || []).join(', ') } |
- { icon.category } |
- { icon.version } |
- { icon.unicode } |
-
- ))}
-
-
- {/*
Untagged: {{ i }}
*/}
-
-
- >
-}
diff --git a/.build/editor/app/head.js b/.build/editor/app/head.js
new file mode 100644
index 000000000..94c06a39e
--- /dev/null
+++ b/.build/editor/app/head.js
@@ -0,0 +1,8 @@
+export default function Head() {
+ return (
+ <>
+
+
+ >
+ )
+}
diff --git a/.build/editor/app/icons/page.js b/.build/editor/app/icons/page.js
new file mode 100644
index 000000000..c475f2642
--- /dev/null
+++ b/.build/editor/app/icons/page.js
@@ -0,0 +1,49 @@
+// import icons from '../data/icons.json'
+// import { Icon } from '../components/Icon.js'
+// import { Sprite } from '../components/Sprite.js'
+
+export default function Icons() {
+ return <>
+
+ icons
+ {/*
*/}
+ {/*
*/}
+ {/*
*/}
+ {/*
*/}
+ {/* {icons.map(icon => (*/}
+ {/*
*/}
+ {/* */}
+ {/*
*/}
+ {/* ))}*/}
+ {/*
*/}
+ {/*
*/}
+ {/*
*/}
+ {/* {% if jekyll.environment != "development" %}*/}
+ {/*
*/}
+ {/*
*/}
+ {/*
*/}
+ {/* {% for icon in site.icons %}*/}
+ {/* {% assign name = icon.slug %}*/}
+ {/*
*/}
+ {/* {% include_cached icon.html name=name stroke=1.5 %}*/}
+ {/*
*/}
+ {/* {% endfor %}*/}
+ {/*
*/}
+ {/*
*/}
+ {/*
*/}
+ {/*
*/}
+ {/*
*/}
+ {/*
*/}
+ {/* {% for icon in site.icons %}*/}
+ {/* {% assign name = icon.slug %}*/}
+ {/*
*/}
+ {/* {% include_cached icon.html name=name stroke=1 %}*/}
+ {/*
*/}
+ {/* {% endfor %}*/}
+ {/*
*/}
+ {/*
*/}
+ {/*
*/}
+ {/* {% endif %}*/}
+
+ >
+}
diff --git a/.build/editor/app/layout.js b/.build/editor/app/layout.js
new file mode 100644
index 000000000..08de9e7da
--- /dev/null
+++ b/.build/editor/app/layout.js
@@ -0,0 +1,10 @@
+import '../style.scss'
+
+export default function Layout({
+ children,
+}) {
+ return
+ {children}
+
+}
diff --git a/.build/editor/app/page.js b/.build/editor/app/page.js
new file mode 100644
index 000000000..65b239103
--- /dev/null
+++ b/.build/editor/app/page.js
@@ -0,0 +1,127 @@
+// "use client"
+
+// import { useState } from 'react'
+import { groupByCategory } from '../../svg.mjs'
+// import clsx from 'clsx'
+// import { Icon } from '../components/Icon.js'
+import { Sprite } from '../components/Sprite.js'
+// import { Toolbar } from '../components/Toolbar.js'
+
+// import icons from '../data/icons.json'
+
+const icons = []
+export default function Index () {
+ // const [icon, setIcon] = useState(icons[0].name),
+ // [strokeWidth, setStrokeWidth] = useState(2),
+ // groups = groupByCategory(icons),
+ // newIcons = icons.filter(i => !i.version)
+
+ return (
+
+ index
+
+ {/*
*/}
+
+ {/*
*/}
+ {/*
*/}
+ {/*
*/}
+
+ {/*
*/}
+ {/*
*/}
+ {/* */}
+ {/* */}
+ {/*
*/}
+ {/*
*/}
+ {/*
*/}
+ {/*
*/}
+
+ {/*
{icon}
*/}
+
+ {/*
*/}
+ {/* */}
+ {/* {' '}*/}
+ {/* */}
+ {/* {' '}*/}
+ {/* */}
+ {/*
*/}
+
+ {/*
*/}
+ {/* */}
+ {/* */}
+ {/*
*/}
+
+ {/*
*/}
+ {/* */}
+ {/* */}
+ {/*
*/}
+
+ {/*
*/}
+ {/*
*/}
+ {/* {' '}*/}
+ {/*
*/}
+ {/* {' '}*/}
+ {/*
Link*/}
+ {/*
*/}
+
+ {/*
*/}
+
+ {/*
*/}
+ {/* */}
+ {/*
*/}
+
+
+ {/*
*/}
+ {/* setStrokeWidth(e.target.value)}/>*/}
+ {/*
*/}
+
+ {/*
*/}
+ {/*
*/}
+
+ {/*
*/}
+ {/* */}
+ {/*
*/}
+
+ {/* {newIcons && <>*/}
+ {/*
New icons ({newIcons.length})
*/}
+
+ {/*
*/}
+ {/* >}*/}
+
+
+ {/*
{icons.length} icons
*/}
+
+ {/*
*/}
+ {/* {groups.map(category => (*/}
+ {/*
*/}
+ {/*
{category.name ? category.name : 'Uncategorized'} ({category.items.length})
*/}
+
+ {/*
*/}
+ {/*
*/}
+ {/* ))}*/}
+ {/*
*/}
+ {/*
*/}
+
+ )
+}
diff --git a/.build/editor/app/tags/page.js b/.build/editor/app/tags/page.js
new file mode 100644
index 000000000..ddd144abd
--- /dev/null
+++ b/.build/editor/app/tags/page.js
@@ -0,0 +1,31 @@
+// import icons from '../data/icons.json'
+// import { Icon } from '../components/Icon.js'
+// import { Sprite } from '../components/Sprite.js'
+
+export default function Tags () {
+ return <>
+
+ tags
+ {/*
*/}
+
+
+ {/*
*/}
+ {/* {icons.map(icon => (*/}
+ {/* */}
+ {/* | */}
+ {/* */}
+ {/* | */}
+ {/* {icon.name} | */}
+ {/* {(icon.tags || []).join(', ')} | */}
+ {/* {icon.category} | */}
+ {/* {icon.version} | */}
+ {/* {icon.unicode} | */}
+ {/*
*/}
+ {/* ))}*/}
+ {/*
*/}
+
+ {/*
Untagged: {{ i }}
*/}
+
+
+ >
+}
diff --git a/.build/app/components/Icon.js b/.build/editor/components/Icon.js
similarity index 100%
rename from .build/app/components/Icon.js
rename to .build/editor/components/Icon.js
diff --git a/.build/app/components/Sprite.js b/.build/editor/components/Sprite.js
similarity index 100%
rename from .build/app/components/Sprite.js
rename to .build/editor/components/Sprite.js
diff --git a/.build/app/components/Toolbar.js b/.build/editor/components/Toolbar.js
similarity index 100%
rename from .build/app/components/Toolbar.js
rename to .build/editor/components/Toolbar.js
diff --git a/.build/app/helpers.mjs b/.build/editor/helpers.mjs
similarity index 100%
rename from .build/app/helpers.mjs
rename to .build/editor/helpers.mjs
diff --git a/.build/app/import-icons.mjs b/.build/editor/import-icons.mjs
similarity index 100%
rename from .build/app/import-icons.mjs
rename to .build/editor/import-icons.mjs
diff --git a/.build/app/next.config.mjs b/.build/editor/next.config.mjs
similarity index 88%
rename from .build/app/next.config.mjs
rename to .build/editor/next.config.mjs
index 5c003defb..43d1fad1f 100644
--- a/.build/app/next.config.mjs
+++ b/.build/editor/next.config.mjs
@@ -2,6 +2,9 @@
* @type {import('next').NextConfig}
*/
const nextConfig = {
+ experimental: {
+ appDir: true,
+ },
webpack(config, options) {
config.resolve = {
...config.resolve,
diff --git a/.build/app/public/bg.svg b/.build/editor/public/bg.svg
similarity index 100%
rename from .build/app/public/bg.svg
rename to .build/editor/public/bg.svg
diff --git a/.build/app/style.scss b/.build/editor/style.scss
similarity index 100%
rename from .build/app/style.scss
rename to .build/editor/style.scss
diff --git a/.build/app/pages/icons.jsx b/.build/editor/{pages/icons.jsx
similarity index 100%
rename from .build/app/pages/icons.jsx
rename to .build/editor/{pages/icons.jsx
diff --git a/.build/editor/{pages/tags.jsx b/.build/editor/{pages/tags.jsx
new file mode 100644
index 000000000..be92a9116
--- /dev/null
+++ b/.build/editor/{pages/tags.jsx
@@ -0,0 +1,30 @@
+import icons from '../data/icons.json'
+import { Icon } from '../components/Icon.js'
+import { Sprite } from '../components/Sprite.js'
+
+export default function Tags () {
+ return <>
+
+
+
+
+
+ {icons.map(icon => (
+
+ |
+
+ |
+ {icon.name} |
+ {(icon.tags || []).join(', ')} |
+ {icon.category} |
+ {icon.version} |
+ {icon.unicode} |
+
+ ))}
+
+
+ {/*
Untagged: {{ i }}
*/}
+
+
+ >
+}
diff --git a/.build/svg.mjs b/.build/svg.mjs
index a3c52eb02..2d535bf08 100644
--- a/.build/svg.mjs
+++ b/.build/svg.mjs
@@ -1,6 +1,7 @@
import glob from 'glob'
import matter from 'gray-matter'
-import { getCurrentDirPath } from './helpers.mjs'
+
+const currentDirPath = path.dirname(fileURLToPath(import.meta.url))
const getRawIconData = (content) => {
return content
@@ -11,7 +12,7 @@ const getRawIconData = (content) => {
}
export const getIcons = () => {
- return glob.sync(path.join(getCurrentDirPath(), '../src/*.svg')).map(icon => {
+ return glob.sync(path.join(currentDirPath, '../src/*.svg')).map(icon => {
const svg = fs.readFileSync(icon, 'utf-8'),
name = path.basename(icon, '.svg')
diff --git a/package.json b/package.json
index 0f9996ed0..cd2b0081f 100644
--- a/package.json
+++ b/package.json
@@ -13,8 +13,8 @@
"type": "module",
"scripts": {
"predev": "pnpm run dev:import-icons",
- "dev": "cd .build/app && next dev",
- "dev:import-icons": "node ./.build/app/import-icons.mjs",
+ "dev": "cd .build/editor && next dev",
+ "dev:import-icons": "node ./.build/editor/import-icons.mjs",
"build": "cd .build/app && next build",
"_start": "bundle exec jekyll serve --watch --livereload --trace --livereload_port 8888",
"_build": "pnpm run optimize && pnpm run update && pnpm run build:svgs && pnpm run build:icons && pnpm run build:packages && pnpm run preview && pnpm run changelog-image && pnpm run zip && pnpm run update-readme",