mirror of
https://github.com/jellyfin/jellyfin.org.git
synced 2024-10-06 19:03:28 +00:00
feat(91): add sass support
This commit is contained in:
parent
56a7ae51c1
commit
0ef8008acc
2
.gitignore
vendored
2
.gitignore
vendored
@ -18,3 +18,5 @@
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
.idea/
|
||||
|
@ -112,14 +112,15 @@ Site content is licensed <a href='http://creativecommons.org/licenses/by-nd/4.0/
|
||||
theme: {
|
||||
customCss: [
|
||||
require.resolve('@fontsource/noto-sans/index.css'),
|
||||
require.resolve('./src/css/custom.css'),
|
||||
require.resolve('./src/css/swiper.css')
|
||||
require.resolve('./src/css/custom.scss'),
|
||||
require.resolve('./src/css/swiper.scss')
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
],
|
||||
plugins: [
|
||||
'docusaurus-plugin-sass',
|
||||
[
|
||||
'@docusaurus/plugin-client-redirects',
|
||||
{
|
||||
|
77
package-lock.json
generated
77
package-lock.json
generated
@ -20,9 +20,11 @@
|
||||
"@mdx-js/react": "1.6.22",
|
||||
"@svgr/webpack": "6.4.0",
|
||||
"clsx": "1.2.1",
|
||||
"docusaurus-plugin-sass": "0.2.2",
|
||||
"file-loader": "6.2.0",
|
||||
"react": "17.0.2",
|
||||
"react-dom": "17.0.2",
|
||||
"sass": "1.55.0",
|
||||
"swiper": "8.4.3",
|
||||
"url-loader": "4.1.1"
|
||||
},
|
||||
@ -6203,6 +6205,18 @@
|
||||
"node": ">=6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/docusaurus-plugin-sass": {
|
||||
"version": "0.2.2",
|
||||
"resolved": "https://registry.npmjs.org/docusaurus-plugin-sass/-/docusaurus-plugin-sass-0.2.2.tgz",
|
||||
"integrity": "sha512-ZZBpj3PrhGpYE2kAnkZB9NRwy/CDi4rGun1oec6PYR8YvGzqxYGtXvLgHi6FFbu8/N483klk8udqyYMh6Ted+A==",
|
||||
"dependencies": {
|
||||
"sass-loader": "^10.1.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@docusaurus/core": "^2.0.0-beta",
|
||||
"sass": "^1.30.0"
|
||||
}
|
||||
},
|
||||
"node_modules/dom-converter": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
|
||||
@ -8675,8 +8689,7 @@
|
||||
"node_modules/immutable": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz",
|
||||
"integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==",
|
||||
"dev": true
|
||||
"integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ=="
|
||||
},
|
||||
"node_modules/import-fresh": {
|
||||
"version": "3.3.0",
|
||||
@ -12820,10 +12833,9 @@
|
||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
||||
},
|
||||
"node_modules/sass": {
|
||||
"version": "1.54.8",
|
||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.54.8.tgz",
|
||||
"integrity": "sha512-ib4JhLRRgbg6QVy6bsv5uJxnJMTS2soVcCp9Y88Extyy13A8vV0G1fAwujOzmNkFQbR3LvedudAMbtuNRPbQww==",
|
||||
"dev": true,
|
||||
"version": "1.55.0",
|
||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.55.0.tgz",
|
||||
"integrity": "sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A==",
|
||||
"dependencies": {
|
||||
"chokidar": ">=3.0.0 <4.0.0",
|
||||
"immutable": "^4.0.0",
|
||||
@ -12836,6 +12848,59 @@
|
||||
"node": ">=12.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/sass-loader": {
|
||||
"version": "10.3.1",
|
||||
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.3.1.tgz",
|
||||
"integrity": "sha512-y2aBdtYkbqorVavkC3fcJIUDGIegzDWPn3/LAFhsf3G+MzPKTJx37sROf5pXtUeggSVbNbmfj8TgRaSLMelXRA==",
|
||||
"dependencies": {
|
||||
"klona": "^2.0.4",
|
||||
"loader-utils": "^2.0.0",
|
||||
"neo-async": "^2.6.2",
|
||||
"schema-utils": "^3.0.0",
|
||||
"semver": "^7.3.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 10.13.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/webpack"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"fibers": ">= 3.1.0",
|
||||
"node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0",
|
||||
"sass": "^1.3.0",
|
||||
"webpack": "^4.36.0 || ^5.0.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"fibers": {
|
||||
"optional": true
|
||||
},
|
||||
"node-sass": {
|
||||
"optional": true
|
||||
},
|
||||
"sass": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/sass-loader/node_modules/schema-utils": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
|
||||
"integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
|
||||
"dependencies": {
|
||||
"@types/json-schema": "^7.0.8",
|
||||
"ajv": "^6.12.5",
|
||||
"ajv-keywords": "^3.5.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 10.13.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/webpack"
|
||||
}
|
||||
},
|
||||
"node_modules/sax": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
|
||||
|
@ -34,9 +34,11 @@
|
||||
"@mdx-js/react": "1.6.22",
|
||||
"@svgr/webpack": "6.4.0",
|
||||
"clsx": "1.2.1",
|
||||
"docusaurus-plugin-sass": "0.2.2",
|
||||
"file-loader": "6.2.0",
|
||||
"react": "17.0.2",
|
||||
"react-dom": "17.0.2",
|
||||
"sass": "1.55.0",
|
||||
"swiper": "8.4.3",
|
||||
"url-loader": "4.1.1"
|
||||
},
|
||||
|
@ -1,6 +1,6 @@
|
||||
import React, { FunctionComponent, ReactNode } from 'react';
|
||||
|
||||
import './DetailsCard.css';
|
||||
import './DetailsCard.scss';
|
||||
|
||||
type DetailsCardProps = {
|
||||
id?: string;
|
||||
|
@ -1,7 +1,7 @@
|
||||
import clsx from 'clsx';
|
||||
import React, { FunctionComponent, ReactNode } from 'react';
|
||||
|
||||
import './Hero.css';
|
||||
import './Hero.scss';
|
||||
|
||||
type HeroProps = {
|
||||
children?: ReactNode;
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { Discord } from '@icons-pack/react-simple-icons';
|
||||
import React from 'react';
|
||||
|
||||
import './ContactCard.css';
|
||||
import './ContactCard.scss';
|
||||
|
||||
const DiscordCard = () => (
|
||||
<div className='card card--contact'>
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { Facebook } from '@icons-pack/react-simple-icons';
|
||||
import React from 'react';
|
||||
|
||||
import './ContactCard.css';
|
||||
import './ContactCard.scss';
|
||||
|
||||
const FacebookCard = () => (
|
||||
<div className='card card--contact'>
|
||||
|
@ -1,6 +1,6 @@
|
||||
import React from 'react';
|
||||
|
||||
import './ContactCard.css';
|
||||
import './ContactCard.scss';
|
||||
|
||||
const IrcCard = () => (
|
||||
<div className='card card--contact'>
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { Element } from '@icons-pack/react-simple-icons';
|
||||
import React, { useState } from 'react';
|
||||
|
||||
import './ContactCard.css';
|
||||
import './ContactCard.scss';
|
||||
|
||||
const MatrixCard = () => {
|
||||
const [isAllRoomsVisible, setAllRoomsVisible] = useState(false);
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { Reddit } from '@icons-pack/react-simple-icons';
|
||||
import React from 'react';
|
||||
|
||||
import './ContactCard.css';
|
||||
import './ContactCard.scss';
|
||||
|
||||
const RedditCard = () => (
|
||||
<div className='card card--contact'>
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { Telegram } from '@icons-pack/react-simple-icons';
|
||||
import React from 'react';
|
||||
|
||||
import './ContactCard.css';
|
||||
import './ContactCard.scss';
|
||||
|
||||
const TelegramCard = () => (
|
||||
<div className='card card--contact'>
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { Twitter } from '@icons-pack/react-simple-icons';
|
||||
import React from 'react';
|
||||
|
||||
import './ContactCard.css';
|
||||
import './ContactCard.scss';
|
||||
|
||||
const TwitterCard = () => (
|
||||
<div className='card card--contact'>
|
||||
|
@ -1,7 +1,7 @@
|
||||
import Link from '@docusaurus/Link';
|
||||
import React from 'react';
|
||||
|
||||
import styles from './CallToAction.module.css';
|
||||
import styles from './CallToAction.module.scss';
|
||||
|
||||
export default function CallToAction() {
|
||||
return (
|
||||
|
@ -5,8 +5,8 @@ import { Android, Apple, Roku, Amazon, Kodi } from '@icons-pack/react-simple-ico
|
||||
import Icon from '@mdi/react';
|
||||
import { mdiPlusThick, mdiMonitor, mdiWeb } from '@mdi/js';
|
||||
|
||||
import landingSectionStyles from './LandingSection.module.css';
|
||||
import styles from './ClientSection.module.css';
|
||||
import landingSectionStyles from './LandingSection.module.scss';
|
||||
import styles from './ClientSection.module.scss';
|
||||
|
||||
export default function ClientSection() {
|
||||
return (
|
||||
|
@ -5,7 +5,7 @@ import { mdiAccountGroup, mdiLock, mdiCurrencyUsdOff } from '@mdi/js';
|
||||
import clsx from 'clsx';
|
||||
import React from 'react';
|
||||
|
||||
import landingSectionStyles from './LandingSection.module.css';
|
||||
import landingSectionStyles from './LandingSection.module.scss';
|
||||
|
||||
const ICON_SIZE = 48;
|
||||
|
||||
|
@ -4,8 +4,8 @@ import { Swiper, SwiperSlide } from 'swiper/react';
|
||||
|
||||
import 'swiper/css';
|
||||
import 'swiper/css/navigation';
|
||||
import landingSectionStyles from './LandingSection.module.css';
|
||||
import styles from './HomepageFeatures.module.css';
|
||||
import landingSectionStyles from './LandingSection.module.scss';
|
||||
import styles from './HomepageFeatures.module.scss';
|
||||
import clsx from 'clsx';
|
||||
|
||||
type Feature = {
|
||||
|
@ -10,7 +10,7 @@ import PlaybackImageUrl from '../../../static/images/screenshots/home/10.8-playb
|
||||
|
||||
import 'swiper/css';
|
||||
import 'swiper/css/pagination';
|
||||
import landingSectionStyles from './LandingSection.module.css';
|
||||
import landingSectionStyles from './LandingSection.module.scss';
|
||||
|
||||
const screenshots = [
|
||||
{
|
||||
|
@ -10,7 +10,7 @@ import Pill from '../../components/common/Pill';
|
||||
import { Client, Clients, DeviceType } from '../../data/clients';
|
||||
import Platform, { FeaturedClientPlatforms } from '../../data/platform';
|
||||
|
||||
import styles from './index.module.css';
|
||||
import styles from './index.module.scss';
|
||||
|
||||
type ClientFilter = {
|
||||
recommended: boolean;
|
||||
|
@ -7,7 +7,7 @@ import React from 'react';
|
||||
import ContributorGuide from '../components/contribute/ContributorGuide';
|
||||
import Hero from '../components/common/Hero';
|
||||
|
||||
import styles from './contribute.module.css';
|
||||
import styles from './contribute.module.scss';
|
||||
|
||||
export default function Contribute() {
|
||||
return (
|
||||
|
@ -8,7 +8,7 @@ import Pill from '../../components/common/Pill';
|
||||
import DownloadDetails from '../../components/downloads/DownloadDetails';
|
||||
import { Downloads, OsType } from '../../data/downloads';
|
||||
|
||||
import styles from './index.module.css';
|
||||
import styles from './index.module.scss';
|
||||
|
||||
export default function DownloadsPage({ osType = OsType.Linux }: { osType?: OsType }) {
|
||||
const [isStableLinks, setIsStableLinks] = useState<boolean>(true);
|
||||
|
Loading…
Reference in New Issue
Block a user