Add multiple color scheme

This commit is contained in:
Ash 2022-04-02 16:24:02 +08:00
parent 1fbb079e92
commit 9bf93ebc11
6 changed files with 370 additions and 171 deletions

View File

@ -1,62 +0,0 @@
package me.ash.reader.ui.theme
import androidx.compose.ui.graphics.Color
val md_theme_light_primary = Color(0xFF00658e)
val md_theme_light_onPrimary = Color(0xFFffffff)
val md_theme_light_primaryContainer = Color(0xFFc3e7ff)
val md_theme_light_onPrimaryContainer = Color(0xFF001e2e)
val md_theme_light_secondary = Color(0xFF4f616e)
val md_theme_light_onSecondary = Color(0xFFffffff)
val md_theme_light_secondaryContainer = Color(0xFFd2e5f4)
val md_theme_light_onSecondaryContainer = Color(0xFF0b1d28)
val md_theme_light_tertiary = Color(0xFF625a7c)
val md_theme_light_onTertiary = Color(0xFFffffff)
val md_theme_light_tertiaryContainer = Color(0xFFe8ddff)
val md_theme_light_onTertiaryContainer = Color(0xFF1e1735)
val md_theme_light_error = Color(0xFFba1b1b)
val md_theme_light_errorContainer = Color(0xFFffdad4)
val md_theme_light_onError = Color(0xFFffffff)
val md_theme_light_onErrorContainer = Color(0xFF410001)
val md_theme_light_background = Color(0xFFfbfcff)
val md_theme_light_onBackground = Color(0xFF191c1e)
val md_theme_light_surface = Color(0xFFfbfcff)
val md_theme_light_onSurface = Color(0xFF191c1e)
val md_theme_light_surfaceVariant = Color(0xFFdde3ea)
val md_theme_light_onSurfaceVariant = Color(0xFF41484d)
val md_theme_light_outline = Color(0xFF71787e)
val md_theme_light_inverseOnSurface = Color(0xFFf0f1f4)
val md_theme_light_inverseSurface = Color(0xFF2e3133)
val md_theme_light_inversePrimary = Color(0xFF7fcfff)
val md_theme_light_shadow = Color(0xFF000000)
val md_theme_dark_primary = Color(0xFF7fcfff)
val md_theme_dark_onPrimary = Color(0xFF00344b)
val md_theme_dark_primaryContainer = Color(0xFF004c6c)
val md_theme_dark_onPrimaryContainer = Color(0xFFc3e7ff)
val md_theme_dark_secondary = Color(0xFFb6c9d8)
val md_theme_dark_onSecondary = Color(0xFF21333e)
val md_theme_dark_secondaryContainer = Color(0xFF374955)
val md_theme_dark_onSecondaryContainer = Color(0xFFd2e5f4)
val md_theme_dark_tertiary = Color(0xFFccc1e9)
val md_theme_dark_onTertiary = Color(0xFF332c4b)
val md_theme_dark_tertiaryContainer = Color(0xFF4a4263)
val md_theme_dark_onTertiaryContainer = Color(0xFFe8ddff)
val md_theme_dark_error = Color(0xFFffb4a9)
val md_theme_dark_errorContainer = Color(0xFF930006)
val md_theme_dark_onError = Color(0xFF680003)
val md_theme_dark_onErrorContainer = Color(0xFFffdad4)
val md_theme_dark_background = Color(0xFF191c1e)
val md_theme_dark_onBackground = Color(0xFFe1e2e5)
val md_theme_dark_surface = Color(0xFF191c1e)
val md_theme_dark_onSurface = Color(0xFFe1e2e5)
val md_theme_dark_surfaceVariant = Color(0xFF41484d)
val md_theme_dark_onSurfaceVariant = Color(0xFFc1c7ce)
val md_theme_dark_outline = Color(0xFF8b9298)
val md_theme_dark_inverseOnSurface = Color(0xFF191c1e)
val md_theme_dark_inverseSurface = Color(0xFFe1e2e5)
val md_theme_dark_inversePrimary = Color(0xFF00658e)
val md_theme_dark_shadow = Color(0xFF000000)
val seed = Color(0xFF006187)
val error = Color(0xFFba1b1b)

