nnelgxorz / qwik-city-content Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
Once MVP features are stable, begin performance profiling with an eye toward:
Implement for feature parity with current Qwik City
https://docs.rs/pulldown-cmark/latest/pulldown_cmark/struct.Options.html
Currently our error handling is very sloppy. Ideally, we would have our own Error enum and the ability to early return using ? from functions instead of checking for errors and console logging them.
Using the Merge helper type is a cool trick, but Typescript starts to choke on larger collections.
Ideally, we can generate types for each collection manually to prevent any bottlenecks on larger content collections.
Allow users to mark content as a draft using draft: true
to remove a piece of content from the output.
Implement for feature parity with current Qwik City.
Implement for feature parity with current Qwik City.
Currently, for simplicity, we just support markdown and output a single html string. This will not work for mdx that imports Qwik components.
Investigate options for the optimal pre-processing.
Currently, we use Serde to deserialize yaml and to serialize JSON.
Because we perform manipulations on the Page struct, it may be an unnecessary allocation. Further, if we replace the yaml deserialization with a custom option tailored to our use case, Serde could be completely dropped as dependency.
This would reduce the size of our binaries and likely result in performance boosts.
Currently we use serde to deserialze yaml. It deserializes into a BTreeMap which is not an ideal data structure. Serde_yaml also doesn't support zero copy deserialization, so we are allocating anytime we deserialize.
Ideally, we can parse yaml into a flat data structure and only reference the &str source, without copying/allocating anything.
This is something that must be done for every content page, so it would be a big win for performance.
Investigate if there is way to override the type for RouteParams with the generated type, removing the need to import and cast route params.
No more of this, for example:
import {RouteParams} from './generated'
export default component$(() => {
const params = useLocation().params as RouteParams;
//...
})
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.