Liu Song’s Projects


~/Projects/finance

git clone https://code.lsong.org/finance

Commit

Commit
496efe1d6a25d0bebfb0dd051b755a70d960747c
Author
Lsong <[email protected]>
Date
2022-12-21 17:58:04 +0800 +0800
Diffstat
 index.html | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 js/index.js | 20 +++++++++++++++++

Initial commit


diff --git a/css/index.css b/css/index.css
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
Binary files /dev/null and b/css/index.css differ




diff --git a/index.html b/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..8fb9b0311ad18180f9092e015702529f0f9f588f
--- /dev/null
+++ b/index.html
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+  <meta http-equiv="content-type" content="text/html; charset=utf-8">
+  <title>Liu Song’s Pages</title>
+  <meta name="viewport" content="width=device-width">
+  <link rel="icon" type="image/png" href="https://lsong.org/icon.png">
+  <link rel="icon" type="image/svg+xml" href="https://lsong.org/icon.svg">
+  <link rel="apple-touch-icon" type="image/png" href="https://lsong.org/icon.png">
+  <link type="text/css" charset="utf-8" rel="stylesheet" href="//lsong.org/css/stylesheet.css">
+  <link rel="stylesheet" href="css/index.css">
+  <script type="module" src="js/index.js"></script>
+</head>
+
+<body>
+  <div class="container">
+    <header class="header">
+      <h1>
+        <img src="https://lsong.org/icon.svg" alt="logo" class="logo">
+        Liu Song’s Pages
+      </h1>
+      <nav class="nav nav-bar">
+        <a href="//lsong.org">home</a>
+        <a href="//lsong.org/posts">blog</a>
+        <a href="//lsong.org/books">books</a>
+        <a href="//lsong.org/music">music</a>
+        <a href="//lsong.org/game">game</a>
+      </nav>
+      <hr />
+    </header>
+    <main class="content">
+
+      <section id="hello">
+        <h2>Hello 👋</h2>
+        <p class="headline">I am a software engineer and web developer.
+          I wrote <a href="//github.com/song940">open source</a> software and <a
+            href="https://github.com/song940?tab=repositories&q=app">apps</a>.</p>
+      </section>
+
+      <section id="app"></section>
+
+      <hr />
+      <section class="subscribe">
+        <h2>Subscribe</h2>
+        <p>Join our occasional newsletter for product launches, availability, job openings, and news:</p>
+        <form action="https://formspree.io/[email protected]" method="post">
+          <input class="input" type="email" id="email" name="email" required placeholder="email address">
+          <button class="button" type="submit">Submit</button>
+        </form>
+      </section>
+    </main>
+    <footer class="footer">
+      <hr />
+      Liu Song
+      <address>
+        <a href="mailto:[email protected]">[email protected]</a>
+      </address>
+      <a href="https://lsong.org">https://lsong.org</a>
+    </footer>
+  </div>
+</body>
+
+</html>
\ No newline at end of file




diff --git a/js/index.js b/js/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..4cf5317bdf5e1d1f986c6e7922927df7a87e49ad
--- /dev/null
+++ b/js/index.js
@@ -0,0 +1,20 @@
+import { ready }                          from 'https://lsong.org/scripts/dom.js';
+import { h, render, useState, useEffect } from 'https://lsong.org/scripts/components/react.js';
+
+const App = () => {
+  const [] = useState();
+  useEffect(() => {
+    console.log('App is ready');
+  }, []);
+  return [
+    h('h2', null, "App"),
+    h('ul', null, [
+      h('li', null, "Link")
+    ])
+  ]
+}
+
+ready(() => {
+  const app = document.getElementById('app');
+  render(h(App), app);
+});
\ No newline at end of file