github pages

This commit is contained in:
刘浩远 2020-06-17 09:42:13 +08:00
parent c03e675223
commit e25a9439c5
10 changed files with 350 additions and 0 deletions

BIN
docs/imgs/dark.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 894 KiB

BIN
docs/imgs/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
docs/imgs/light.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 KiB

61
docs/imgs/logo.svg Normal file
View File

@ -0,0 +1,61 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="400" height="400" viewBox="0 0 400 400">
<defs>
<radialGradient id="radial-gradient" cx="-0.025" cy="1.021" r="1.434" gradientTransform="matrix(0.704, -0.71, 0.41, 0.407, -0.426, 0.588)" gradientUnits="objectBoundingBox">
<stop offset="0" stop-color="#769ebe"/>
<stop offset="1" stop-color="#93c3e8"/>
</radialGradient>
<filter id="矩形_9" x="32.5" y="12.5" width="355" height="355" filterUnits="userSpaceOnUse">
<feOffset input="SourceAlpha"/>
<feGaussianBlur stdDeviation="12.5" result="blur"/>
<feFlood flood-opacity="0.2"/>
<feComposite operator="in" in2="blur"/>
<feComposite in="SourceGraphic"/>
</filter>
<radialGradient id="radial-gradient-2" cx="-0.027" cy="1.043" r="1.428" gradientTransform="matrix(0.702, -0.712, 0.393, 0.387, -0.417, 0.62)" gradientUnits="objectBoundingBox">
<stop offset="0" stop-color="#3a74a2"/>
<stop offset="1" stop-color="#64a5d6"/>
</radialGradient>
<filter id="矩形_8" x="22.5" y="77.5" width="300" height="300" filterUnits="userSpaceOnUse">
<feOffset input="SourceAlpha"/>
<feGaussianBlur stdDeviation="12.5" result="blur-2"/>
<feFlood flood-opacity="0.2"/>
<feComposite operator="in" in2="blur-2"/>
<feComposite in="SourceGraphic"/>
</filter>
<radialGradient id="radial-gradient-3" cx="-0.146" cy="1.148" r="1.171" gradientTransform="matrix(0.683, -0.73, 0.699, 0.654, -0.849, 0.291)" gradientUnits="objectBoundingBox">
<stop offset="0" stop-color="#004e8c"/>
<stop offset="1" stop-color="#0078d4"/>
</radialGradient>
<filter id="矩形_7" x="12.5" y="142.5" width="245" height="245" filterUnits="userSpaceOnUse">
<feOffset input="SourceAlpha"/>
<feGaussianBlur stdDeviation="12.5" result="blur-3"/>
<feFlood flood-opacity="0.2"/>
<feComposite operator="in" in2="blur-3"/>
<feComposite in="SourceGraphic"/>
</filter>
<filter id="F" x="76" y="172" width="118" height="193" filterUnits="userSpaceOnUse">
<feOffset dy="3" input="SourceAlpha"/>
<feGaussianBlur stdDeviation="5" result="blur-4"/>
<feFlood flood-opacity="0.161"/>
<feComposite operator="in" in2="blur-4"/>
<feComposite in="SourceGraphic"/>
</filter>
<clipPath id="clip-Web_1280_3">
<rect width="400" height="400"/>
</clipPath>
</defs>
<g id="Web_1280_3" data-name="Web 1280 3" clip-path="url(#clip-Web_1280_3)">
<g transform="matrix(1, 0, 0, 1, 0, 0)" filter="url(#矩形_9)">
<rect id="矩形_9-2" data-name="矩形 9" width="280" height="280" rx="5" transform="translate(70 50)" fill="url(#radial-gradient)"/>
</g>
<g transform="matrix(1, 0, 0, 1, 0, 0)" filter="url(#矩形_8)">
<rect id="矩形_8-2" data-name="矩形 8" width="225" height="225" rx="5" transform="translate(60 115)" fill="url(#radial-gradient-2)"/>
</g>
<g transform="matrix(1, 0, 0, 1, 0, 0)" filter="url(#矩形_7)">
<rect id="矩形_7-2" data-name="矩形 7" width="170" height="170" rx="5" transform="translate(50 180)" fill="url(#radial-gradient-3)"/>
</g>
<g transform="matrix(1, 0, 0, 1, 0, 0)" filter="url(#F)">
<text id="F-2" data-name="F" transform="translate(91 317)" fill="#faf9f8" font-size="144" font-family="MicrosoftSansSerif, Microsoft Sans Serif"><tspan x="0" y="0">F</tspan></text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
docs/imgs/opml.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
docs/imgs/read.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
docs/imgs/search.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

