This is an automated email from the ASF dual-hosted git repository. guangning pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push: new 74b322c [website][upgrade] feat: initial framework (#11770) 74b322c is described below commit 74b322c7d6548cc4099cfbe43c3fa1e540071329 Author: Li Li <urfreesp...@gmail.com> AuthorDate: Fri Aug 27 09:17:00 2021 +0800 [website][upgrade] feat: initial framework (#11770) ### Motivation website upgrade ### Modifications Initial framework for website upgrade --- site2/.gitignore | 2 + site2/website-next/.gitignore | 22 ++++++ site2/website-next/README.md | 33 ++++++++ site2/website-next/babel.config.js | 3 + site2/website-next/blog/2021-08-25-welcome.md | 7 ++ site2/website-next/docs/intro.md | 5 ++ site2/website-next/docusaurus.config.js | 86 +++++++++++++++++++++ site2/website-next/package.json | 40 ++++++++++ site2/website-next/sidebars.js | 26 +++++++ .../src/components/HomepageFeatures.js | 59 ++++++++++++++ .../src/components/HomepageFeatures.module.css | 13 ++++ site2/website-next/src/css/custom.css | 29 +++++++ site2/website-next/src/pages/index.js | 40 ++++++++++ site2/website-next/src/pages/index.module.css | 25 ++++++ site2/website-next/src/pages/markdown-page.md | 7 ++ site2/website-next/static/.nojekyll | 0 site2/website-next/static/img/favicon.ico | Bin 0 -> 1150 bytes site2/website-next/static/img/logo.svg | 1 + 18 files changed, 398 insertions(+) diff --git a/site2/.gitignore b/site2/.gitignore index bd5e769..f7825d3 100644 --- a/site2/.gitignore +++ b/site2/.gitignore @@ -14,3 +14,5 @@ website/static/swagger/master/* website/static/swagger/restApiVersions.json website/static/swagger/*/v*/*.json + +website-tmp*/ \ No newline at end of file diff --git a/site2/website-next/.gitignore b/site2/website-next/.gitignore new file mode 100644 index 0000000..50b6375 --- /dev/null +++ b/site2/website-next/.gitignore @@ -0,0 +1,22 @@ +# Dependencies +/node_modules + +# Production +/build +build/ +# Generated files +.docusaurus +.cache-loader + +# Misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +bak/ \ No newline at end of file diff --git a/site2/website-next/README.md b/site2/website-next/README.md new file mode 100644 index 0000000..231a499 --- /dev/null +++ b/site2/website-next/README.md @@ -0,0 +1,33 @@ +# Website + +This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator. + +## Installation + +```console +yarn install +``` + +## Local Development + +```console +yarn start +``` + +This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. + +## Build + +```console +yarn build +``` + +This command generates static content into the `build` directory and can be served using any static contents hosting service. + +## Deployment + +```console +GIT_USER=<Your GitHub username> USE_SSH=true yarn deploy +``` + +If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. diff --git a/site2/website-next/babel.config.js b/site2/website-next/babel.config.js new file mode 100644 index 0000000..e00595d --- /dev/null +++ b/site2/website-next/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: [require.resolve('@docusaurus/core/lib/babel/preset')], +}; diff --git a/site2/website-next/blog/2021-08-25-welcome.md b/site2/website-next/blog/2021-08-25-welcome.md new file mode 100644 index 0000000..00acf22 --- /dev/null +++ b/site2/website-next/blog/2021-08-25-welcome.md @@ -0,0 +1,7 @@ +--- +slug: welcome +title: Welcome +tags: [welcome, apache, pulsar] +--- + +Welcome to Apache Pulsar. \ No newline at end of file diff --git a/site2/website-next/docs/intro.md b/site2/website-next/docs/intro.md new file mode 100644 index 0000000..95ef9d6 --- /dev/null +++ b/site2/website-next/docs/intro.md @@ -0,0 +1,5 @@ +--- +sidebar_position: 1 +--- + +Welcome to Apache Pulsar. \ No newline at end of file diff --git a/site2/website-next/docusaurus.config.js b/site2/website-next/docusaurus.config.js new file mode 100644 index 0000000..fe43a25 --- /dev/null +++ b/site2/website-next/docusaurus.config.js @@ -0,0 +1,86 @@ +const lightCodeTheme = require("prism-react-renderer/themes/github"); +const darkCodeTheme = require("prism-react-renderer/themes/dracula"); + +/** @type {import('@docusaurus/types').DocusaurusConfig} */ +module.exports = { + title: "Apache Pulsar", + tagline: + "Apache Pulsar is a cloud-native, distributed messaging and streaming platform originally created at Yahoo! and now a top-level Apache Software Foundation project", + url: "https://your-docusaurus-test-site.com", + baseUrl: "/", + onBrokenLinks: "throw", + onBrokenMarkdownLinks: "warn", + favicon: "img/favicon.ico", + organizationName: "facebook", // Usually your GitHub org/user name. + projectName: "docusaurus", // Usually your repo name. + themeConfig: { + navbar: { + title: "", + logo: { + alt: "", + src: "img/logo.svg", + }, + items: [ + { + type: "doc", + docId: "intro", + position: "left", + label: "Docs", + }, + { to: "/blog", label: "Blog", position: "left" }, + { + href: "https://github.com/apache/pulsar", + label: "GitHub", + position: "right", + }, + ], + }, + footer: { + style: "dark", + links: [ + { + title: "More", + items: [ + { + label: "Docs", + to: "/docs/intro", + }, + { + label: "Blog", + to: "/blog", + }, + { + label: "GitHub", + href: "https://github.com/apache/pulsar", + }, + ], + }, + ], + copyright: `Copyright © ${new Date().getFullYear()} Apache Pulsar, Inc.`, + }, + prism: { + theme: lightCodeTheme, + darkTheme: darkCodeTheme, + }, + }, + presets: [ + [ + "@docusaurus/preset-classic", + { + docs: { + sidebarPath: require.resolve("./sidebars.js"), + // Please change this to your repo. + editUrl: "https://github.com/apache/pulsar", + }, + blog: { + showReadingTime: true, + // Please change this to your repo. + editUrl: "https://github.com/apache/pulsar", + }, + theme: { + customCss: require.resolve("./src/css/custom.css"), + }, + }, + ], + ], +}; diff --git a/site2/website-next/package.json b/site2/website-next/package.json new file mode 100644 index 0000000..268f4dc --- /dev/null +++ b/site2/website-next/package.json @@ -0,0 +1,40 @@ +{ + "name": "website-next", + "version": "0.0.0", + "private": true, + "scripts": { + "docusaurus": "docusaurus", + "start": "docusaurus start", + "build": "docusaurus build", + "swizzle": "docusaurus swizzle", + "deploy": "docusaurus deploy", + "clear": "docusaurus clear", + "serve": "docusaurus serve", + "write-translations": "docusaurus write-translations", + "write-heading-ids": "docusaurus write-heading-ids" + }, + "dependencies": { + "@docusaurus/core": "2.0.0-beta.4", + "@docusaurus/preset-classic": "2.0.0-beta.4", + "@mdx-js/react": "^1.6.21", + "@svgr/webpack": "^5.5.0", + "clsx": "^1.1.1", + "file-loader": "^6.2.0", + "prism-react-renderer": "^1.2.1", + "react": "^17.0.1", + "react-dom": "^17.0.1", + "url-loader": "^4.1.1" + }, + "browserslist": { + "production": [ + ">0.5%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + } +} \ No newline at end of file diff --git a/site2/website-next/sidebars.js b/site2/website-next/sidebars.js new file mode 100644 index 0000000..981a73c --- /dev/null +++ b/site2/website-next/sidebars.js @@ -0,0 +1,26 @@ +/** + * Creating a sidebar enables you to: + - create an ordered group of docs + - render a sidebar for each doc of that group + - provide next/previous navigation + + The sidebars can be generated from the filesystem, or explicitly defined here. + + Create as many sidebars as you want. + */ + +module.exports = { + // By default, Docusaurus generates a sidebar from the docs folder structure + tutorialSidebar: [{type: 'autogenerated', dirName: '.'}], + + // But you can create a sidebar manually + /* + tutorialSidebar: [ + { + type: 'category', + label: 'Tutorial', + items: ['hello'], + }, + ], + */ +}; diff --git a/site2/website-next/src/components/HomepageFeatures.js b/site2/website-next/src/components/HomepageFeatures.js new file mode 100644 index 0000000..68ac525 --- /dev/null +++ b/site2/website-next/src/components/HomepageFeatures.js @@ -0,0 +1,59 @@ +import React from "react"; +import clsx from "clsx"; +import styles from "./HomepageFeatures.module.css"; + +const FeatureList = [ + { + title: "Pulsar Functions", + // Svg: require("../../static/img/undraw_docusaurus_mountain.svg").default, + description: ( + <> + Easy to deploy, lightweight compute process, developer-friendly APIs, no + need to run your own stream processing engine. + </> + ), + }, + { + title: "Proven in production", + // Svg: require("../../static/img/undraw_docusaurus_tree.svg").default, + description: ( + <> + Run in production at Yahoo! scale for over 5 years, with millions of + messages per second across millions of topics. + </> + ), + }, + { + title: "Horizontally scalable", + // Svg: require("../../static/img/undraw_docusaurus_react.svg").default, + description: <>Expand capacity seamlessly to hundreds of nodes.</>, + }, +]; + +function Feature({ Svg, title, description }) { + return ( + <div className={clsx("col col--4")}> + {/* <div className="text--center"> + <Svg className={styles.featureSvg} alt={title} /> + </div> */} + <div className="text--center padding-horiz--md"> + <h3>{title}</h3> + <p>{description}</p> + </div> + </div> + ); +} + +export default function HomepageFeatures() { + return ( + <section className={styles.features}> + <div className="container"> + <div className="row"> + {FeatureList.map((props, idx) => ( + <Feature key={idx} {...props} /> + ))} + </div> + </div> + </section> + ); +} diff --git a/site2/website-next/src/components/HomepageFeatures.module.css b/site2/website-next/src/components/HomepageFeatures.module.css new file mode 100644 index 0000000..9dcb82c --- /dev/null +++ b/site2/website-next/src/components/HomepageFeatures.module.css @@ -0,0 +1,13 @@ +/* stylelint-disable docusaurus/copyright-header */ + +.features { + display: flex; + align-items: center; + padding: 2rem 0; + width: 100%; +} + +.featureSvg { + height: 200px; + width: 200px; +} diff --git a/site2/website-next/src/css/custom.css b/site2/website-next/src/css/custom.css new file mode 100644 index 0000000..ff2d075 --- /dev/null +++ b/site2/website-next/src/css/custom.css @@ -0,0 +1,29 @@ +/* stylelint-disable docusaurus/copyright-header */ +/** + * Any CSS included here will be global. The classic template + * bundles Infima by default. Infima is a CSS framework designed to + * work well for content-centric websites. + */ + +/* You can override the default Infima variables here. */ +:root { + --ifm-color-primary: #198fff; + --ifm-color-primary-dark: rgb(33, 175, 144); + --ifm-color-primary-darker: rgb(31, 165, 136); + --ifm-color-primary-darkest: rgb(26, 136, 112); + --ifm-color-primary-light: rgb(70, 203, 174); + --ifm-color-primary-lighter: rgb(102, 212, 189); + --ifm-color-primary-lightest: rgb(146, 224, 208); + --ifm-code-font-size: 95%; +} + +.docusaurus-highlight-code-line { + background-color: rgba(0, 0, 0, 0.1); + display: block; + margin: 0 calc(-1 * var(--ifm-pre-padding)); + padding: 0 var(--ifm-pre-padding); +} + +html[data-theme='dark'] .docusaurus-highlight-code-line { + background-color: rgba(0, 0, 0, 0.3); +} diff --git a/site2/website-next/src/pages/index.js b/site2/website-next/src/pages/index.js new file mode 100644 index 0000000..acfcdb2 --- /dev/null +++ b/site2/website-next/src/pages/index.js @@ -0,0 +1,40 @@ +import React from 'react'; +import clsx from 'clsx'; +import Layout from '@theme/Layout'; +import Link from '@docusaurus/Link'; +import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; +import styles from './index.module.css'; +import HomepageFeatures from '../components/HomepageFeatures'; + +function HomepageHeader() { + const {siteConfig} = useDocusaurusContext(); + return ( + <header className={clsx('hero hero--primary', styles.heroBanner)}> + <div className="container"> + <h1 className="hero__title">{siteConfig.title}</h1> + <p className="hero__subtitle">{siteConfig.tagline}</p> + <div className={styles.buttons}> + <Link + className="button button--secondary button--lg" + to="/docs/intro"> + Read️ the Docs + </Link> + </div> + </div> + </header> + ); +} + +export default function Home() { + const {siteConfig} = useDocusaurusContext(); + return ( + <Layout + title={`Hello from ${siteConfig.title}`} + description="Description will go into a meta tag in <head />"> + <HomepageHeader /> + <main> + <HomepageFeatures /> + </main> + </Layout> + ); +} diff --git a/site2/website-next/src/pages/index.module.css b/site2/website-next/src/pages/index.module.css new file mode 100644 index 0000000..5c0d4f6 --- /dev/null +++ b/site2/website-next/src/pages/index.module.css @@ -0,0 +1,25 @@ +/* stylelint-disable docusaurus/copyright-header */ + +/** + * CSS files with the .module.css suffix will be treated as CSS modules + * and scoped locally. + */ + +.heroBanner { + padding: 4rem 0; + text-align: center; + position: relative; + overflow: hidden; +} + +@media screen and (max-width: 966px) { + .heroBanner { + padding: 2rem; + } +} + +.buttons { + display: flex; + align-items: center; + justify-content: center; +} diff --git a/site2/website-next/src/pages/markdown-page.md b/site2/website-next/src/pages/markdown-page.md new file mode 100644 index 0000000..9756c5b --- /dev/null +++ b/site2/website-next/src/pages/markdown-page.md @@ -0,0 +1,7 @@ +--- +title: Markdown page example +--- + +# Markdown page example + +You don't need React to write simple standalone pages. diff --git a/site2/website-next/static/.nojekyll b/site2/website-next/static/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/site2/website-next/static/img/favicon.ico b/site2/website-next/static/img/favicon.ico new file mode 100644 index 0000000..a3d664e Binary files /dev/null and b/site2/website-next/static/img/favicon.ico differ diff --git a/site2/website-next/static/img/logo.svg b/site2/website-next/static/img/logo.svg new file mode 100644 index 0000000..0448785 --- /dev/null +++ b/site2/website-next/static/img/logo.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 223.44 43.08"><g data-name="Layer 2"><g data-name="Layer 1"><path d="M61 13.73H46.09C42.06 6 37.8 0 32 0c-7.55 0-11.1 6.59-14.53 13l-.3.56H0v3.81h10c3.53 0 4.25 1.19 4.25 1.19-2.77 4.3-6.1 8.55-11.65 8.55H0v4h2.62c10.76 0 15.46-8.73 19.23-15.74C25.31 8.91 27.72 5 32 5c4.44 0 9.11 9.66 13.22 18.19.6 1.24 1.21 2.51 1.83 3.77-15.76.5-23.27 4.19-29.38 7.2-4.47 2.2-8 4.93-13.81 4.93H0v4h3.83c7 0 11.36-2.16 16-4.45 6.43-3.16 13.72-6.74 30.9- [...] \ No newline at end of file