This is an automated email from the ASF dual-hosted git repository. gongchao pushed a commit to branch clean-home in repository https://gitbox.apache.org/repos/asf/hertzbeat.git
commit b973abf4fd13741b3d36aa2b49db2f48e4f82197 Author: tomsun28 <[email protected]> AuthorDate: Sat May 4 16:41:12 2024 +0800 clean up unused home code --- home/docs/help/issue.md | 3 - .../en/docusaurus-plugin-content-docs/current.json | 2 +- .../docusaurus-plugin-content-docs/current.json | 2 +- .../current/help/issue.md | 9 +- home/sidebars.json | 14 +-- home/src/CdnTransfer.js | 11 -- home/src/constants.js | 2 +- home/src/css/custom.css | 4 - home/src/css/docsearch.css | 2 - home/src/pages/components/DiaLog.js | 60 ---------- home/src/pages/components/DiaLog.module.css | 7 -- home/src/pages/components/Feature.js | 14 +-- home/src/pages/components/Feature.module.css | 15 --- home/src/pages/components/Highlight.js | 34 ------ home/src/pages/components/LogoCarousel.js | 74 ------------- home/src/pages/components/LogoCarousel.module.css | 82 -------------- home/src/pages/components/LogoCarouselStatic.js | 41 ------- home/src/pages/components/Robot.js | 35 ------ home/src/pages/components/Robot.module.css | 122 --------------------- home/src/pages/components/Section.js | 6 +- home/src/pages/components/Section.module.css | 19 ---- home/src/pages/components/Sponsor.js | 31 ------ home/src/pages/components/Sponsor.module.css | 69 ------------ home/src/pages/components/highlight.module.css | 61 ----------- home/src/pages/index.js | 34 +----- home/src/pages/styles.module.css | 38 ------- home/src/pages/team/index.css | 5 - home/src/pages/team/index.jsx | 2 +- home/src/sw.js | 17 --- home/src/theme/card.jsx | 54 --------- home/static/img/icons/tancloud-logo.svg | 3 + home/static/img/icons/tancloud_logo.svg | 4 - home/static/manifest.json | 4 +- .../version-v1.1.x-sidebars.json | 2 +- 34 files changed, 28 insertions(+), 854 deletions(-) diff --git a/home/docs/help/issue.md b/home/docs/help/issue.md index 40fd7848f..a38ea4385 100644 --- a/home/docs/help/issue.md +++ b/home/docs/help/issue.md @@ -18,9 +18,6 @@ The hertzbeat installed and deployed by the installation package is not availabl > When you install HertzBeat via DockerDocker root is enabled by default. No > such problem. > See https://stackoverflow.com/questions/11506321/how-to-ping-an-ip-address -4. If the history chart on the monitoring page is not displayed,popup [please configure dependency service on TDengine time series database] -> As shown in the popup window,the premise of history chart display is that you need install and configure hertzbeat's dependency service - TDengine database. -> Installation and initialization this database refers to [TDengine Installation and Initialization](../start/tdengine-init). ### Docker Deployment common issues diff --git a/home/i18n/en/docusaurus-plugin-content-docs/current.json b/home/i18n/en/docusaurus-plugin-content-docs/current.json index 1e6043454..76578a93d 100644 --- a/home/i18n/en/docusaurus-plugin-content-docs/current.json +++ b/home/i18n/en/docusaurus-plugin-content-docs/current.json @@ -107,7 +107,7 @@ "message": "Community", "description": "The label for category Community in sidebar docs" }, - "sidebar.docs.category.Network": { + "sidebar.docs.category.network": { "message": "Network", "description": "The label for category Network in sidebar docs" } diff --git a/home/i18n/zh-cn/docusaurus-plugin-content-docs/current.json b/home/i18n/zh-cn/docusaurus-plugin-content-docs/current.json index 3f7336805..1334648df 100644 --- a/home/i18n/zh-cn/docusaurus-plugin-content-docs/current.json +++ b/home/i18n/zh-cn/docusaurus-plugin-content-docs/current.json @@ -111,7 +111,7 @@ "message": "发布指南", "description": "The label for category release in sidebar docs" }, - "sidebar.docs.category.Network": { + "sidebar.docs.category.network": { "message": "网络", "description": "The label for category Network in sidebar docs" } diff --git a/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/help/issue.md b/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/help/issue.md index 6dbfc73a7..b7414f878 100644 --- a/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/help/issue.md +++ b/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/help/issue.md @@ -18,16 +18,13 @@ sidebar_label: 常见问题 > docker安装默认启用无此问题 > 详见 https://stackoverflow.com/questions/11506321/how-to-ping-an-ip-address -4. 监控页面历史图表不显示,弹出 [无法提供历史图表数据,请配置依赖服务TDengine时序数据库] -> 如弹窗所示,历史图表展示的前提是需要安装配置hertzbeat的依赖服务 - TDengine数据库 -> 安装初始化此数据库参考 [TDengine安装初始化](../start/tdengine-init) - -5. 配置了k8s监控,但是实际监控时间并未按照正确间隔时间执行 +4. 配置了k8s监控,但是实际监控时间并未按照正确间隔时间执行 请参考下面几点排查问题: > 一:首先查看hertzbeat的错误日志,如果出现了'desc: SQL statement too long, check maxSQLLength > config',信息 > 二:需要调整tdengine配置文件,可在服务器创建taos.cfg文件,调整# max length of an SQL : maxSQLLength > 654800,然后重启tdengine,需要加入配置文件的挂载 > 三:如果遇到了重启tdengine失败,需要调整挂载数据文件中的配置,见 > .../taosdata/dnode/dnodeEps.json,中dnodeFqdn调整为启动失败的dockerId即可,然后docker > restart tdengine -6.配置http api监控,用于进行业务接口探测,确保业务可以用,另外接口有进行token鉴权校验,"Authorization:Bearer eyJhbGciOiJIUzI1....",配置后测试,提示“StatusCode 401”。服务端应用收到的token为"Authorization:Bearer%20eyJhbGciOiJIUzI1....",hertzbeat对空格进行转义为“%20”,服务器没有转义导致鉴权失败,建议转义功能作为可选项。 + +5. 配置http api监控,用于进行业务接口探测,确保业务可以用,另外接口有进行token鉴权校验,"Authorization:Bearer eyJhbGciOiJIUzI1....",配置后测试,提示“StatusCode 401”。服务端应用收到的token为"Authorization:Bearer%20eyJhbGciOiJIUzI1....",hertzbeat对空格进行转义为“%20”,服务器没有转义导致鉴权失败,建议转义功能作为可选项。 ### Docker部署常见问题 diff --git a/home/sidebars.json b/home/sidebars.json index fd7b72b7e..3f7d76783 100755 --- a/home/sidebars.json +++ b/home/sidebars.json @@ -245,6 +245,13 @@ "help/kubernetes" ] }, + { + "type": "category", + "label": "network", + "items": [ + "help/huawei_switch" + ] + }, { "type": "category", "label": "threshold", @@ -270,13 +277,6 @@ "help/alert_smn" ] }, - { - "type": "category", - "label": "Network", - "items": [ - "help/huawei_switch" - ] - }, "help/issue" ] }, diff --git a/home/src/CdnTransfer.js b/home/src/CdnTransfer.js deleted file mode 100644 index 411ac4674..000000000 --- a/home/src/CdnTransfer.js +++ /dev/null @@ -1,11 +0,0 @@ -import useDocusaurusContext from '@docusaurus/useDocusaurusContext' - -export default function transfer(imageUrl) { - const {siteConfig} = useDocusaurusContext(); - const {cdnUrl} = siteConfig.customFields; - if (cdnUrl !== null && imageUrl !== undefined && imageUrl !== null) { - return cdnUrl + imageUrl; - } else { - return imageUrl; - } -} \ No newline at end of file diff --git a/home/src/constants.js b/home/src/constants.js index 99a65fa12..167f52c7a 100644 --- a/home/src/constants.js +++ b/home/src/constants.js @@ -67,7 +67,7 @@ export const features = [ export const usersLink = [ { - img: 'tancloud_logo.svg', + img: 'tancloud-logo.svg', alt: 'tancloud', } ] diff --git a/home/src/css/custom.css b/home/src/css/custom.css index a584f50f1..c311b0ab1 100644 --- a/home/src/css/custom.css +++ b/home/src/css/custom.css @@ -175,10 +175,6 @@ html[data-theme=dark] footer{ margin-top: 1rem; } -/*.footer__link-item[target="_blank"]:after {*/ -/* padding: 0 4px;*/ -/* content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 100 100' width='15' height='15'%3E%3Cpath fill='gray' d=' M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0, 0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z '%3E%3C/path%3E%3Cpolygon fill='gray' points=' 45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8, 14.9 62.8,22.9 71.5,22.9 '%3E%3C/polygon%3E%3C/svg%3E")*/ -/*}*/ html[data-theme=dark] { --wdio-section-background-color: var(--ifm-footer-background-color); diff --git a/home/src/css/docsearch.css b/home/src/css/docsearch.css index 85c7ac7bc..edf0a2854 100644 --- a/home/src/css/docsearch.css +++ b/home/src/css/docsearch.css @@ -4,14 +4,12 @@ .navbar .DocSearch-Button-Placeholder { font-size: 1.1rem; - font-family: 'IBM Plex Mono'; color: #999 } @media (max-width: 1296px) { .navbar .DocSearch-Button-Placeholder { font-size: 0.8rem; - font-family: 'IBM Plex Mono'; color: #999 } } diff --git a/home/src/pages/components/DiaLog.js b/home/src/pages/components/DiaLog.js deleted file mode 100644 index 3bf9c4d89..000000000 --- a/home/src/pages/components/DiaLog.js +++ /dev/null @@ -1,60 +0,0 @@ -import React, { useCallback, useEffect, useState } from 'react'; -import { Modal, Button } from '@douyinfe/semi-ui'; -import Translate from '@docusaurus/Translate'; -import styles from './DiaLog.module.css'; - -// from rainbond: https://github.com/goodrain/rainbond-docs/blob/main/src/components/DiaLog/index.tsx -export default function DiaLog() { - const [Visible, setVisible] = useState(false); - const handleCancel = useCallback(() => { - setVisible(false); - }, []); - - // useEffect(() => { - // if (sessionStorage.getItem("support-hertzbeat") == null) { - // setTimeout(() => { - // setVisible(true); - // }, 10); - // sessionStorage.setItem("support-hertzbeat", true); - // } - // }, []); - - return ( - <> - <Modal - title={ - <p style={{ fontSize: "22px" }}><Translate>Support HertzBeat</Translate></p> - } - visible={Visible} - // onOk={handleOk} - onCancel={handleCancel} - centered - bodyStyle={{overflow: 'auto'}} - maskClosable={false} - style={{width: "600px", fontSize: "17px"}} - icon={ - <img src="/img/hertzbeat-logo.svg" alt="logo" /> - } - footer={ - <div className={styles.goToGithubWrapper}> - <p > - 👇 <b style={{ color: "#26B226"}}><Translate>click</Translate></b> - </p> - <a href="https://github.com/apache/hertzbeat" target="_blank"> - <Button type="primary" theme="solid"> - <Translate>Go to Github</Translate> - </Button> - </a> - </div> - }> - <p style={{lineHeight: 1.5, textAlign: "center"}}> - <Translate>If you like HertzBeat, star us on GitHub</Translate> - </p> - <p style={{lineHeight: 1.5}}> - <Translate>We will grow better with your support.</Translate> - </p> - </Modal> - </> - ); - -} diff --git a/home/src/pages/components/DiaLog.module.css b/home/src/pages/components/DiaLog.module.css deleted file mode 100644 index e1fcdabfd..000000000 --- a/home/src/pages/components/DiaLog.module.css +++ /dev/null @@ -1,7 +0,0 @@ -.goToGithubWrapper{ - - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; -} \ No newline at end of file diff --git a/home/src/pages/components/Feature.js b/home/src/pages/components/Feature.js index 7ecd9ad28..0590cf0f0 100644 --- a/home/src/pages/components/Feature.js +++ b/home/src/pages/components/Feature.js @@ -1,18 +1,10 @@ import React from 'react' import clsx from 'clsx' -import styles from './Feature.module.css' -import cdnTransfer from '../../CdnTransfer' -export default function Feature({ imageUrl, title, description }) { - const imgUrl = cdnTransfer(imageUrl) +export default function Feature({ title, description }) { return ( - <div className={clsx('col col--4', styles.feature)}> - {imgUrl && ( - <div className="text--center"> - <img className={styles.featureImage} src={imgUrl} alt={title} /> - </div> - )} - <h3>{title}</h3> + <div className={clsx('col col--4')}> + <h3 style={{textAlign: 'center', fontSize: 'x-large'}}>{title}</h3> <p>{description}</p> </div> ) diff --git a/home/src/pages/components/Feature.module.css b/home/src/pages/components/Feature.module.css deleted file mode 100644 index 95e8a7db2..000000000 --- a/home/src/pages/components/Feature.module.css +++ /dev/null @@ -1,15 +0,0 @@ -.features { - display: flex; - align-items: center; -} - -.featureImage { - height: 200px; - width: 200px; -} - -.features h3 { - font-size: 1.7em; - font-weight: 500; - text-align: left; -} diff --git a/home/src/pages/components/Highlight.js b/home/src/pages/components/Highlight.js deleted file mode 100644 index 457ed7f04..000000000 --- a/home/src/pages/components/Highlight.js +++ /dev/null @@ -1,34 +0,0 @@ -import React from 'react' -import clsx from 'clsx' - -import styles from './highlight.module.css' - -export default function Highlight({ reversed, title, img, text, isDark }) { - const left = <div className={clsx('col col--6', styles.featureImage, reversed ? styles.featureImageReversed : '')}>{img}</div> - const right = ( - <div className={clsx('col col--6', styles.featureContent, reversed ? styles.featureContentReversed : '')}> - <h3 className={styles.featureTitle}>{title}</h3> - {text} - </div> - ) - - return ( - <section className={clsx('highlightSection', isDark ? styles.darkSection + ' darkSection' : '')}> - <div className="container"> - <div className="row"> - {reversed ? ( - <> - {right} - {left} - </> - ) : ( - <> - {left} - {right} - </> - )} - </div> - </div> - </section> - ) -} diff --git a/home/src/pages/components/LogoCarousel.js b/home/src/pages/components/LogoCarousel.js deleted file mode 100644 index 8d429f804..000000000 --- a/home/src/pages/components/LogoCarousel.js +++ /dev/null @@ -1,74 +0,0 @@ -import React from 'react' -import clsx from 'clsx' -import styles from './LogoCarousel.module.css' -import "slick-carousel/slick/slick.css"; -import "slick-carousel/slick/slick-theme.css"; -import Slider from "react-slick"; - -const iconCommonUrl = '/img/icons/' - -// const cdnUrl = '/img/icons/' - -var settings = { - infinite: true, - speed: 400, - slidesToShow: 6, - slidesToScroll: 1, - autoplay: true, - autoplaySpeed: 1000, - rows: 1, - responsive : [ - { - breakpoint : 1024, - settings : { - slidesToShow : 2.75, - slidesToScroll : 3, - speed : 2000, - infinite : true, - }, - }, - { - breakpoint : 480, - settings : { - speed : 2000, - slidesToShow : 0.75, - slidesToScroll : 1, - } - } - ], -}; - -export default class LogoCarousel extends React.Component { - constructor (props) { - super(props) - } - - render () { - if (!this.props || !this.props.logos) { - return ( - <div/> - ) - } - this.list = () => ( - <Slider {...settings}> - {this.props.logos.map((value, index) => ( - <a key={index} href={value.url == null ? '#' : value.url} target="_blank" rel="noopener noreferrer"> - <img style={{ maxHeight: '100px', maxWidth: '120px' }} src={value.remoteImg == null ? iconCommonUrl + value.img : value.remoteImg} alt={value.alt} /> - </a> - ))} - </Slider> - ) - - return ( - <> - <div className={styles.companyUsage} ref={this.containerRef}> - <h3 style={{fontWeight: '520', fontSize: 'large'}}>{this.props.headerTitle}</h3> - <br/> - <div className={clsx(styles.logos)}> - {this.list()} - </div> - </div> - </> - ) - } -} diff --git a/home/src/pages/components/LogoCarousel.module.css b/home/src/pages/components/LogoCarousel.module.css deleted file mode 100644 index 555ecd811..000000000 --- a/home/src/pages/components/LogoCarousel.module.css +++ /dev/null @@ -1,82 +0,0 @@ -.companyUsage { - width: 100%; -} - -body .companyUsage h3 { - font-size: 1.1em; - font-weight: 900; -} - -.logos { - overflow: hidden; - margin: 0 25px; -} - -.logos ul { - display: flex; - justify-content: space-around; - /* width: 3200px; */ - margin: 0; - transition: transform 1000ms ease; -} - -@media screen and (max-width: 1100px) { - .logos { - margin: 0; - } - .logos ul { - padding: 0; - /* width: 3000px; */ - } - .logos ul li { - min-width: 125px; - } -} - -.logos ul li { - display: flex; - min-width: 150px; - justify-content: center; - align-items: center; -} -.logos ul img { - transition: filter 200ms; - width: 100px; -} - -.logos ul a { - background: none; - border: 0; -} - -.logoNavigation { - text-align: center; -} - -.button:focus { - outline: none; -} - -.button::before { - content: "\2022"; - color: var(--wdio-link-color); - font-size: 50px; - opacity: .25; -} - -.button.buttonActive::before { - opacity: 1; -} - -.button { - transition: opacity 200ms ease; - color: transparent; - border: 0; - background: 0; - cursor: pointer; - padding: 10px 10px 0 10px; - width: 30px; - line-height: 10px; - margin: 0 5px; - transform: translateY(20px); -} diff --git a/home/src/pages/components/LogoCarouselStatic.js b/home/src/pages/components/LogoCarouselStatic.js deleted file mode 100644 index 3a373755f..000000000 --- a/home/src/pages/components/LogoCarouselStatic.js +++ /dev/null @@ -1,41 +0,0 @@ -import React from 'react' -import clsx from 'clsx' -import styles from './LogoCarousel.module.css' - -const iconCommonUrl = '/img/icons/' - -export default class LogoCarouselStatic extends React.Component { - constructor (props) { - super(props) - } - - render () { - if (!this.props || !this.props.logos) { - return ( - <div/> - ) - } - this.list = () => ( - <ul> - {this.props.logos.map((value, index) => ( - <li key={index}> - <a href={value.url} target="_blank" rel="noopener noreferrer"> - <img style={{ maxHeight: '80px', maxWidth: '100px' }} src={iconCommonUrl + value.img} alt={value.alt} /> - </a> - </li> - ))} - </ul> - ) - - return ( - <> - <div className={styles.companyUsage} ref={this.containerRef}> - <h3>{this.props.headerTitle}</h3> - <div className={clsx(styles.logos)}> - {this.list()} - </div> - </div> - </> - ) - } -} diff --git a/home/src/pages/components/Robot.js b/home/src/pages/components/Robot.js deleted file mode 100644 index 68af31876..000000000 --- a/home/src/pages/components/Robot.js +++ /dev/null @@ -1,35 +0,0 @@ -import React from 'react' - -import styles from './Robot.module.css' - -export default () => ( - - - <svg className={styles.svg} width="242px" height="283px" viewBox="0 0 242 283" version="1.1" xmlns="http://www.w3.org/2000/svg"> - <title>WebdriverIO</title> - <g stroke="none" strokeWidth="1" fill="none" fillRule="evenodd"> - <polygon id={styles.bodyDot1} fill="#EA5906" points="61.0003055 100.000061 66.0003055 100.000061 66.0003055 95.000061 61.0003055 95.000061"></polygon> - <polygon id={styles.bodyDot2} fill="#EA5906" points="70.0003055 100.000061 75.0003055 100.000061 75.0003055 95.000061 70.0003055 95.000061"></polygon> - <polygon id={styles.bodyDot3} fill="#EA5906" points="78.0003055 100.000061 83.0003055 100.000061 83.0003055 95.000061 78.0003055 95.000061"></polygon> - <polygon id={styles.bodyDot4} fill="#EA5906" points="87.0003055 100.000061 92.0003055 100.000061 92.0003055 95.000061 87.0003055 95.000061"></polygon> - <path d="M59.9471185,53.6770474 L59.9471185,22.1693022 C51.2315281,22.1693022 44.165692,29.2223282 44.165692,37.9234798 C44.165692,46.6240214 51.2315281,53.6770474 59.9471185,53.6770474" className={styles.ear} id={styles.earLeft} fill="#EA5906"></path> - <path d="M197.833575,37.9228088 C197.833575,29.2222672 190.767739,22.1692412 182.052148,22.1692412 L182.052148,53.6769864 C190.767739,53.6769864 197.833575,46.6239604 197.833575,37.9228088" className={styles.ear} id={styles.earRight} fill="#EA5906"></path> - <path d="M97.5785618,23.6940318 C104.799597,23.6940318 110.673944,29.5588459 110.673944,36.768023 C110.673944,43.9772 104.799597,49.8420141 97.5785618,49.8420141 C90.3563045,49.8420141 84.4801244,43.9772 84.4801244,36.768023 C84.4801244,29.5588459 90.3563045,23.6940318 97.5785618,23.6940318 M97.5785618,52.8918394 C106.483568,52.8918394 113.729044,45.6588737 113.729044,36.768023 C113.729044,27.8771722 106.483568,20.6442065 97.5785618,20.6442065 C88.6711111,20.6442065 81.425024 [...] - <path d="M97.5773397,47.7072584 C103.628883,47.7072584 108.535374,42.8098489 108.535374,36.768145 C108.535374,30.726441 103.628883,25.8284216 97.5773397,25.8284216 C91.5257969,25.8284216 86.6180837,30.726441 86.6180837,36.768145 C86.6180837,42.8098489 91.5257969,47.7072584 97.5773397,47.7072584" className={styles.eye} id={styles.eyeLeftInner} fill="#EA5906"></path> - <path d="M144.424188,23.6940318 C151.644001,23.6940318 157.51957,29.5588459 157.51957,36.768023 C157.51957,43.9772 151.644001,49.8420141 144.424188,49.8420141 C137.201931,49.8420141 131.32575,43.9772 131.32575,36.768023 C131.32575,29.5588459 137.201931,23.6940318 144.424188,23.6940318 M144.424188,52.8918394 C153.329194,52.8918394 160.57467,45.6588737 160.57467,36.768023 C160.57467,27.8771722 153.329194,20.6442065 144.424188,20.6442065 C135.516737,20.6442065 128.27065,27.87717 [...] - <path d="M144.423027,47.7072584 C150.47457,47.7072584 155.381061,42.8098489 155.381061,36.768145 C155.381061,30.726441 150.47457,25.8284216 144.423027,25.8284216 C138.371484,25.8284216 133.463771,30.726441 133.463771,36.768145 C133.463771,42.8098489 138.371484,47.7072584 144.423027,47.7072584" className={styles.eye} id={styles.eyeRightInner} fill="#EA5906"></path> - <polygon id={styles.headDot1} fill="#EA5906" points="166.316915 35.1743062 171.409156 35.1743062 171.409156 30.0914674 166.316915 30.0914674"></polygon> - <polygon id={styles.headDot2} fill="#EA5906" points="166.316915 42.494497 171.409156 42.494497 171.409156 37.4116581 166.316915 37.4116581"></polygon> - <path d="M67.2304167,12.1035367 C67.2304167,7.11097269 71.2985883,3.04982531 76.2991766,3.04982531 L165.699968,3.04982531 C170.701778,3.04982531 174.76995,7.11097269 174.76995,12.1035367 L174.76995,51.6378122 C174.76995,56.6303763 170.701778,60.6915236 165.699968,60.6915236 L76.2991766,60.6915236 C71.2985883,60.6915236 67.2304167,56.6303763 67.2304167,51.6378122 L67.2304167,12.1035367 Z M76.2991766,63.7413489 L165.699968,63.7413489 C172.368641,63.7413489 177.82505,58.2949709 [...] - <path d="M189.225585,68.4691881 C195.792014,68.4691881 201.183822,73.7517747 201.345702,80.2703927 L201.349445,80.5721149 L201.349445,81.8115639 C209.398376,83.1225557 236.261716,92.11323 236.798178,120.911154 L236.806329,121.789894 L236.806329,185.954559 C240.019073,188.078457 242,190.976401 242,194.173228 C242,196.641147 240.818287,198.930955 238.801921,200.824897 C238.594738,205.399416 239.88012,214.39873 240.504604,218.133188 L240.552493,218.416899 L240.573879,218.654786 [...] - <path d="M118.000306,150.740461 C124.647471,140.407155 134.971054,139.803213 148.971054,148.928636 C169.971054,162.61677 161.972473,120.48533 185.000306,142.492434" id={styles.processLine} stroke="#EA5906" strokeWidth="2" strokeLinecap="square"></path> - <circle id={styles.radarLeft} stroke="#EA5906" strokeWidth="2" cx="75.0003055" cy="198.000061" r="12"></circle> - <circle id={styles.radarRight} stroke="#EA5906" strokeWidth="2" cx="105.000306" cy="198.000061" r="12"></circle> - <line x1="75.0003055" y1="209.000061" x2="75.0003055" y2="198.000061" id={styles.radarLineLeft} stroke="#EA5906" strokeWidth="4" strokeLinecap="round"></line> - <line x1="105.000306" y1="198.000061" x2="111.923371" y2="190.07246" id={styles.radarLineRight} stroke="#EA5906" strokeWidth="4" strokeLinecap="round"></line> - <line x1="133.000306" y1="190.500061" x2="171.000306" y2="190.500061" id={styles.lineTop} stroke="#EA5906" strokeWidth="4" strokeLinecap="round"></line> - <line x1="133.000306" y1="197.500061" x2="171.000306" y2="197.500061" id={styles.lineMiddle} stroke="#EA5906" strokeWidth="4" strokeLinecap="round"></line> - <line x1="133.000306" y1="204.500061" x2="155.000306" y2="204.500061" id={styles.lineBottom} stroke="#EA5906" strokeWidth="4" strokeLinecap="round"></line> - </g> - </svg> -) diff --git a/home/src/pages/components/Robot.module.css b/home/src/pages/components/Robot.module.css deleted file mode 100644 index 12076bc8a..000000000 --- a/home/src/pages/components/Robot.module.css +++ /dev/null @@ -1,122 +0,0 @@ -.svg { - width: 60%; - transform: translateY(10%); -} - -#headDot1, #headDot2 { - animation: headblinker 5000ms infinite; -} -@keyframes headblinker { - 0% { opacity: 0; } - 10% { opacity: 1; } - 20% { opacity: 0; } - 30% { opacity: 1; } - 40% { opacity: 0; } - 50% { opacity: 1; } - 60% { opacity: 0; } - 70% { opacity: 1; } - 75% { opacity: 0; } - 100% { opacity: 0; } -} - -#bodyDot1 { - animation: blinker1st 1s ease-in-out infinite; -} -@keyframes blinker1st { - 10% { opacity: 0; } - 20% { opacity: 1; } - 60% { opacity: 1; } - 70% { opacity: 0; } - 80% { opacity: 1; } - 90% { opacity: 0; } - 100% { opacity: 1; } -} - -#bodyDot2 { - animation: blinker2nd 1s ease-in-out infinite; -} -@keyframes blinker2nd { - 10% { opacity: 1; } - 20% { opacity: 0; } - 30% { opacity: 1; } - 60% { opacity: 1; } - 70% { opacity: 0; } - 80% { opacity: 1; } - 90% { opacity: 0; } - 100% { opacity: 1; } -} - -#bodyDot3 { - animation: blinker3rd 1s ease-in-out infinite; -} -@keyframes blinker3rd { - 20% { opacity: 1; } - 30% { opacity: 0; } - 40% { opacity: 1; } - 60% { opacity: 1; } - 70% { opacity: 0; } - 80% { opacity: 1; } - 90% { opacity: 0; } - 100% { opacity: 1; } -} - -#bodyDot4 { - animation: blinker4th 1s ease-in-out infinite; -} -@keyframes blinker4th { - 30% { opacity: 1; } - 40% { opacity: 0; } - 50% { opacity: 1; } - 60% { opacity: 1; } - 70% { opacity: 0; } - 80% { opacity: 1; } - 90% { opacity: 0; } - 100% { opacity: 1; } -} - -#head, -.ear, -.eye { - animation-name: wiggle; - animation-duration: 5000ms; - animation-iteration-count: infinite; - transform-origin: unset; -} -@keyframes wiggle { - 75% {transform: rotate(0deg);} - 80% {transform: rotate(5deg);} - 85% {transform: rotate(-5deg);} - 90% {transform: rotate(10deg);} - 95% {transform: rotate(-3deg);} - 100% {transform: rotate(0deg);} -} - -#lineTop { - stroke-dasharray: 38; - stroke-dashoffset: 0; - animation: lineAnimation 1s ease-in-out infinite alternate; -} -#lineMiddle { - stroke-dasharray: 38; - stroke-dashoffset: 0; - animation: lineAnimation 1s cubic-bezier(0.1, 0.7, 1.0, 0.1) infinite alternate; -} -#lineBottom { - stroke-dasharray: 38; - stroke-dashoffset: 0; - animation: lineAnimation 1s cubic-bezier(0.5, 0.2, .3, 0.9) infinite alternate; -} -@keyframes lineAnimation { - 0% { stroke-dashoffset: 0; } - 100% { stroke-dashoffset: 38; } -} - -#processLine { - stroke-dasharray: 82; - stroke-dashoffset: -82; - animation: processAnimation 4s linear infinite; -} -@keyframes processAnimation { - 0% { stroke-dashoffset: -82; } - 100% { stroke-dashoffset: -246; } -} diff --git a/home/src/pages/components/Section.js b/home/src/pages/components/Section.js index dc6a4c49a..24c680a6c 100644 --- a/home/src/pages/components/Section.js +++ b/home/src/pages/components/Section.js @@ -1,10 +1,8 @@ import React from 'react' -import styles from './Section.module.css' - -export default function Section({ isDark, children }) { +export default function Section({children }) { return ( - <section className={[styles.section, ...(isDark ? [styles.darkSection, 'darkSection'] : [])].join(' ')}> + <section style={{padding: '4rem 0', width: '100%' }}> <div className="container"> <div className="row"> {children} diff --git a/home/src/pages/components/Section.module.css b/home/src/pages/components/Section.module.css deleted file mode 100644 index cda57b4ca..000000000 --- a/home/src/pages/components/Section.module.css +++ /dev/null @@ -1,19 +0,0 @@ -.section { - padding: 4rem 0; - width: 100%; - background-color: var(--wdio-section-background-color); -} - -.section h3 { - text-align: center; - font-size: 1.7em; - font-weight: 500; -} - -.darkSection { - background-color: var(--wdio-dark-section-background-color); -} - -html[data-theme=dark] { - background-color: var(--wdio-section-background-color); -} diff --git a/home/src/pages/components/Sponsor.js b/home/src/pages/components/Sponsor.js deleted file mode 100644 index 2cdf5fd20..000000000 --- a/home/src/pages/components/Sponsor.js +++ /dev/null @@ -1,31 +0,0 @@ -import React from 'react' -import styles from './Sponsor.module.css' -import "slick-carousel/slick/slick.css"; -import "slick-carousel/slick/slick-theme.css"; - -const iconCommonUrl = '/img/icons/' - -export default class Sponsor extends React.Component { - constructor (props) { - super(props) - } - - render () { - return ( - <> - <div className={styles.companyUsage} ref={this.containerRef}> - <h2 className={styles.title}>{this.props.headerTitle}</h2> - <div className={styles.cardList}> - <a className={styles.cardItem} style={{backgroundColor: '#9ed3e5'}} href={'https://hertzbeat.com/'}> - <img src={iconCommonUrl + 'logo.svg'} className={styles.zoom} alt={''}/> - <div className={styles.cardItemTextBody}> - <p className={styles.name}>xxx</p> - <p className={styles.desc}>xxx</p> - </div> - </a> - </div> - </div> - </> - ) - } -} diff --git a/home/src/pages/components/Sponsor.module.css b/home/src/pages/components/Sponsor.module.css deleted file mode 100644 index 23613d82a..000000000 --- a/home/src/pages/components/Sponsor.module.css +++ /dev/null @@ -1,69 +0,0 @@ -.cardList { - margin: -0.35rem; - display: flex; - justify-content: center; - /* flex-wrap: wrap; */ - /* align-items: flex-start; */ - width: 100%; -} - -.cardItem { - /* width: calc(33.33333% - .7rem); */ - margin: 0.35rem; - background: var(--bodyBg); - border-radius: 3px; - color: var(--textColor); - display: flex; - box-shadow: 1px 1px 2px 0 rgb(0 0 0 / 6%); - transition: all .4s; - background-color: var(--wdio-dark-section-background-color); -} - -.cardItemTextBody { - flex: 1; - /* display: inline-block; */ - /* float: right; */ - padding: 1rem 0; -} - -.cardItem:hover img { - box-shadow: 3px 2px 7px rgb(0 0 0 / 15%); -} - -.name { - margin: 0.2rem 0 0.3rem; - padding: 0 1rem; - transition: text-shadow .4s; - text-align: center; - font-weight: bolder; -} - -.desc { - font-size: .8rem; - line-height: 1.1rem; - opacity: .8; - margin-bottom: 0.2rem; - padding: 0 1rem; - transition: text-shadow .4s; - text-align: center; -} - -.zoom { - width: 70px; - height: 70px; - border-radius: 50%; - border: 2px solid #fff; - margin: 1rem 0 1rem 1rem; - box-shadow: 3px 2px 5px rgb(0 0 0 / 8%); - transition: all .4s; -} - -.companyUsage { - width: 100%; -} - -.title { - font-size: large; - font-weight: bolder; - text-align: center; -} diff --git a/home/src/pages/components/highlight.module.css b/home/src/pages/components/highlight.module.css deleted file mode 100644 index fe6a083ed..000000000 --- a/home/src/pages/components/highlight.module.css +++ /dev/null @@ -1,61 +0,0 @@ -.featureTitle { - font-size: 36px; - font-weight: 500; -} - -.featureContent { - padding: var(--wdio-spacing-vertical) 0 var(--wdio-spacing-vertical) calc(var(--ifm-spacing-horizontal) + 20px)!important; -} - -.featureContentReversed { - padding: var(--wdio-spacing-vertical) calc(var(--ifm-spacing-horizontal) + 20px) var(--wdio-spacing-vertical) var(--ifm-spacing-horizontal)!important; -} - -.featureImage { - height: 100%; - padding: var(--wdio-spacing-vertical) var(--ifm-spacing-horizontal)!important; -} - -.featureImage iframe { - width: 100%; -} - -.darkSection { - background-color: var(--wdio-dark-section-background-color); -} - -@media (max-width: 996px) { - .featureContent { - padding: var(--wdio-spacing-vertical) 0 calc(var(--wdio-spacing-vertical) * 4) calc(var(--ifm-spacing-horizontal) + 20px)!important; - } - - .featureImage { - padding: calc(var(--wdio-spacing-vertical) * 4) var(--ifm-spacing-horizontal) var(--wdio-spacing-vertical)!important; - } - - .featureContentReversed { - padding: calc(var(--wdio-spacing-vertical) * 4) calc(var(--ifm-spacing-horizontal) + 20px) var(--wdio-spacing-vertical) var(--ifm-spacing-horizontal)!important; - } - - .featureImageReversed { - padding: var(--wdio-spacing-vertical) var(--ifm-spacing-horizontal) calc(var(--wdio-spacing-vertical) * 4)!important; - } -} - -@media (max-width: 500px) { - .featureContent { - padding: var(--wdio-spacing-vertical) var(--ifm-spacing-horizontal) calc(var(--wdio-spacing-vertical) * 4) var(--ifm-spacing-horizontal)!important; - } - - .featureImage { - padding: calc(var(--wdio-spacing-vertical) * 4) var(--ifm-spacing-horizontal) var(--wdio-spacing-vertical)!important; - } - - .featureContentReversed { - padding: calc(var(--wdio-spacing-vertical) * 4) var(--ifm-spacing-horizontal) var(--wdio-spacing-vertical) var(--ifm-spacing-horizontal)!important; - } - - .featureImageReversed { - padding: var(--wdio-spacing-vertical) var(--ifm-spacing-horizontal) calc(var(--wdio-spacing-vertical) * 4)!important; - } -} diff --git a/home/src/pages/index.js b/home/src/pages/index.js index 862ed54d2..b4ffb36d2 100644 --- a/home/src/pages/index.js +++ b/home/src/pages/index.js @@ -4,7 +4,7 @@ import Layout from '@theme/Layout' import Link from '@docusaurus/Link' import useDocusaurusContext from '@docusaurus/useDocusaurusContext' import useBaseUrl from '@docusaurus/useBaseUrl' -import Translate, { translate } from '@docusaurus/Translate' +import Translate from '@docusaurus/Translate' import { Swiper, SwiperSlide } from 'swiper/react' import { EffectFade, Navigation, Autoplay } from 'swiper' @@ -14,12 +14,9 @@ import 'swiper/css/pagination' import Feature from './components/Feature' import Section from './components/Section' -import LogoCarousel from './components/LogoCarousel' -import cdnTransfer from '../CdnTransfer' import styles from './styles.module.css' -import {features, usersLink} from '../constants' -import DiaLog from "./components/DiaLog"; +import {features} from '../constants' function Home() { const context = useDocusaurusContext() @@ -36,7 +33,7 @@ function Home() { <h1 className="hero__title"> <img style={{ width: '500px', marginTop: '100px' }} - src={cdnTransfer('/img/hertzbeat-brand.svg')} + src={'/img/hertzbeat-brand.svg'} alt={'#'} /> </h1> @@ -122,12 +119,6 @@ function Home() { className="swiper-button-next user-swiper-button-next" style={{ top: '880px', right: '50px', color: '#000033' }} /> - {/*who is using*/} - {/*<Section isDark>*/} - {/* <LogoCarousel logos={usersLink}*/} - {/* headerTitle={translate({ message: 'Who uses HertzBeat?' })}>*/} - {/* </LogoCarousel>*/} - {/*</Section>*/} {features && features.length > 0 && ( <Section> {features.map((props, idx) => ( @@ -137,31 +128,12 @@ function Home() { )} </main> </Layout> - <DiaLog/> </> ) } export default Home -function loadGitter() { - return new Promise(function (resolve, reject) { - var script = document.createElement('script') - script.type = 'text/javascript' - script.async = true - script.src = 'https://sidecar.gitter.im/dist/sidecar.v1.js' - ;((window.gitter = {}).chat = {}).options = { - room: 'hertzbeat/community', - } - script.onload = function () { - ;((window.gitter = {}).chat = {}).options = { - room: 'hertzbeat/community', - } - } - document.body.appendChild(script) - }) -} - function autoRedirect() { let lang = global.navigator?.language || navigator?.userLanguage console.log('Current lang is ' + lang) diff --git a/home/src/pages/styles.module.css b/home/src/pages/styles.module.css index d0fa9fb01..da8136851 100644 --- a/home/src/pages/styles.module.css +++ b/home/src/pages/styles.module.css @@ -61,41 +61,3 @@ height: 45px; } } - -.tweetBtn { - position: relative; - height: 20px; - box-sizing: border-box; - padding: 2px 8px 4px 22px; - background-color: #1b95e0; - color: #fff; - border-radius: 3px; - cursor: pointer; - font-family: "Helvetica Neue", Arial, sans-serif; - font-weight: 900; - font-size: 11px; - font-stretch: 100%; - line-height: 18px; - margin-left: 3px; - margin-right: 20px; - text-decoration-thickness: auto; - vertical-align: top; - zoom: 1; -} -.tweetBtn:hover { - color: white; - text-decoration: none; - background-color: #0c7abf; -} -.tweetBtn::before { - content: ''; - position: absolute; - top: 3px; - left: 5px; - display: inline-block; - width: 14px; - height: 14px; - margin: 0 3px 0 0px; - background: transparent 0 0 no-repeat; - background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2072%2072%22%3E%3Cpath%20fill%3D%22none%22%20d%3D%22M0%200h72v72H0z%22%2F%3E%3Cpath%20class%3D%22icon%22%20fill%3D%22%23fff%22%20d%3D%22M68.812%2015.14c-2.348%201.04-4.87%201.744-7.52%202.06%202.704-1.62%204.78-4.186%205.757-7.243-2.53%201.5-5.33%202.592-8.314%203.176C56.35%2010.59%2052.948%209%2049.182%209c-7.23%200-13.092%205.86-13.092%2013.093%200%201.026.118%2 [...] -} diff --git a/home/src/pages/team/index.css b/home/src/pages/team/index.css index 11e2fb497..deb783a90 100644 --- a/home/src/pages/team/index.css +++ b/home/src/pages/team/index.css @@ -7,7 +7,6 @@ .team_page .team_title { font-size: 25px; font-weight: 500; - color: var(--ifm-color-primary-contrast-foreground); margin-top: 50px; } .team_page .team_desc { @@ -18,7 +17,6 @@ } .team_page .desc { font-size: 1rem; - color: var(--ifm-color-gray-700); margin-left: 1.2rem; } .team_page .character_list { @@ -83,9 +81,6 @@ overflow: hidden; text-overflow: ellipsis; } -/***************************** - team -*****************************/ .team-row { --bs-gutter-x: 1.5rem; --bs-gutter-y: 0; diff --git a/home/src/pages/team/index.jsx b/home/src/pages/team/index.jsx index be3b45731..c9ace8247 100644 --- a/home/src/pages/team/index.jsx +++ b/home/src/pages/team/index.jsx @@ -10,7 +10,7 @@ import 'aos/dist/aos.css'; import Translate from '@docusaurus/Translate' /** - * refer from https://github.com/apache/incubator-streampark-website/tree/dev/src/pages/team + * Derived from https://github.com/apache/incubator-streampark-website/tree/dev/src/pages/team */ export default function () { const dataSource = config; diff --git a/home/src/sw.js b/home/src/sw.js deleted file mode 100644 index de12d79c9..000000000 --- a/home/src/sw.js +++ /dev/null @@ -1,17 +0,0 @@ -import { registerRoute } from 'workbox-routing' -import { StaleWhileRevalidate } from 'workbox-strategies' - -export default function swCustom(params) { - if (params.debug) { - console.log('[WebdriverIO-PWA][SW]: running swCustom code', params) - } - - // Cache responses from external resources - registerRoute((context) => { - return [ - /graph\.facebook\.com\/.*\/picture/, - /netlify\.com\/img/, - /avatars1\.githubusercontent/, - ].some((regex) => context.url.href.match(regex)) - }, new StaleWhileRevalidate()) -} diff --git a/home/src/theme/card.jsx b/home/src/theme/card.jsx deleted file mode 100644 index 3f2f899de..000000000 --- a/home/src/theme/card.jsx +++ /dev/null @@ -1,54 +0,0 @@ -import React from 'react' - -function TwitterLink ({ url }) { - if (!url) { - return null - } - - return ( - <a href={ url } className="twitterProfile"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 273.5 222.3" className="octicon"><path d="M273.5 26.3a109.77 109.77 0 0 1-32.2 8.8 56.07 56.07 0 0 0 24.7-31 113.39 113.39 0 0 1-35.7 13.6 56.1 56.1 0 0 0-97 38.4 54 54 0 0 0 1.5 12.8A159.68 159.68 0 0 1 19.1 10.3a56.12 56.12 0 0 0 17.4 74.9 56.06 56.06 0 0 1-25.4-7v.7a56.11 56.11 0 0 0 45 55 55.65 55.65 0 0 1-14.8 2 62.39 62.39 0 0 1-10.6-1 56.24 56.24 0 0 0 52.4 39 112.87 112.87 0 0 1-69.7 24 119 119 0 0 1-13.4-.8 158.83 [...] - </a> - ) -} - -function GitHubLink ({ url }) { - if (!url) { - return null - } - - return ( - <a href={url} - className="githubProfile" - target="_blank" - rel="noopener noreferrer" - aria-label="GitHub profile" - > - </a> - ) -} - -export default function Card ({ - name, - avatar, - github, - twitter, - children -}) { - return ( - <div className="avatar teamProfile"> - <img - className="avatar__photo avatar__photo--lg" - src={ avatar } - /> - <div className="avatar__intro"> - <h4 className="avatar__name"> - { name } - <GitHubLink url={github && `https://github.com/${github}`} /> - <TwitterLink url={twitter && `https://twitter.com/${twitter}`} /> - </h4> - <small className="avatar__subtitle">{ children }</small> - </div> - </div> - ) -} diff --git a/home/static/img/icons/tancloud-logo.svg b/home/static/img/icons/tancloud-logo.svg new file mode 100644 index 000000000..59ab41a22 --- /dev/null +++ b/home/static/img/icons/tancloud-logo.svg @@ -0,0 +1,3 @@ +<svg width="216" height="53" viewBox="0 0 216 53" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M17.9443 45H10.9619V16.9971H0.439453V9.99023H28.4424V16.9971H17.9443V45ZM52.6611 45H51.0498L48.4619 41.4111C47.8271 41.9808 47.1517 42.5179 46.4355 43.0225C45.7357 43.5107 44.9951 43.9421 44.2139 44.3164C43.4326 44.6745 42.627 44.9593 41.7969 45.1709C40.9831 45.3825 40.153 45.4883 39.3066 45.4883C37.4674 45.4883 35.734 45.179 34.1064 44.5605C32.4951 43.9421 31.0791 43.0469 29.8584 41.875C28.654 40.6868 27.7018 39.2383 27.002 37.5293C26.3021 35.8203 25.9521 33.8753 25.9521 31.694 [...] +</svg> diff --git a/home/static/img/icons/tancloud_logo.svg b/home/static/img/icons/tancloud_logo.svg deleted file mode 100644 index 7869fe6f3..000000000 --- a/home/static/img/icons/tancloud_logo.svg +++ /dev/null @@ -1,4 +0,0 @@ -<svg width="214" height="57" viewBox="0 0 214 57" fill="none" xmlns="http://www.w3.org/2000/svg"> -<path d="M67.4077 38H63.3579V21.7583H57.2549V17.6943H73.4966V21.7583H67.4077V38ZM86.9771 29.8862V25.8223C86.9771 25.2653 86.8685 24.7414 86.6514 24.2505C86.4437 23.7502 86.1558 23.3159 85.7876 22.9478C85.4194 22.5796 84.9852 22.2917 84.4849 22.084C83.994 21.8669 83.4701 21.7583 82.9131 21.7583C82.3561 21.7583 81.8275 21.8669 81.3271 22.084C80.8363 22.2917 80.4067 22.5796 80.0386 22.9478C79.6704 23.3159 79.3778 23.7502 79.1606 24.2505C78.953 24.7414 78.8491 25.2653 78.8491 25.8223V29.8862 [...] -<path fill-rule="evenodd" clip-rule="evenodd" d="M25.8101 0C11.5582 0 0 11.556 0 25.8124C0 36.3789 6.35546 45.4613 15.4521 49.4523C15.379 47.652 15.4392 45.4849 15.8984 43.5243C16.3952 41.4293 18.3954 29.5755 18.3954 29.5755C18.3954 29.5755 18.3954 27.8128 18.3954 25.3758C18.3954 21.5514 20.8989 23.4657 23.6583 23.4657L27.4221 24.7359C34.4121 24.7359 45.7035 24.7359 45.7035 24.7359C45.7035 24.7359 35.4261 16.6698 28.4975 16.6698C20.6698 16.6698 19.8945 16.6698 19.8945 16.6698C19.8945 18. [...] -</svg> diff --git a/home/static/manifest.json b/home/static/manifest.json index f2093181f..b354f171e 100644 --- a/home/static/manifest.json +++ b/home/static/manifest.json @@ -1,6 +1,6 @@ { - "name": "TANCLOUD探云", - "short_name": "TANCLOUD", + "name": "Apache HertzBeat", + "short_name": "Apache HertzBeat", "theme_color": "#ea5a07", "background_color": "#efefef", "display": "standalone", diff --git a/home/versioned_sidebars/version-v1.1.x-sidebars.json b/home/versioned_sidebars/version-v1.1.x-sidebars.json index 76a3f8569..d2d2b576f 100644 --- a/home/versioned_sidebars/version-v1.1.x-sidebars.json +++ b/home/versioned_sidebars/version-v1.1.x-sidebars.json @@ -2,7 +2,7 @@ "docs": [ { "type": "category", - "label": "快速入门", + "label": "Quickstart", "items": [ "introduce", "start/quickstart", --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