BIN
docs/imgs/store.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

81
docs/index.html Normal file
View File

@ -0,0 +1,81 @@
<html>
<head>
<title>Fluent Reader</title>
<link rel="icon" href="imgs/icon.png">
<link rel="stylesheet" href="styles.css">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
</head>
<body>
<div class="logo-container">
<img src="imgs/logo.svg" />
<header>Fluent Reader</header>
</div>
<div class="light-container">
<div class="screenshot elevate"><img src="imgs/light.png" /></div>
<h1>Modern desktop RSS reader. Open-source.</h1>
<p>
Fluent Reader is a local, cross-platform news aggregator with a fresh look.
Bring all your favorite sources with you and read distraction-free.
</p>
</div>
<div class="features-container">
<section class="elevate">
<h2>Open & Organized.</h2>
<p>
Import your sources from an OPML file and resume reading right away.
Easily organize sources with groups. Move between computers with full
data backups, and share your sources with OPML exports.
</p>
<img class="elevate" src="imgs/opml.png" />
</section>
<section class="elevate">
<h2>Read comfortably.</h2>
<p>
Enjoy your contents like never before with the built-in article view
for RSS full text tailored to maximize focus. Source only comes with
snippets? Configure to load webpage with Chromium-based webview
or open externally by default.
</p>
<img class="elevate" src="imgs/read.png" />
</section>
<section class="elevate">
<h2>Search. Filter.</h2>
<p>
Find anything you want with the power of regular expressions. Search in
both titles and full contents of articles. Mark articles as starred,
hidden, or unread and filter. Automatically categorize
articles into customized feeds and pages (soon).
</p>
<img class="elevate center" src="imgs/search.png" />
</section>
<section class="elevate">
<h2>Privacy first.</h2>
<h3>All your data stays with you.</h3>
<h3>All cookies cleared upon exit.</h3>
<h3>XSS blocked in an isolated context.</h3>
<h3>No personal information collected, ever.</h3>
<h3>Behavior tracking limited.</h3>
<h3>Strict Content Security Policy enforced.</h3>
<h3>Sandboxed webview.</h3>
<br />
<h3><span>■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■</span></h3>
<h3><span>■ ■ ■ ■ ■ ■</span></h3>
<h3><span>■ ■ ■ ■ ■ ■ ■ ■ ■</span></h3>
<h3><span>■ ■ ■ ■ ■ ■ ■</span></h3>
</section>
</div>
<div class="dark-container">
<div class="screenshot elevate"><img src="imgs/dark.png" /></div>
<h1>Oh, it also comes in black.</h1>
<p>Full system-level dark mode support for both UI and reading.</p>
</div>
<div class="get-container">
<div><a href="https://www.microsoft.com/store/apps/9P71FC94LRH8?cid=website"><img class="ms-get" src="imgs/store.png" /></a></div>
<div><a href="https://github.com/yang991178/fluent-reader/releases">Download for macOS or older Windows</a></div>
<div class="links">
<a href="https://github.com/yang991178/fluent-reader/">GitHub</a>
<a href="https://github.com/yang991178/fluent-reader/blob/master/PRIVACY.md">Privacy</a>
</div>
</div>
</body>
</html>

208
docs/styles.css Normal file
View File

