mwmbl / front-end Goto Github PK
View Code? Open in Web Editor NEWNew SvelteKit-based front-end for Mwmbl
Home Page: https://alpha.mwmbl.org/
New SvelteKit-based front-end for Mwmbl
Home Page: https://alpha.mwmbl.org/
This issue is for @daoudclarke to report on the state of public deployement of this to a temporary subdomain.
Make "preferences" "options", make it a component that can be included on any page.
There are some advanced features of search engines that could be implemented on the frontend, such as
1+1
gives you a calculator, houston weather
a weather card, 10 inch to cm
a unit converterMoved from PR mwmbl/mwmbl#203
(from commit 57a27b9)
(use the "edited" dropdown at the top of the post to see progress)
The current design is loosely based on this image posted on the Matrix by Daoud showcasing a design draft by @realmytheman
on the Matrix channel (who does not appear to be using Matrix anymore). It's still missing most of the basic correct design details: fonts, colors, gradients, correct icons and rounding constants.
I'm hoping to get in touch with @realmytheman
either in this thread or on Discord if that's not possible, to figure out the design details and collaborate on the design.
Edit: We are now drafting designs on Figma and talking in a private Discord group.
I opted for using SvelteKit (with Svelte 5 (runes) preview, though that may be reconsidered if issues arise) and TypeScript, because it is a combination I find very pleasing to work with, while enforcing a structured codebase and supporting filesystem routing. Svelte is especially nice since it works through kind of a compiler, making the client bundle smaller and more efficient. The new rune system with Svelte 5 implements a signal-based reactivity system very similar to other popular frameworks, which should make it pretty easy to adopt for developers new to Svelte.
I opted for using TailwindCSS for styling, since it makes it easy to develop style and layout alongside the semantic HTML structure, without having to come up with classnames or context-switch to CSS. Additionally, it works as it's own standard and has nice defaults, making it possible to read HTML and understand how it looks, without having to learn what a bunch of custom classnames look like.
I like to pair Tailwind with shadcn-svelte, which is a "component library", a set of accessible and well-styled (with Tailwind) prebuilt components that are inserted directly into the codebase where they are used. shadcn-svelte
is great because you always get something functional and accessible that follows best practices, while getting free rein to customize components as you see fit.
npm
and some of the command line syntax is nicer. Using pnpm
is totally optional, though, and the project works with or without.SvelteKit can be trivially hosted on any platform for which an adapter exists. I've personally enjoyed "serverless" PaaS hosting on Cloudflare Pages, which does not charge for bandwidth, which should be enough to prevent Mwmbl from getting a $104K hosting bill.
Hosting on bare metal (or VPS) is also possible with the NodeJS adapter, if hosting the frontend in the same place as the backend would be preferred.
/search
, whereas with the old frontend it's in the root path. If someone queries /
with the ?q=
queryparam, they get transparently redirected to /search?q=
.opensearch.xml
based on the pre-existing one with small edits, but I was unable to see it working in development.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.