mirror of
https://github.com/apache/superset.git
synced 2026-04-12 20:57:55 +00:00
docs: Restyle documentation landing page and community page (#24393)
This commit is contained in:
53
docs/src/components/BlurredSection.tsx
Normal file
53
docs/src/components/BlurredSection.tsx
Normal file
@@ -0,0 +1,53 @@
|
||||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
import React, { ReactNode } from 'react';
|
||||
import styled from '@emotion/styled';
|
||||
import { mq } from '../utils';
|
||||
|
||||
const StyledBlurredSection = styled('section')`
|
||||
text-align: center;
|
||||
border-bottom: 1px solid var(--ifm-border-color);
|
||||
overflow: hidden;
|
||||
.blur {
|
||||
max-width: 635px;
|
||||
width: 100%;
|
||||
margin-top: -70px;
|
||||
margin-bottom: -35px;
|
||||
position: relative;
|
||||
z-index: -1;
|
||||
${mq[1]} {
|
||||
margin-top: -40px;
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
interface BlurredSectionProps {
|
||||
children: ReactNode;
|
||||
}
|
||||
|
||||
const BlurredSection = ({ children }: BlurredSectionProps) => {
|
||||
return (
|
||||
<StyledBlurredSection>
|
||||
{children}
|
||||
<img className="blur" src="/img/community/blur.png" alt="Blur" />
|
||||
</StyledBlurredSection>
|
||||
);
|
||||
};
|
||||
|
||||
export default BlurredSection;
|
||||
123
docs/src/components/SectionHeader.tsx
Normal file
123
docs/src/components/SectionHeader.tsx
Normal file
@@ -0,0 +1,123 @@
|
||||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
import React from 'react';
|
||||
import styled from '@emotion/styled';
|
||||
import { mq } from '../utils';
|
||||
|
||||
type StyledSectionHeaderProps = {
|
||||
dark: boolean;
|
||||
};
|
||||
|
||||
const StyledSectionHeader = styled('div')<StyledSectionHeaderProps>`
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
padding: 75px 20px 0;
|
||||
max-width: 720px;
|
||||
margin: 0 auto;
|
||||
${mq[1]} {
|
||||
padding-top: 55px;
|
||||
}
|
||||
.title,
|
||||
.subtitle {
|
||||
color: ${props =>
|
||||
props.dark
|
||||
? 'var(--ifm-font-base-color-inverse)'
|
||||
: 'var(--ifm-font-base-color)'};
|
||||
}
|
||||
`;
|
||||
|
||||
const StyledSectionHeaderH1 = styled(StyledSectionHeader)`
|
||||
.title {
|
||||
font-size: 96px;
|
||||
${mq[1]} {
|
||||
font-size: 46px;
|
||||
}
|
||||
}
|
||||
.line {
|
||||
margin-top: -45px;
|
||||
margin-bottom: 15px;
|
||||
${mq[1]} {
|
||||
margin-top: -20px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
}
|
||||
.subtitle {
|
||||
font-size: 30px;
|
||||
line-height: 40px;
|
||||
${mq[1]} {
|
||||
font-size: 25px;
|
||||
line-height: 29px;
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
const StyledSectionHeaderH2 = styled(StyledSectionHeader)`
|
||||
.title {
|
||||
font-size: 48px;
|
||||
${mq[1]} {
|
||||
font-size: 34px;
|
||||
}
|
||||
}
|
||||
.line {
|
||||
margin-top: -15px;
|
||||
margin-bottom: 15px;
|
||||
${mq[1]} {
|
||||
margin-top: -5px;
|
||||
}
|
||||
}
|
||||
.subtitle {
|
||||
font-size: 24px;
|
||||
line-height: 32px;
|
||||
${mq[1]} {
|
||||
font-size: 18px;
|
||||
line-height: 26px;
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
interface SectionHeaderProps {
|
||||
level: any;
|
||||
title: string;
|
||||
subtitle?: string;
|
||||
dark?: boolean;
|
||||
}
|
||||
|
||||
const SectionHeader = ({
|
||||
level,
|
||||
title,
|
||||
subtitle,
|
||||
dark,
|
||||
}: SectionHeaderProps) => {
|
||||
const Heading = level;
|
||||
|
||||
const StyledRoot =
|
||||
level === 'h1' ? StyledSectionHeaderH1 : StyledSectionHeaderH2;
|
||||
|
||||
return (
|
||||
<StyledRoot dark={!!dark}>
|
||||
<Heading className="title">{title}</Heading>
|
||||
<img className="line" src="/img/community/line.png" alt="line" />
|
||||
{subtitle && <p className="subtitle">{subtitle}</p>}
|
||||
</StyledRoot>
|
||||
);
|
||||
};
|
||||
|
||||
export default SectionHeader;
|
||||
Reference in New Issue
Block a user