@ -0,0 +1,208 @@
:root {
--neutralLighterAlt: #faf9f8;
--neutralLighter: #f3f2f1;
--neutralLight: #edebe9;
--neutralQuaternaryAlt: #e1dfdd;
--neutralQuaternary: #d2d0ce;
--neutralTertiaryAlt: #c8c6c4;
--neutralTertiary: #a19f9d;
--neutralSecondaryAlt: #8a8886;
--neutralSecondary: #605e5c;
--neutralPrimaryAlt: #3b3a39;
--neutralPrimary: #323130;
--neutralDark: #201f1e;
--neutralDarker: #161514;
--black: #000;
--white: #fff;
}
html, body {
background-color: #f3f2f1;
font-family: "Segoe UI", "Microsoft YaHei", sans-serif;
margin: 0;
line-height: 1.5;
width: 100%;
}
html {
overflow-x: hidden;
}
a {
color: #0078d4;
text-decoration: none;
}
a:hover, a:active {
color: #004578;
text-decoration: underline;
}
.elevate {
box-shadow: 0 6.4px 14.4px 0 rgba(0,0,0,.132), 0 1.2px 3.6px 0 rgba(0,0,0,.108);
}
.logo-container {
height: 100vh;
width: 100%;
min-height: 540px;
position: relative;
}
.logo-container img {
height: 180px;
width: 180px;
position: fixed;
left: calc(50% - 90px);
top: calc(50% - 230px);
}
.logo-container header {
text-align: center;
display: block;
width: 100%;
font-size: 1.75em;
font-weight: 500;
position: fixed;
left: 0;
top: calc(50% - 40px);
}
.screenshot {
display: block;
margin: 0 auto;
width: 95%;
max-width: 1464px;
overflow: hidden;
}
.light-container {
padding-bottom: 48px;
background-color: #fff;
position: relative;
}
.light-container .screenshot {
margin: 0 auto -280px;
position: relative;
top: -280px;
}
.light-container h1, .dark-container h1 {
width: 95%;
max-width: 800px;
margin: 48px auto 24px;
font-weight: 500;
text-align: center;
}
.light-container p, .dark-container p {
width: 85%;
max-width: 750px;
margin: 24px auto;
text-align: center;
font-size: 1.375em;
color: #323130;
}
.features-container {
padding: 48px 0;
margin: 0 auto;
width: 95%;
max-width: 950px;
display: flex;
flex-wrap: wrap;
justify-content: space-around;
position: relative;
background-color: #f3f2f1;
}
.features-container > section {
display: block;
width: 45%;
height: 560px;
padding: 18px 36px;
background-color: #fff;
margin: 24px 0;
overflow: hidden;
position: relative;
box-sizing: border-box;
}
.features-container > section > h3 {
font-weight: 500;
color: #605e5c;
margin: 0 0 .5em;
}
.features-container > section > h3 > span {
color: #d2d0ce;
background-color: #d2d0ce;
user-select: none;
}
.features-container > section > img {
position: absolute;
right: 0;
bottom: 0;
max-width: 90%;
}
.features-container > section > img.center {
left: auto;
right: auto;
}
.dark-container {
position: relative;
background-color: #1f1f1f;
color: #fff;
padding: 72px 0;
overflow: hidden;
}
.dark-container p {
color: #d2d0ce;
}
.get-container {
height: 100vh;
width: 100%;
min-height: 540px;
display: flex;
align-items: center;
justify-content: flex-end;
flex-direction: column;
position: relative;
}
.ms-get {
width: 142px;
height: 52px;
margin-bottom: 16px;
}
.links {
display: flex;
flex-direction: row;
justify-content: center;
margin: calc(50vh - 210px) 0 48px;
}
.links > a {
display: inline-block;
margin: 0 8px;
}
@media (max-width: 780px) {
html, body { font-size: 14px; }
.logo-container img {
height: 140px;
width: 140px;
left: calc(50% - 70px);
top: calc(50% - 190px);
}
.screenshot {
margin-left: 5vw;
}
.light-container .screenshot {
margin: 0 0 -25vw 5vw;
position: relative;
top: -25vw;
}
.screenshot > img {
width: 150%;
}
.features-container > section {
width: 95%;
height: auto;
padding-bottom: 80%;
}
.features-container > section:last-of-type {
padding-bottom: 36px;
}
}