11const { fs, path, logger, chalk } = require ( '@vuepress/shared-utils' )
22
3- module . exports = ( options , context ) => ( {
3+ module . exports = ( options , ctx ) => ( {
44 name : '@vuepress/internal-style' ,
55
66 enhanceAppFiles : [ path . resolve ( __dirname , 'client.js' ) ] ,
77
88 async ready ( ) {
9- const { sourceDir, writeTemp } = context
9+ const { sourceDir, writeTemp } = ctx
1010
1111 const overridePath = path . resolve ( sourceDir , '.vuepress/override.styl' )
1212 const hasUserOverride = fs . existsSync ( overridePath )
@@ -15,10 +15,17 @@ module.exports = (options, context) => ({
1515 logger . tip ( `${ chalk . magenta ( 'override.styl' ) } has been deprecated from v1.0.0, using ${ chalk . cyan ( '.vuepress/style/palette.styl' ) } instead.\n` )
1616 }
1717
18- // style.styl API.
19- const stylePath = path . resolve ( sourceDir , '.vuepress/styles/index.styl' )
20- const hasUserStyle = fs . existsSync ( stylePath )
21- await writeTemp ( 'style.styl' , hasUserStyle ? `@import(${ JSON . stringify ( stylePath ) } )` : '' )
18+ const themeStyle = path . resolve ( ctx . themePath , 'styles/index.styl' )
19+ const userStyle = path . resolve ( sourceDir , '.vuepress/styles/index.styl' )
20+
21+ const themeStyleContent = fs . existsSync ( themeStyle )
22+ ? `@import(${ JSON . stringify ( themeStyle ) } )`
23+ : ''
24+ const userStyleContent = fs . existsSync ( userStyle )
25+ ? `@import(${ JSON . stringify ( userStyle ) } )`
26+ : ''
27+
28+ const styleContent = themeStyleContent + userStyleContent
29+ await writeTemp ( 'style.styl' , styleContent )
2230 }
2331} )
24-
0 commit comments