Comments (7)
Hi!
I think the change isn't too big, if you want to try it see this line:
https://github.com/pomber/code-surfer/blob/master/packages/code-surfer/src/code-surfer.js#L29
Adding a theme property to that component and changing the condition to something like theme={theme !== undefined ? theme : dark ? darkTheme : lightTheme}
(I explicitly check against undefined because null is a valid theme for prism-react-rederer).
I think that should be enough at least for a short-term solution.
from code-surfer.
Thanks for the PR @kutyel !
@kitten what API do you have in mind?
Current mdx-deck themes for syntax highlighting look like this:
// example theme.js
import { future } from 'mdx-deck/themes'
import okaidia from 'react-syntax-highlighter/styles/prism/okaidia'
import prismRuby from 'react-syntax-highlighter/languages/prism/ruby'
export default {
...future,
prism: {
style: okaidia,
languages: {
ruby: prismRuby
}
}
}
from code-surfer.
I would happily accept a PR for using prism-react-renderer for mdx-deck code blocks. As for theming for this particular component, I'm guessing that mdx-deck themes could use an object named CodeSurfer
(or similar) and pass the whole thing along
from code-surfer.
I added some examples for using it with prism-react-renderer. I couldn't make it work with prism themes yet (tried something like this).
from code-surfer.
@pomber I think a longterm solution would include to add the prism-react-renderer theme to mdx's theme as well eventually.
Maybe they can even be convinced to switch code blocks over to it?
from code-surfer.
@kitten oh, that's right, I'd like to use Night Owl from prism-react-renderer for example, the themes from mdx-deck seem to be pretty simple regarding code highlighting, @jxnblk what do you think? 😉
from code-surfer.
Closing this one. Now you can also set the theme globally: https://codesurfer.js.org/sample/#10
from code-surfer.
Related Issues (20)
- `npm init code-surfer-deck` doesn't set dependencies in the package.json HOT 4
- Web component ?
- Import code from file not working with mdx-deck@4 HOT 3
- Switching slides is unreliable in Firefox
- `code-surfer-types` missing from published package HOT 1
- Set visual line-height on `pre` or `code` elements?
- New maintainers? HOT 3
- "Unexpected Token" error with mdx-deck v4 and code-surfer HOT 11
- can't have markdown lists in codesurfer steps? HOT 1
- Some prism languages layout is too large HOT 1
- Support for animations that update a line HOT 1
- Usage in nextjs app withouth mdx deck HOT 2
- Make line animations configurable: for instance, use fadein/out instead of line movement
- Is there any plan to improve performance? HOT 2
- Add ability to disable scrollAnimation HOT 1
- Is there a way to have markup in title and subtitle?
- Allow to use negative line indices to reference lines from the end (e.g. 0 or -1 for the last line)
- Allow columns to have the same font size
- Allow prism-diff to be used for highlight HOT 2
- Allow to specify zoom level on a per-step basis
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from code-surfer.