View File

@ -2,76 +2,19 @@ package me.ash.reader.ui.theme
import android.os.Build import android.os.Build
import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.material3.* import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.dynamicDarkColorScheme
import androidx.compose.material3.dynamicLightColorScheme
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.staticCompositionLocalOf import androidx.compose.runtime.staticCompositionLocalOf
import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalContext
import me.ash.reader.ui.theme.color.PurpleColor
private val LightThemeColors = lightColorScheme( private val LightThemeColors = PurpleColor.lightColorScheme
private val DarkThemeColors = PurpleColor.darkColorScheme
primary = md_theme_light_primary,
onPrimary = md_theme_light_onPrimary,
primaryContainer = md_theme_light_primaryContainer,
onPrimaryContainer = md_theme_light_onPrimaryContainer,
secondary = md_theme_light_secondary,
onSecondary = md_theme_light_onSecondary,
secondaryContainer = md_theme_light_secondaryContainer,
onSecondaryContainer = md_theme_light_onSecondaryContainer,
tertiary = md_theme_light_tertiary,
onTertiary = md_theme_light_onTertiary,
tertiaryContainer = md_theme_light_tertiaryContainer,
onTertiaryContainer = md_theme_light_onTertiaryContainer,
error = md_theme_light_error,
errorContainer = md_theme_light_errorContainer,
onError = md_theme_light_onError,
onErrorContainer = md_theme_light_onErrorContainer,
background = md_theme_light_background,
onBackground = md_theme_light_onBackground,
surface = md_theme_light_surface,
onSurface = md_theme_light_onSurface,
surfaceVariant = md_theme_light_surfaceVariant,
onSurfaceVariant = md_theme_light_onSurfaceVariant,
outline = md_theme_light_outline,
inverseOnSurface = md_theme_light_inverseOnSurface,
inverseSurface = md_theme_light_inverseSurface,
inversePrimary = md_theme_light_inversePrimary,
// shadow = md_theme_light_shadow,
)
private val DarkThemeColors = darkColorScheme(
primary = md_theme_dark_primary,
onPrimary = md_theme_dark_onPrimary,
primaryContainer = md_theme_dark_primaryContainer,
onPrimaryContainer = md_theme_dark_onPrimaryContainer,
secondary = md_theme_dark_secondary,
onSecondary = md_theme_dark_onSecondary,
secondaryContainer = md_theme_dark_secondaryContainer,
onSecondaryContainer = md_theme_dark_onSecondaryContainer,
tertiary = md_theme_dark_tertiary,
onTertiary = md_theme_dark_onTertiary,
tertiaryContainer = md_theme_dark_tertiaryContainer,
onTertiaryContainer = md_theme_dark_onTertiaryContainer,
error = md_theme_dark_error,
errorContainer = md_theme_dark_errorContainer,
onError = md_theme_dark_onError,
onErrorContainer = md_theme_dark_onErrorContainer,
background = md_theme_dark_background,
onBackground = md_theme_dark_onBackground,
surface = md_theme_dark_surface,
onSurface = md_theme_dark_onSurface,
surfaceVariant = md_theme_dark_surfaceVariant,
onSurfaceVariant = md_theme_dark_onSurfaceVariant,
outline = md_theme_dark_outline,
inverseOnSurface = md_theme_dark_inverseOnSurface,
inverseSurface = md_theme_dark_inverseSurface,
inversePrimary = md_theme_dark_inversePrimary,
// shadow = md_theme_dark_shadow,
)
val LocalLightThemeColors = staticCompositionLocalOf { LightThemeColors } val LocalLightThemeColors = staticCompositionLocalOf { LightThemeColors }
val LocalDarkThemeColors = staticCompositionLocalOf { DarkThemeColors } val LocalDarkThemeColors = staticCompositionLocalOf { DarkThemeColors }
@Composable @Composable
@ -81,6 +24,7 @@ fun AppTheme(
) { ) {
// Dynamic color is available on Android 12+ // Dynamic color is available on Android 12+
val dynamicColor = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S val dynamicColor = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S
val light = when { val light = when {
dynamicColor -> dynamicLightColorScheme(LocalContext.current) dynamicColor -> dynamicLightColorScheme(LocalContext.current)
else -> LightThemeColors else -> LightThemeColors

View File

@ -0,0 +1,118 @@
package me.ash.reader.ui.theme.color
import androidx.compose.ui.graphics.Color
object BlueColor : IColor {
override val md_theme_light_primary: Color
get() = Color(0xFF00658e)
override val md_theme_light_onPrimary: Color
get() = Color(0xFFffffff)
override val md_theme_light_primaryContainer: Color
get() = Color(0xFFc3e7ff)
override val md_theme_light_onPrimaryContainer: Color
get() = Color(0xFF001e2e)
override val md_theme_light_secondary: Color
get() = Color(0xFF4f616e)
override val md_theme_light_onSecondary: Color
get() = Color(0xFFffffff)
override val md_theme_light_secondaryContainer: Color
get() = Color(0xFFd2e5f4)
override val md_theme_light_onSecondaryContainer: Color
get() = Color(0xFF0b1d28)
override val md_theme_light_tertiary: Color
get() = Color(0xFF625a7c)
override val md_theme_light_onTertiary: Color
get() = Color(0xFFffffff)
override val md_theme_light_tertiaryContainer: Color
get() = Color(0xFFe8ddff)
override val md_theme_light_onTertiaryContainer: Color
get() = Color(0xFF1e1735)
override val md_theme_light_error: Color
get() = Color(0xFFba1b1b)
override val md_theme_light_errorContainer: Color
get() = Color(0xFFffdad4)
override val md_theme_light_onError: Color
get() = Color(0xFFffffff)
override val md_theme_light_onErrorContainer: Color
get() = Color(0xFF410001)
override val md_theme_light_background: Color
get() = Color(0xFFfbfcff)
override val md_theme_light_onBackground: Color
get() = Color(0xFF191c1e)
override val md_theme_light_surface: Color
get() = Color(0xFFfbfcff)
override val md_theme_light_onSurface: Color
get() = Color(0xFF191c1e)
override val md_theme_light_surfaceVariant: Color
get() = Color(0xFFdde3ea)
override val md_theme_light_onSurfaceVariant: Color
get() = Color(0xFF41484d)
override val md_theme_light_outline: Color
get() = Color(0xFF71787e)
override val md_theme_light_inverseOnSurface: Color
get() = Color(0xFFf0f1f4)
override val md_theme_light_inverseSurface: Color
get() = Color(0xFF2e3133)
override val md_theme_light_inversePrimary: Color
get() = Color(0xFF7fcfff)
override val md_theme_light_shadow: Color
get() = Color(0xFF000000)
override val md_theme_dark_primary: Color
get() = Color(0xFF7fcfff)
override val md_theme_dark_onPrimary: Color
get() = Color(0xFF00344b)
override val md_theme_dark_primaryContainer: Color
get() = Color(0xFF004c6c)
override val md_theme_dark_onPrimaryContainer: Color
get() = Color(0xFFc3e7ff)
override val md_theme_dark_secondary: Color
get() = Color(0xFFb6c9d8)
override val md_theme_dark_onSecondary: Color
get() = Color(0xFF21333e)
override val md_theme_dark_secondaryContainer: Color
get() = Color(0xFF374955)
override val md_theme_dark_onSecondaryContainer: Color
get() = Color(0xFFd2e5f4)
override val md_theme_dark_tertiary: Color
get() = Color(0xFFccc1e9)
override val md_theme_dark_onTertiary: Color
get() = Color(0xFF332c4b)
override val md_theme_dark_tertiaryContainer: Color
get() = Color(0xFF4a4263)
override val md_theme_dark_onTertiaryContainer: Color
get() = Color(0xFFe8ddff)
override val md_theme_dark_error: Color
get() = Color(0xFFffb4a9)
override val md_theme_dark_errorContainer: Color
get() = Color(0xFF930006)
override val md_theme_dark_onError: Color
get() = Color(0xFF680003)
override val md_theme_dark_onErrorContainer: Color
get() = Color(0xFFffdad4)
override val md_theme_dark_background: Color
get() = Color(0xFF191c1e)
override val md_theme_dark_onBackground: Color
get() = Color(0xFFe1e2e5)
override val md_theme_dark_surface: Color
get() = Color(0xFF191c1e)
override val md_theme_dark_onSurface: Color
get() = Color(0xFFe1e2e5)
override val md_theme_dark_surfaceVariant: Color
get() = Color(0xFF41484d)
override val md_theme_dark_onSurfaceVariant: Color
get() = Color(0xFFc1c7ce)
override val md_theme_dark_outline: Color
get() = Color(0xFF8b9298)
override val md_theme_dark_inverseOnSurface: Color
get() = Color(0xFF191c1e)
override val md_theme_dark_inverseSurface: Color
get() = Color(0xFFe1e2e5)
override val md_theme_dark_inversePrimary: Color
get() = Color(0xFF00658e)
override val md_theme_dark_shadow: Color
get() = Color(0xFF000000)
override val seed: Color
get() = Color(0xFF006187)
override val error: Color
get() = Color(0xFFba1b1b)
}

View File

@ -0,0 +1,127 @@
package me.ash.reader.ui.theme.color
import androidx.compose.material3.ColorScheme
import androidx.compose.material3.darkColorScheme
import androidx.compose.material3.lightColorScheme
import androidx.compose.ui.graphics.Color
interface IColor {
val md_theme_light_primary: Color
val md_theme_light_onPrimary: Color
val md_theme_light_primaryContainer: Color
val md_theme_light_onPrimaryContainer: Color
val md_theme_light_secondary: Color
val md_theme_light_onSecondary: Color
val md_theme_light_secondaryContainer: Color
val md_theme_light_onSecondaryContainer: Color
val md_theme_light_tertiary: Color
val md_theme_light_onTertiary: Color
val md_theme_light_tertiaryContainer: Color
val md_theme_light_onTertiaryContainer: Color
val md_theme_light_error: Color
val md_theme_light_errorContainer: Color
val md_theme_light_onError: Color
val md_theme_light_onErrorContainer: Color
val md_theme_light_background: Color
val md_theme_light_onBackground: Color
val md_theme_light_surface: Color
val md_theme_light_onSurface: Color
val md_theme_light_surfaceVariant: Color
val md_theme_light_onSurfaceVariant: Color
val md_theme_light_outline: Color
val md_theme_light_inverseOnSurface: Color
val md_theme_light_inverseSurface: Color
val md_theme_light_inversePrimary: Color
val md_theme_light_shadow: Color
val md_theme_dark_primary: Color
val md_theme_dark_onPrimary: Color
val md_theme_dark_primaryContainer: Color
val md_theme_dark_onPrimaryContainer: Color
val md_theme_dark_secondary: Color
val md_theme_dark_onSecondary: Color
val md_theme_dark_secondaryContainer: Color
val md_theme_dark_onSecondaryContainer: Color
val md_theme_dark_tertiary: Color
val md_theme_dark_onTertiary: Color
val md_theme_dark_tertiaryContainer: Color
val md_theme_dark_onTertiaryContainer: Color
val md_theme_dark_error: Color
val md_theme_dark_errorContainer: Color
val md_theme_dark_onError: Color
val md_theme_dark_onErrorContainer: Color
val md_theme_dark_background: Color
val md_theme_dark_onBackground: Color
val md_theme_dark_surface: Color
val md_theme_dark_onSurface: Color
val md_theme_dark_surfaceVariant: Color
val md_theme_dark_onSurfaceVariant: Color
val md_theme_dark_outline: Color
val md_theme_dark_inverseOnSurface: Color
val md_theme_dark_inverseSurface: Color
val md_theme_dark_inversePrimary: Color
val md_theme_dark_shadow: Color
val seed: Color
val error: Color
val lightColorScheme: ColorScheme
get() = lightColorScheme(
primary = md_theme_light_primary,
onPrimary = md_theme_light_onPrimary,
primaryContainer = md_theme_light_primaryContainer,
onPrimaryContainer = md_theme_light_onPrimaryContainer,
secondary = md_theme_light_secondary,
onSecondary = md_theme_light_onSecondary,
secondaryContainer = md_theme_light_secondaryContainer,
onSecondaryContainer = md_theme_light_onSecondaryContainer,
tertiary = md_theme_light_tertiary,
onTertiary = md_theme_light_onTertiary,
tertiaryContainer = md_theme_light_tertiaryContainer,
onTertiaryContainer = md_theme_light_onTertiaryContainer,
error = md_theme_light_error,
errorContainer = md_theme_light_errorContainer,
onError = md_theme_light_onError,
onErrorContainer = md_theme_light_onErrorContainer,
background = md_theme_light_background,
onBackground = md_theme_light_onBackground,
surface = md_theme_light_surface,
onSurface = md_theme_light_onSurface,
surfaceVariant = md_theme_light_surfaceVariant,
onSurfaceVariant = md_theme_light_onSurfaceVariant,
outline = md_theme_light_outline,
inverseOnSurface = md_theme_light_inverseOnSurface,
inverseSurface = md_theme_light_inverseSurface,
inversePrimary = md_theme_light_inversePrimary,
)
val darkColorScheme: ColorScheme
get() = darkColorScheme(
primary = md_theme_dark_primary,
onPrimary = md_theme_dark_onPrimary,
primaryContainer = md_theme_dark_primaryContainer,
onPrimaryContainer = md_theme_dark_onPrimaryContainer,
secondary = md_theme_dark_secondary,
onSecondary = md_theme_dark_onSecondary,
secondaryContainer = md_theme_dark_secondaryContainer,
onSecondaryContainer = md_theme_dark_onSecondaryContainer,
tertiary = md_theme_dark_tertiary,
onTertiary = md_theme_dark_onTertiary,
tertiaryContainer = md_theme_dark_tertiaryContainer,
onTertiaryContainer = md_theme_dark_onTertiaryContainer,
error = md_theme_dark_error,
errorContainer = md_theme_dark_errorContainer,
onError = md_theme_dark_onError,
onErrorContainer = md_theme_dark_onErrorContainer,
background = md_theme_dark_background,
onBackground = md_theme_dark_onBackground,
surface = md_theme_dark_surface,
onSurface = md_theme_dark_onSurface,
surfaceVariant = md_theme_dark_surfaceVariant,
onSurfaceVariant = md_theme_dark_onSurfaceVariant,
outline = md_theme_dark_outline,
inverseOnSurface = md_theme_dark_inverseOnSurface,
inverseSurface = md_theme_dark_inverseSurface,
inversePrimary = md_theme_dark_inversePrimary,
)
}

View File

@ -0,0 +1,118 @@
package me.ash.reader.ui.theme.color
import androidx.compose.ui.graphics.Color
object PurpleColor : IColor {
override val md_theme_light_primary: Color
get() = Color(0xFF5f51ac)
override val md_theme_light_onPrimary: Color
get() = Color(0xFFffffff)
override val md_theme_light_primaryContainer: Color
get() = Color(0xFFe6deff)
override val md_theme_light_onPrimaryContainer: Color
get() = Color(0xFF190065)
override val md_theme_light_secondary: Color
get() = Color(0xFF605c72)
override val md_theme_light_onSecondary: Color
get() = Color(0xFFffffff)
override val md_theme_light_secondaryContainer: Color
get() = Color(0xFFe5dff9)
override val md_theme_light_onSecondaryContainer: Color
get() = Color(0xFF1c192c)
override val md_theme_light_tertiary: Color
get() = Color(0xFF7c5264)
override val md_theme_light_onTertiary: Color
get() = Color(0xFFffffff)
override val md_theme_light_tertiaryContainer: Color
get() = Color(0xFFffd8e8)
override val md_theme_light_onTertiaryContainer: Color
get() = Color(0xFF301020)
override val md_theme_light_error: Color
get() = Color(0xFFba1b1b)
override val md_theme_light_errorContainer: Color
get() = Color(0xFFffdad4)
override val md_theme_light_onError: Color
get() = Color(0xFFffffff)
override val md_theme_light_onErrorContainer: Color
get() = Color(0xFF410001)
override val md_theme_light_background: Color
get() = Color(0xFFfffbff)
override val md_theme_light_onBackground: Color
get() = Color(0xFF1c1b1e)
override val md_theme_light_surface: Color
get() = Color(0xFFfffbff)
override val md_theme_light_onSurface: Color
get() = Color(0xFF1c1b1e)
override val md_theme_light_surfaceVariant: Color
get() = Color(0xFFe5e0ec)
override val md_theme_light_onSurfaceVariant: Color
get() = Color(0xFF48454f)
override val md_theme_light_outline: Color
get() = Color(0xFF79767f)
override val md_theme_light_inverseOnSurface: Color
get() = Color(0xFFf4eff4)
override val md_theme_light_inverseSurface: Color
get() = Color(0xFF313033)
override val md_theme_light_inversePrimary: Color
get() = Color(0xFFcabeff)
override val md_theme_light_shadow: Color
get() = Color(0xFF000000)
override val md_theme_dark_primary: Color
get() = Color(0xFFcabeff)
override val md_theme_dark_onPrimary: Color
get() = Color(0xFF301f7a)
override val md_theme_dark_primaryContainer: Color
get() = Color(0xFF473892)
override val md_theme_dark_onPrimaryContainer: Color
get() = Color(0xFFe6deff)
override val md_theme_dark_secondary: Color
get() = Color(0xFFc9c3dc)
override val md_theme_dark_onSecondary: Color
get() = Color(0xFF312e41)
override val md_theme_dark_secondaryContainer: Color
get() = Color(0xFF484459)
override val md_theme_dark_onSecondaryContainer: Color
get() = Color(0xFFe5dff9)
override val md_theme_dark_tertiary: Color
get() = Color(0xFFedb8cd)
override val md_theme_dark_onTertiary: Color
get() = Color(0xFF492536)
override val md_theme_dark_tertiaryContainer: Color
get() = Color(0xFF613b4c)
override val md_theme_dark_onTertiaryContainer: Color
get() = Color(0xFFffd8e8)
override val md_theme_dark_error: Color
get() = Color(0xFFffb4a9)
override val md_theme_dark_errorContainer: Color
get() = Color(0xFF930006)
override val md_theme_dark_onError: Color
get() = Color(0xFF680003)
override val md_theme_dark_onErrorContainer: Color
get() = Color(0xFFffdad4)
override val md_theme_dark_background: Color
get() = Color(0xFF1c1b1e)
override val md_theme_dark_onBackground: Color
get() = Color(0xFFe5e1e5)
override val md_theme_dark_surface: Color
get() = Color(0xFF1c1b1e)
override val md_theme_dark_onSurface: Color
get() = Color(0xFFe5e1e5)
override val md_theme_dark_surfaceVariant: Color
get() = Color(0xFF48454f)
override val md_theme_dark_onSurfaceVariant: Color
get() = Color(0xFFc9c4d0)
override val md_theme_dark_outline: Color
get() = Color(0xFF938f99)
override val md_theme_dark_inverseOnSurface: Color
get() = Color(0xFF1c1b1e)
override val md_theme_dark_inverseSurface: Color
get() = Color(0xFFe5e1e5)
override val md_theme_dark_inversePrimary: Color
get() = Color(0xFF5f51ac)
override val md_theme_dark_shadow: Color
get() = Color(0xFF000000)
override val seed: Color
get() = Color(0xFF53459f)
override val error: Color
get() = Color(0xFFba1b1b)
}

View File

@ -1,46 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<opml version="2.0">
<head>
<title>Ash</title>
</head>
<body>
<outline title="技术" text="技术">
<outline xmlUrl="https://github.com/hellodword/wechat-feeds/raw/feeds/MzUyNjQxNjYyMg==.xml" htmlUrl="http://MzUyNjQxNjYyMg.favicon.privacyhide.com/favicon.ico" text="五分钟学算法 | wechat-feeds" type="rss" title="五分钟学算法 | wechat-feeds" />
<outline htmlUrl="http://MzU0MDEwMjgwNA.favicon.privacyhide.com/favicon.ico" xmlUrl="https://github.com/hellodword/wechat-feeds/raw/feeds/MzU0MDEwMjgwNA==.xml" text="SpringForAll社区 | wechat-feeds" type="rss" title="SpringForAll社区 | wechat-feeds" />
<outline htmlUrl="https://tech.meituan.com/feed/" title="美团技术团队" type="rss" text="美团技术团队" xmlUrl="https://tech.meituan.com/feed/" />
<outline title="扔物线 | wechat-feeds" type="rss" text="扔物线 | wechat-feeds" htmlUrl="http://MzIwNTczNTY0NA.favicon.privacyhide.com/favicon.ico" xmlUrl="https://github.com/hellodword/wechat-feeds/raw/feeds/MzIwNTczNTY0NA==.xml" />
<outline text="伴鱼技术团队" title="伴鱼技术团队" type="rss" htmlUrl="https://tech.ipalfish.com/blog/atom.xml" xmlUrl="http://tech.ipalfish.com/blog/atom.xml" />
<outline text="博客园_编程大观园" type="rss" xmlUrl="http://feed.cnblogs.com/blog/u/201575/rss/" title="博客园_编程大观园" htmlUrl="http://feed.cnblogs.com" />
<outline xmlUrl="https://tech.youzan.com/rss/" title="有赞技术团队" type="rss" text="有赞技术团队" htmlUrl="https://tech.youzan.com" />
<outline text="eBay技术荟 | wechat-feeds" htmlUrl="http://MzA3MDMyNDUzOQ.favicon.privacyhide.com/favicon.ico" type="rss" title="eBay技术荟 | wechat-feeds" xmlUrl="https://github.com/hellodword/wechat-feeds/raw/feeds/MzA3MDMyNDUzOQ==.xml" />
<outline type="rss" text="小米信息部技术团队" htmlUrl="/atom.xml" title="小米信息部技术团队" xmlUrl="https://xiaomi-info.github.io/atom" />
<outline type="rss" text="IBM Developer" xmlUrl="https://developer.ibm.com/feed/" htmlUrl="https://developer.ibm.com" title="IBM Developer" />
<outline title="滴滴技术 | wechat-feeds" htmlUrl="http://MzU1ODEzNjI2NA.favicon.privacyhide.com/favicon.ico" text="滴滴技术 | wechat-feeds" type="rss" xmlUrl="https://github.com/hellodword/wechat-feeds/raw/feeds/MzU1ODEzNjI2NA==.xml" />
<outline title="vivo互联网技术 | wechat-feeds" text="vivo互联网技术 | wechat-feeds" xmlUrl="https://github.com/hellodword/wechat-feeds/raw/feeds/MzI4NjY4MTU5Nw==.xml" htmlUrl="http://MzI4NjY4MTU5Nw.favicon.privacyhide.com/favicon.ico" type="rss" />
<outline htmlUrl="http://ashinch.com/" type="rss" title="Ash's Knowledge Base" xmlUrl="https://www.ashinch.com/feed" text="Ash's Knowledge Base" />
<outline type="rss" text="阿里巴巴中间件 | wechat-feeds" title="阿里巴巴中间件 | wechat-feeds" xmlUrl="https://api.feeddd.org/feeds/615ea22c1269c358aa166d7a" htmlUrl="https://mp.weixin.qq.com" />
<outline title="阿里技术" type="rss" xmlUrl="https://api.feeddd.org/feeds/612c4e602b6da10dfaec7645" htmlUrl="https://mp.weixin.qq.com" text="阿里技术" />
<outline xmlUrl="https://api.feeddd.org/feeds/615ea22c1269c358aa166d6a" type="rss" title="艾小仙" text="艾小仙" htmlUrl="https://mp.weixin.qq.com" />
<outline htmlUrl="https://mp.weixin.qq.com" type="rss" xmlUrl="https://api.feeddd.org/feeds/6131b4041269c358aa0deac7" title="爱奇艺技术产品团队" text="爱奇艺技术产品团队" />
<outline xmlUrl="https://api.feeddd.org/feeds/613381fa1269c358aa0eaec1" text="三太子敖丙 | wechat-feeds" htmlUrl="https://api.feeddd.org" title="三太子敖丙 | wechat-feeds" type="rss" />
<outline htmlUrl="https://mp.weixin.qq.com" xmlUrl="https://api.feeddd.org/feeds/61455d381269c358aa11efca" title="字节跳动技术团队" type="rss" text="字节跳动技术团队" />
<outline title="Java3y" text="Java3y" type="rss" htmlUrl="https://mp.weixin.qq.com" xmlUrl="https://api.feeddd.org/feeds/613381f91269c358aa0eabd1" />
<outline type="rss" text="JavaGuide | wechat-feeds" xmlUrl="https://api.feeddd.org/feeds/613381f91269c358aa0eabd9" title="JavaGuide | wechat-feeds" htmlUrl="https://api.feeddd.org" />
<outline htmlUrl="https://api.feeddd.org" type="rss" xmlUrl="https://api.feeddd.org/feeds/6140676c1269c358aa11056c" text="Thoughtworks | wechat-feeds" title="Thoughtworks | wechat-feeds" />
<outline htmlUrl="https://mp.weixin.qq.com" text="有赞coder" type="rss" title="有赞coder" xmlUrl="https://api.feeddd.org/feeds/616e984cb9a7e049c387659c" />
<outline title="计算机视觉life" type="rss" htmlUrl="https://mp.weixin.qq.com" xmlUrl="https://api.feeddd.org/feeds/61e3f060dca58a380c4456c0" text="计算机视觉life" />
<outline title="我爱计算机视觉" text="我爱计算机视觉" type="rss" xmlUrl="https://api.feeddd.org/feeds/6159cf1d1269c358aa1550e9" htmlUrl="https://mp.weixin.qq.com" />
<outline htmlUrl="https://mp.weixin.qq.com" type="rss" xmlUrl="https://api.feeddd.org/feeds/613381fa1269c358aa0eafa9" title="我是程序汪" text="我是程序汪" />
<outline title="低并发编程" text="低并发编程" type="rss" xmlUrl="https://api.feeddd.org/feeds/61e2b1d2dca58a380c43846b" htmlUrl="https://mp.weixin.qq.com" />
<outline htmlUrl="https://mp.weixin.qq.com" xmlUrl="https://api.feeddd.org/feeds/61f55b22dca58a380c510633" type="rss" title="eBay技术荟" text="eBay技术荟" />
<outline htmlUrl="https://mp.weixin.qq.com" title="vivo互联网技术" xmlUrl="https://api.feeddd.org/feeds/61f55b22dca58a380c510624" type="rss" text="vivo互联网技术" />
</outline>
<outline text="新鲜事" title="新鲜事">
<outline title="月光博客" xmlUrl="https://www.williamlong.info/rss.xml" text="月光博客" type="rss" htmlUrl="https://www.williamlong.info/" />
<outline htmlUrl="https://sspai.com" text="少数派" title="少数派" xmlUrl="https://sspai.com/feed" type="rss" />
<outline text="知乎每日精选" title="知乎每日精选" xmlUrl="https://www.zhihu.com/rss" type="rss" htmlUrl="http://www.zhihu.com" />
<outline type="rss" title="澎湃新闻" text="澎湃新闻" htmlUrl="http://thepaper.cn" xmlUrl="https://feedx.net/rss/thepaper.xml" />
<outline htmlUrl="https://www.qbitai.com" title="量子位" text="量子位" type="rss" xmlUrl="https://www.qbitai.com/feed" />
</outline>
</body>
</opml>