Add (article): ai gen, front views

This commit is contained in:
2023-09-24 22:53:40 +08:00
parent 18705bd5e4
commit 322d680961
115 changed files with 9710 additions and 201 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
import{_ as o,o as p,c,a as r,b as u,p as i,d as m,e as g,f as _,g as d,v as f,Z as n,h as l}from"./vue-a36422cb.js";const A={name:"AppAuth"};function $(s,a,t,Z,w,x){return p(),c("div")}const h=o(A,[["render",$]]),e=r({AppAuth:h}),v=Object.assign({});e.use(u());e.use(i,m);e.use(g);e.use(_);e.use(d);e.use(f.ZiggyVue,n);window.Ziggy=n;Object.entries({...v}).forEach(([s,a])=>{const t=s.split("/").pop().replace(/\.\w+$/,"").replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();e.component(t,l(a))});e.mount("#app");
import{_ as o,o as p,c,a as r,b as u,p as i,d as m,e as g,f as _,g as d,v as f,Z as n,h as l}from"./vue-8a418f6a.js";const A={name:"AppAuth"};function $(s,a,t,Z,w,x){return p(),c("div")}const h=o(A,[["render",$]]),e=r({AppAuth:h}),v=Object.assign({});e.use(u());e.use(i,m);e.use(g);e.use(_);e.use(d);e.use(f.ZiggyVue,n);window.Ziggy=n;Object.entries({...v}).forEach(([s,a])=>{const t=s.split("/").pop().replace(/\.\w+$/,"").replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();e.component(t,l(a))});e.mount("#app");

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@@ -1,9 +1,9 @@
{
"_vue-a36422cb.js": {
"_vue-8a418f6a.js": {
"css": [
"assets/vue-935fc652.css"
],
"file": "assets/vue-a36422cb.js"
"file": "assets/vue-8a418f6a.js"
},
"node_modules/bootstrap-icons/font/fonts/bootstrap-icons.woff": {
"file": "assets/bootstrap-icons-4d4572ef.woff",
@@ -13,31 +13,67 @@
"file": "assets/bootstrap-icons-bacd70af.woff2",
"src": "node_modules/bootstrap-icons/font/fonts/bootstrap-icons.woff2"
},
"resources/fonts/Inter/Inter-Black.ttf": {
"file": "assets/Inter-Black-3afb2b05.ttf",
"src": "resources/fonts/Inter/Inter-Black.ttf"
},
"resources/fonts/Inter/Inter-Bold.ttf": {
"file": "assets/Inter-Bold-790c108b.ttf",
"src": "resources/fonts/Inter/Inter-Bold.ttf"
},
"resources/fonts/Inter/Inter-ExtraBold.ttf": {
"file": "assets/Inter-ExtraBold-4e2473b9.ttf",
"src": "resources/fonts/Inter/Inter-ExtraBold.ttf"
},
"resources/fonts/Inter/Inter-ExtraLight.ttf": {
"file": "assets/Inter-ExtraLight-edba5be0.ttf",
"src": "resources/fonts/Inter/Inter-ExtraLight.ttf"
},
"resources/fonts/Inter/Inter-Light.ttf": {
"file": "assets/Inter-Light-c44ff7a5.ttf",
"src": "resources/fonts/Inter/Inter-Light.ttf"
},
"resources/fonts/Inter/Inter-Medium.ttf": {
"file": "assets/Inter-Medium-10d48331.ttf",
"src": "resources/fonts/Inter/Inter-Medium.ttf"
},
"resources/fonts/Inter/Inter-Regular.ttf": {
"file": "assets/Inter-Regular-41ab0f70.ttf",
"src": "resources/fonts/Inter/Inter-Regular.ttf"
},
"resources/fonts/Inter/Inter-SemiBold.ttf": {
"file": "assets/Inter-SemiBold-e8cbc2b8.ttf",
"src": "resources/fonts/Inter/Inter-SemiBold.ttf"
},
"resources/fonts/Inter/Inter-Thin.ttf": {
"file": "assets/Inter-Thin-b778a52b.ttf",
"src": "resources/fonts/Inter/Inter-Thin.ttf"
},
"resources/js/app-auth.js": {
"file": "assets/app-auth-34561e68.js",
"file": "assets/app-auth-c0ceb740.js",
"imports": [
"_vue-a36422cb.js"
"_vue-8a418f6a.js"
],
"isEntry": true,
"src": "resources/js/app-auth.js"
},
"resources/js/app-front.js": {
"file": "assets/app-front-948dc8d8.js",
"file": "assets/app-front-d35e891f.js",
"imports": [
"_vue-a36422cb.js"
"_vue-8a418f6a.js"
],
"isEntry": true,
"src": "resources/js/app-front.js"
},
"resources/sass/app-auth.scss": {
"file": "assets/app-front-d32494d2.css",
"file": "assets/app-auth-d32494d2.css",
"isEntry": true,
"src": "resources/sass/app-auth.scss"
},
"resources/sass/app-front.scss": {
"file": "assets/app-front-d32494d2.css",
"file": "assets/app-front-48c01c04.css",
"isEntry": true,
"src": "resources/sass/app-auth.scss"
"src": "resources/sass/app-front.scss"
},
"vue.css": {
"file": "assets/vue-935fc652.css",

Binary file not shown.

82
public/vendor/feed/atom.xsl vendored Normal file
View File

@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:atom="http://www.w3.org/2005/Atom">
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<title>
RSS Feed | <xsl:value-of select="/atom:feed/atom:title"/>
</title>
<meta charset="utf-8"/>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" href="/vendor/feed/style.css"/>
</head>
<body>
<main class="layout-content">
<h1 class="flex items-start">
<!-- https://commons.wikimedia.org/wiki/File:Feed-icon.svg -->
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
class="mr-5"
style="flex-shrink: 0; width: 1em; height: 1em;"
viewBox="0 0 256 256">
<defs>
<linearGradient x1="0.085" y1="0.085" x2="0.915" y2="0.915"
id="RSSg">
<stop offset="0.0" stop-color="#E3702D"/>
<stop offset="0.1071" stop-color="#EA7D31"/>
<stop offset="0.3503" stop-color="#F69537"/>
<stop offset="0.5" stop-color="#FB9E3A"/>
<stop offset="0.7016" stop-color="#EA7C31"/>
<stop offset="0.8866" stop-color="#DE642B"/>
<stop offset="1.0" stop-color="#D95B29"/>
</linearGradient>
</defs>
<rect width="256" height="256" rx="55" ry="55" x="0" y="0"
fill="#CC5D15"/>
<rect width="246" height="246" rx="50" ry="50" x="5" y="5"
fill="#F49C52"/>
<rect width="236" height="236" rx="47" ry="47" x="10" y="10"
fill="url(#RSSg)"/>
<circle cx="68" cy="189" r="24" fill="#FFF"/>
<path
d="M160 213h-34a82 82 0 0 0 -82 -82v-34a116 116 0 0 1 116 116z"
fill="#FFF"/>
<path
d="M184 213A140 140 0 0 0 44 73 V 38a175 175 0 0 1 175 175z"
fill="#FFF"/>
</svg>
RSS Feed
</h1>
<h2><xsl:value-of select="/atom:feed/atom:title"/></h2>
<p>
<xsl:value-of select="/atom:feed/atom:subtitle"/>
</p>
<hr/>
<xsl:for-each select="/atom:feed/atom:entry">
<div class="post">
<div class="title">
<a>
<xsl:attribute name="href">
<xsl:value-of select="atom:link/@href"/>
</xsl:attribute>
<xsl:value-of select="atom:title"/>
</a>
</div>
<div class="summary">
<xsl:value-of select="atom:summary" disable-output-escaping="yes"/>
</div>
<div class="published-info">
Published on
<xsl:value-of select="substring(atom:updated, 0, 11)" /> by <xsl:value-of select="atom:author/atom:name"/>
</div>
</div>
</xsl:for-each>
</main>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

37
public/vendor/feed/style.css vendored Normal file
View File

@@ -0,0 +1,37 @@
.layout-content {
max-width: 640px;
margin-left: auto;
margin-right: auto;
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
hr {
margin: 2rem 0;
}
.post {
margin-bottom: 2rem;
}
.post .title {
font-size: 1.5rem;
line-height: 2rem;
margin-bottom: 1rem;
}
.post .summary {
font-size: 1rem;
line-height: 1.5rem;
margin-bottom: 1rem;
}
.post .published-info {
font-size: 0.75rem;
line-height: 1rem;
color: #666;
}
img {
max-width: 100%;
}