- Last 7 days
-
queue.acm.org queue.acm.org
-
how to track on-call coverage
-
-
github.com github.com
-
How do you know if source maps are working correctly? Try adding a syntax error to one of your assets and use the console to debug. Does it show the correct file and source location? Or does it reference the top level application.js file?
-
-
en.wikipedia.org en.wikipedia.org
-
found that using only the Pascal-provided control structures, the correct solution was given by only 20% of the subjects, while no subject wrote incorrect code for this problem if allowed to write a return from the middle of a loop.
-
-
sobolevn.me sobolevn.me
-
But why do we return 0? Why not 1? Why not None? And while None in most cases is as bad (or even worse) than the exceptions, turns out we should heavily rely on business logic and use-cases of this function.
-
-
www.excellentwebworld.com www.excellentwebworld.com
-
Whether you are a small startup or an individual hustler, gathering funds for your initiative is the top priority. Entrepreneurs frequent top crowdfunding websites or platforms to collect funds.
If you’re looking to build a platform that fosters a dynamic economy of self-starters, learning how to start a crowdfunding website might just be your call.
-
-
github.com github.com
-
While Trailblazer offers you abstraction layers for all aspects of Ruby On Rails, it does not missionize you. Wherever you want, you may fall back to the "Rails Way" with fat models, monolithic controllers, global helpers, etc. This is not a bad thing, but allows you to step-wise introduce Trailblazer's encapsulation in your app without having to rewrite it.
Tags
- Trailblazer
- making changes / switching/migrating gradually/incrementally/step-wise/iteratively
- rails: the Rails way
- focus on what it should do, not on how it should do it (implementation details; software design)
- focus on concepts/design/structure instead of specific/concrete technology/implementation
- freedom of user to override specific decision of an authority/vendor (software)
- newer/better ways of doing things
- leaving the details of implementation/integration up to you
- abstractions
- allowing developer/user to pick and choose which pieces to use (allowing use with competing libraries; not being too opinionated; not forcing recommended way on you)
Annotators
URL
-
-
trailblazer.to trailblazer.to
-
Also, the more I use Trailblazer in projects or even in Trailblazer itself, I feel how needed those new abstractions are.
-
-
github.com github.com
-
This is a breaking change so it'll have to go into a major release. I was working on a v4 release but it's too much. I think I'm going to pair it back and we can add this to the new v4. When I have that ready, I'll rebase the merge onto that branch.
-
-
topdigital.agency topdigital.agency
-
By going through the above statistics, you would have gotten a confidence boost and additional motivation to develop your app. Now you know that the mammoth task of building an online app from scratch is equally rewarding for the efforts invested.
So you have decided to build a mobile app for your business! But you don’t know how to create an app from scratch. Don’t worry. By the end of this article, you’ll be aware of the entire process.
-
-
github.com github.com
-
I don't think seeing it in Rails PRs naturally means we should do it blankly. Put it another way, what's the justification in those PRs for doing it?
Tags
- why?
- doing something without knowing why/how it works
- understand the ramifications/effects/consequences
- rationale
- understand the trade-offs
- investing time to really understand something
- justification for existence
- understand both sides of an issue
- fallacy: doing something because it's popular / everyone is doing it
Annotators
URL
-
- Feb 2021
-
www.infoworld.com www.infoworld.com
-
Consequently, you act irresponsibly when you adopt any programming practice simply because "that's the way you're supposed to do things."
-
My point is that you should not program blindly. You must understand the havoc a feature or idiom can wreak. In doing so, you're in a much better position to decide whether you should use that feature or idiom. Your choices should be both informed and pragmatic.
-
-
-
It makes me happy to see people actually think about things and not just accept a shitty API.
Tags
- don't settle for/accept something that's not as good as it can be
- "makes me happy when ..."
- doing something without knowing why/how it works
- can we do even better?
- actually consider / think about how it _should_ (ideally) be
- describe the ideal hypothetical solution
- intentional/well-considered decisions
- less than ideal / not optimal
Annotators
URL
-
-
hrworldeng101.weebly.com hrworldeng101.weebly.com
-
G Suite is one of the Google products, developed form of Google Apps. It is a single platform to hold cloud computing, collaboration tools, productivity, software, and products. While using it, many a time, it’s not working, and users have a question– How to fix G Suite not working? It can be resolved easily by restarting the device, and if unable to do so, you can reach our specialists whenever you want.
-
-
cherrycreekschools.instructure.com cherrycreekschools.instructure.com
-
I am wondering the same exact thing.
-
I did not know that 1.2 million black men served in the army during ww2.
-
I never realized that German army's had a separate army for African Americans and White Americans.
-
-
www.reddit.com www.reddit.com
-
Space: Suppose we had infinite memory, then cache all the data; but we don't so we have to decide what to cache that is meaningful to have the cache implemented (is a ??K cache size enough for your use case? Should you add more?) - It's the balance with the resources available.
-
Time: Suppose all your data was immutable, then cache all the data indefinitely. But this isn't always to case so you have to figure out what works for the given scenario (A person's mailing address doesn't change often, but their GPS position does).
-
-
www.quora.com www.quora.com
-
So the hard and unsolvable problem becomes: how up-to-date do you really need to be?
-
After considering the value we place, and the tradeoffs we make, when it comes to knowing anything of significance, I think it becomes much easier to understand why cache invalidation is one of the hard problems in computer science
the crux of the problem is: trade-offs
-
-
www.honeybadger.io www.honeybadger.io
-
Now if you think about it, PJAX sounds a lot like Turbolinks. They both use JS to fetch server-rendered HTML and put it into the DOM. They both do caching and manage the forward and back buttons. It's almost as if the Rails team took a technique developed elsewhere and just rebranded it.
-
-
www.reddit.com www.reddit.com
-
the most productive environment possible for people that use their computer to create.What is a productive environment?How do you measure productivity in an operating system environment?How do you compare YOUR distribution to other distributions when it comes to productivity?Is the way in which 'people that use their computer to create' (creators) the same across all professions and activities?Does a photographer have the same requirements for a productive environment as a software engineer?Why do you think your distribution will be the best for delivering a productive environment than any other Linux distribution?
-
-
hypothes.is hypothes.is
-
Getting started
This is my first annotation using this extension. It explains how to get started.
Tags
Annotators
URL
-
-
stackoverflow.com stackoverflow.com
-
that's a point, but I would say the opposite, when entering credit card data I would rathre prefer to be entirely in the Verified By Visa (Paypal) webpage (with the url easily visible in the address bar) rather that entring my credit card data in an iframe of someone's website.
-
- Jan 2021
-
stackoverflow.com stackoverflow.com
-
systemd has such huge documentation. systemd.unit Did you try searching for explanation yourself? What did you find?
-
-
blog.linuxmint.com blog.linuxmint.com
-
http://letmegooglethat.com/?q=How+to+change+the+default+search+engine+in+chromium&l=1
-
-
github.com github.com
-
How should this be manually tested?
-
-
-
It's not impossible, but it's not likely I would accept someone I haven't worked with IRL or know on a personal level. That's because I want some form of creative control over the direction and I want to maintain the existing code style. If I know you I'm more likely to know that this will keep working the way I want it to.
-
Show me good PRs, bug triaging, documentation fixes, whatever and you're a candidate if you ask for it.
-
-
www.excellentwebworld.com www.excellentwebworld.com
-
Are you exploring how to create an app from scratch? But have no idea what you actually need and how to execute this idea?
How to build an application from scratch is the fundamental question that every vendor, business owner, and startup keeps asking when they are planning a new venture.
-
-
askubuntu.com askubuntu.com
-
I'm very (VERY!) tempted to use that ppa, but without offense to it's maintainers... it's just some random ppa. If it had more "traction" I'd use it. Right now it has only 3 maintainers.
-
-
-
Steelkiwi’s Experience Developing a CRM System for Client Management
Still not sure do you need a custom CRM or not? Just think about it: quality ready-made CRM solutions are expensive, while usually, your company does not need the whole set of provided functions. The cost of a custom CRM development also is not chip, however, when you are building a CRM system, you pay for the functions required particularly by your company. Plus, employees will not spend a lot of time exploring the new product, because CRM is initially created under the workflow, already established in the company.
-
-
-
In this article, learn how to create a streaming service like Netflix and how to launch a streaming service with unique features.
-
-
askubuntu.com askubuntu.com
-
How do you know this? I've looked all over the internet and can't find any proof that Lightdm is more "lightweight" (whatever this means) or faster.
-
- Dec 2020
-
www.excellentwebworld.com www.excellentwebworld.com
-
Learn how to create a streaming service like Netflix. Explore how to start streaming service with unique features.
-
-
-
Learn how to create a streaming service like Netflix. Explore how to start streaming service with unique features.
-
-
steelkiwi.com steelkiwi.com
-
How to Attract Customers to My Restaurant: Offline, Social Media, and Digital Strategies
How to attract customers to my restaurant? Is a common question restaurant owners ask. In this guide, we outline the keys to filling your tables. Read on!
-
-
vocal.media vocal.media
-
In today’s growing and fast-paced world, mobile has become part of our life. And, the competition between Android and iOS smartphones is getting tougher day by day.
Get a quick process guide to design an iOS app with integration of the dark mode theme.
-
-
-
Online Booking App Development: A Full Guide for Your Business
-
-
www.websoptimization.com www.websoptimization.com
-
How Much Does It Cost to Develop a Marketplace?
In this blog, let’s see why online marketplaces have become quite popular and what will it cost for you to build and launch your own marketplace.
-
-
www.websoptimization.com www.websoptimization.com
-
How To Start An Online Marketplace Business – Updated Guide 2020
Start your own online marketplace business in 2021?
Discover different successful market place business models, explore how to develop a multi-vendor online marketplace app.
-
-
www.websoptimization.com www.websoptimization.com
-
How Much will App Development Cost Your Startup?
Thinking of launching your own mobile app? Quickly estimate the cost of developing an app for iPhone, Android or hybrid app, app development cost includes features, design, back-end, testing, support etc.
Tags
- App development cost calculator
- Augmented reality app development cost
- App development cost breakdown
- Dating app development cost
- App development cost india
- How much app development cost
- App development outsourcing cost
- Mobile app development cost estimate India
- Web app development cost
- Uber app development cost
- App Development Cost
- Food delivery app development cost
Annotators
URL
-
-
www.websoptimization.com www.websoptimization.com
-
How Much Does It Cost To Build A Freelance Marketplace Site or App Like UpWork
Want to Develop an App like UpWork? Here you will get the approximate costs to develop a freelancing app like Upwork.
Tags
- Freelance App Development Cost
- upwork clone
- Cost to create a website like Upwork
- Build App Like Upwork
- Cost to Develop a Freelance Marketplace like Upwork
- How to Develop a Freelance Marketplace like Upwork
- Freelance Marketplace App
- upwork clone script
- Freelance Marketplace Website
Annotators
URL
-
- Nov 2020
-
stackoverflow.com stackoverflow.com
-
If you want a reference to the global object that works in any context, you can read this from a directly-called function. const global = (function() {return this})();. This evaluates to window in the browser, self in a service worker and global in nodejs.
-
-
hackernoon.com hackernoon.com
-
Many linguists believe that the natural language a person speaks affects how they think. Does the same concept apply to computer languages?
-
-
-
Learn how to create a dating app that will rival Tinder. Get step-by-step guide, learn about monetization strategies, and find out what it takes to build a dating app in 2020.
-
-
-
Wondered how to make an online selling app? Here’s a guide with tech & business details, technologies and processes for 2020 on how to develop a successful eCommerce app and drive maximum sales.
-
-
www.styled-components.com www.styled-components.com
-
-
Do you want to know how to make an app like Uber? Read this 2020 guide to learn about business and technical sides of uber-like app development.
-
-
github.com github.com
-
Test plan You need a large NPM package in a private org on the npmjs.org registry. 10MB download size is ideal.
-
-
blog.readwise.io blog.readwise.io
-
How many times have you heard the cliché, for example, read between the lines? It turns out, the key to reading between the lines is actually to write between the lines. Once you start, you'll discover a whole new reading experience, elevated from that of a one-sided lecture to a two-sided conversation.
reading as a conversation between myself and the text.
-
-
-
Do you want to know how much it costs to make an app? Learn the cost to develop iOS & Android apps in 2020 and about the main influencing factors and indicators.
-
-
addevice.io addevice.io
-
Want to know how to create a workout app? Learn about trending fitness app types and features, how to make money with such apps, and how much it will cost you.
If you want to know How to Create a Workout App with our team for a free consultation and mobile application estimation.
-
-
-
How to Create a Messaging Application from Scratch
How to create a messaging app from scratch - what tools and technologies are used in messaging and chat application development process.
If you want to know How to Create a Messaging Application from Scratch with our team for a free consultation and mobile application estimation.
-
-
-
github.com github.com
-
All standard UI events are forwarded.
-
class: '' - A CSS class string.
-
-
steelkiwi.com steelkiwi.com
-
How to Start a Job Board for Your Niche
-
-
github.com github.com
-
Just coming here to voice my agreement that these warnings are annoying and exist in other libraries as well. For me this happened with svelma. I didn't write the library code, so I don't have complete control over it even though I agree there is an argument to be had around whether I should be notified anyway. In either case, these warnings should be easily disabled since libraries don't always get updated over night.
-
-
github.com github.com
-
Maybe it's also a bug because every warning should be ignorable? Not sure.
-
I would like the compiler to add a property like canIgnore: false to the warning, if the warning cannot be disabled.
-
-
www.benkuhn.net www.benkuhn.net
-
When you’re implementing a bad plan yourself, instead of having a mentor bail you out by fixing it, a few really useful things happen:You learn many more details about why it was a bad idea. If someone else tells you your plan is bad, they’ll probably list the top two or three reasons. By actually following through, you’ll also get to learn reasons 4–1,217.You spend about 100x more time thinking about how you’ll avoid ever making that type of mistake again, i.e., digesting what you’ve learned and integrating it into your overall decision-making.By watching my mistakes and successes play out well or badly over the course of months, I was able to build much more detailed, precise models about what does and doesn’t matter for long-term codebase health. Eventually, that let me make architectural decisions with much more conviction.
There's a benefit to embarking on a challenge without a more experienced authority to bail you out.
- You learn many more details about why it's a bad idea.
- The lessons you learn in terms of how to avoid the mistakes you made stick with you longer
(I would add that the experience is more visceral, it activates more modalities in your brain, and you remember it much more clearly.)
These types of experiences result in what the author calls more "detailed, precise models". For me they result in a sort of intuition.
-
- Oct 2020
-
www.julian.com www.julian.com
-
But what should you write about? Simply ask yourself, What's bothering you most right now? Write a post where you work through that—and get to a conclusion. This is how I start every time. Writing is therapy that you publish for the world to learn from.
-
-
www.julian.com www.julian.com
-
First, choose your topicThe best topic to write about is the one you can’t not write about. It’s the idea bouncing around your head that urges you to get to the bottom of it.You can trigger this state of mind with a two-part trick. First, choose an objective for your article:Open people’s eyes by proving the status quo wrong.Articulate something everyone’s thinking about but no one is saying. Cut through the noise.Identify key trends on a topic. Use them to predict the future.Contribute original insights through research and experimentation.Distill an overwhelming topic into something approachable. (This guide.)Share a solution to a tough problem.Tell a suspenseful and emotional story that imparts a lesson.Now pair that objective with a motivation:Does writing this article get something off your chest?Does it help reason through a nagging, unsolved problem you have?Does it persuade others to do something you believe is important?Do you obsess over the topic and want others to geek out over it too?That’s all that's needed: Pair an objective with a motivation. Now you have something to talk about.
-
-
medium.com medium.com
-
Some apps are free to download while some charge money. This is the simplest revenue model that you can go with. Create an exceptional app and charge a one-time fee or a yearly subscription for the app
There are several ways to monetize an app. It all depends on the financial conditions and the general mindset of your target audience. By studying your audience, you’ll find the best way to make money from your app idea.
-
-
stackoverflow.com stackoverflow.com
-
If you have a better/simpler/"more official" solution, I'd still love to see it!
The "official" solution is to use submitErrors (see Erik's answer).
-
-
nesslabs.com nesslabs.com
-
The idea of the hermeneutic circle is to envision a whole in terms how the parts interact with each other, and how they interact with the whole. That may sound a little bit out there, so let’s have a look at a concrete example.
This is a general concept, the rest of the article extrapolates the idea to the act of reading. This may be a stretch, since it implies that whatever can be broken into parts will belong to the hermeneutic circle, while this only applies to interpreting (text)
-
-
svelte.dev svelte.dev
-
whenValueChanges whenValueBecomes
-
-
www.amazon.com www.amazon.com
-
How to Win at College: Surprising Secrets for Success from the Country's Top Students Paperback – April 12, 2005 by Cal Newport
-
-
www.amazon.com www.amazon.com
-
How to Become a Straight-A Student: The Unconventional Strategies Real College Students Use to Score High While Studying Less Kindle Edition by {"isAjaxComplete_B001IGNR0U":"0","isAjaxInProgress_B001IGNR0U":"0"} Cal Newport (Author) › Visit Amazon's Cal Newport Page Find all the books, read about the author, and more. See search results for this author Are you an author? Learn about Author Central Cal Newport (Author)
-
-
www.amazon.com www.amazon.com
-
How to Be a High School Superstar: A Revolutionary Plan to Get into College by Standing Out (Without Burning Out) 1st Edition, Kindle Edition by {"isAjaxComplete_B001IGNR0U":"0","isAjaxInProgress_B001IGNR0U":"0"} Cal Newport (Author) › Visit Amazon's Cal Newport Page Find all the books, read about the author, and more. See search results for this author Are you an author? Learn about Author Central Cal Newport (Author)
-
-
www.amazon.com www.amazon.com
-
Deep Work: Rules for Focused Success in a Distracted World Hardcover – January 5, 2016 by Cal Newport
-
-
www.amazon.com www.amazon.com
-
Learning How to Learn: How to Succeed in School Without Spending All Your Time Studying; A Guide for Kids and Teens Paperback – Illustrated, August 7, 2018 by Barbara Oakley PhD
-
-
www.amazon.com www.amazon.com
-
A Mind for Numbers: How to Excel at Math and Science (Even If You Flunked Algebra) Audible Audiobook – Unabridged Barbara Oakley (Author), Grover Gardner (Narrator), Gildan Media, LLC (Publisher) & 2 more
-
-
-
Using the keyboard arrows, navigate down the suggestion list to the item(s) you want to remove from the Chrome autofill suggestions With the suggestion highlighted, use the appropriate keystroke sequence to delete the Chrome suggestion:
Linux: Shift + Delete
-
-
-
If the react cargo cult didn't have the JSX cowpath paved for them and acclimated to describing their app interface with vanilla javascript, they'd cargo cult around that. It's really about the path of least resistance and familiarity.
-
-
github.com github.com
-
For the sake of best compatibility we convert the className attribute to class for svelte.
Svelte refuses to standardize on any way to pass a CSS class. I thought className was actually the most common name for this prop though even in Svelte...
-
-
github.com github.com
-
github.com github.com
-
I'm suggesting there should be a way to write lifecycle related code that also responds to changing props, like how useEffect works. I think how React handles this could be a good source of inspiration.
-
-
dylanvann.com dylanvann.com
-
Disclaimer: I’m new to Svelte so this isn’t so much a recommendation as it is a “I guess this is a way to do it 🤷♂️”
-
-
-
If there was a place I thought reactivity would be weak, I embraced it and I worked on it until I was happy with the results.
-
-
impedagogy.com impedagogy.com
-
How To Write This Poem
begin here …with TIME
where words
are layered with text
where the pen
etches into screen …
then go here …
(https://www.vialogues.com/vialogues/play/61205)
… only to leap from one place
to another,
where my mind goes
I hardly every know,
only that it ventures forward …
… heard by hearts,
and scattered stars,
where I see the sky fall,
you find the debris …
our thoughts.
(https://nowcomment.com/documents/234044)
Might we be permitted them?
The dragonfly
rarely yields her ground
to the critics among
us.
-
Kevin's Response
How To Write This Poem
begin here …with TIME
where words
are layered with text
where the pen
etches into screen …
then go here … https://www.vialogues.com/vialogues/play/61205
... only to leap from one place to another, where my mind goes I hardly every know, only that it ventures forward ...
… heard by hearts, and scattered stars, where I see the sky fall, you find the debris …. https://nowcomment.com/documents/234044
Your thoughts?
-
-
-
How to Build a Food Delivery Website for Your Restaurant
-
-
steelkiwi.com steelkiwi.com
-
How to Build a Video Chat App: Types, Features, and Our Hands-on Experience https://steelkiwi.com/blog/how-to-build-a-video-chat-app/
-
-
final-form.org final-form.org
-
both copied much of their API from Redux Form, so, despite working very differently under the hood, there is a lot of overlap in their APIs.
-
-
fs.blog fs.blog
-
be quick to start books, quicker to stop them, and read the best ones again right after you finish
farnam street blog tips on reading
-
- Sep 2020
-
github.com github.com
-
I pushed the build files & tested it in my environment so this should work as is.
-
I pushed a hotfix, based on v3.6.3 proposed by #2086 (comment) In package.json, under devDependencies, use: "svelte": "btakita/svelte#svelte-gh-2086-hotfix"
-
-
github.com github.com
-
export let client; setContext("client", client);
Wouldn't this set context to undefined initially? And reassigning a new value to client wouldn't update the value stored in the context, would it? It would only update the
let client
variable.Where does this let client actually get set to the client from
async function preload
? I guess I need to understand Sapper more to know how this works, but it doesn't seem like it could.Update: I think I found the answer (it runs before):
https://hyp.is/3aHeJgNFEeunkCsh8FVbDQ/sapper.svelte.dev/docs/
It lives in a
context="module"
script — see the tutorial — because it's not part of the component instance itself; instead, it runs before the component is created, allowing you to avoid flashes while data is fetched.
-
-
gruyerevjbccnszf.onion.pet gruyerevjbccnszf.onion.pet
-
The AOL helpline number would is the best option "How do I talk to a Live Person at AOL". Usually after dialing the number, stay on the line and move as prompted. It may take a while but you will get proper assistance. The process is quite long, if you think that the process is taking more time than expected it’s better to use chat help option.
-
There might be an issue that you buy a new phone and wish to set up AT&T email in Outlook on your phone, but you are facing some serious technical glitch. If your AT&T is not working, you might want to connect to a live person to get the issue fixed. There are three common ways, How do I talk to a live person at AT&T.
-
-
stackoverflow.com stackoverflow.com
-
setContext / getContext can only be used once at component init, so how do you share your API result through context? Related: how would you share those API results if the call was made outside of a Svelte component, where setContext would be even more out of the question (and the API call would arguably be better located, for separation of concerns matters)? Well, put a store in your context.
-
-
devblogs.microsoft.com devblogs.microsoft.com
-
This is so common that ECMAScript 2020 recently added a new syntax to support this pattern!export * as utilities from "./utilities.js";This is a nice quality-of-life improvement to JavaScript, and TypeScript 3.8 implements this syntax. When your module target is earlier than es2020, TypeScript will output something along the lines of the first code snippet.
-
If you’ve used Flow before, the syntax is fairly similar. One difference is that we’ve added a few restrictions to avoid code that might appear ambiguous.
-
-
stackoverflow.com stackoverflow.com
-
the error/warning output about unresolved dependencies and missing global variable names doesn't provide any more information about which dependencies are part of the problem:
-
-
stackoverflow.com stackoverflow.com
-
Why do I need a global variable? Is the global requirement from ES6 modules (I'd have thought modules would be in a functional scope) or rollup?
-
-
medium.com medium.com
-
possibly making it harder for them to appreciate how severe the discoverability issues are for the rest of us.
-
-
github.com github.com
-
DX: start sapper project; configure eslint; eslint say that svelt should be dep; update package.json; build fails with crypt error; try to figure what the hell; google it; come here (if you have luck); revert package.json; add ignore error to eslint; Maybe we should offer better solution for this.
-
When the message say function was called outside component initialization first will look at my code and last at my configuration.
-
We could at least try to offer better error message for this, before it becomes our next NullPointerException, Segmentation Fault or Kernel Panic
Tags
- good point
- error messages: should reveal/point to why/how error was caused and how to fix/prevent it
- frustrating
- web search for something brings me here
- dev experience
- reasonable expectation
- can we do even better?
- errors are helpful for development (better than silently failing)
- errors
- useless/unhelpful/generic error messages that don't reveal why/how error was caused
- what a reasonable person would do
- expectations
- memes
Annotators
URL
-
-
github.com github.com
-
For context, the previous API had a lazy promise. Currently I’m thinking we could just return a closure like in the React API
-
-
stackoverflow.com stackoverflow.com
-
This is the same as useEffect in React, incidentally — the function must be synchronous in order to avoid race conditions.
-
-
-
Most simple example: <script> import ChildComponent from './Child.svelte'; </script> <style> .class-to-add { background-color: tomato; } </style> <ChildComponent class="class-to-add" /> ...compiles to CSS without the class-to-add declaration, as svelte currently does not recognize the class name as being used. I'd expect class-to-add is bundled with all nested style declarations class-to-add is passed to ChildComponent as class-to-add svelte-HASH This looks like a bug / missing feature to me.
-
-
I wrote hundreds of Rect components and what I learned is that Componets should be able to be styled by developer who is using it.
-
color: red; //doesn't apply this rule, because scoping doesn't extend to children
-
Say I want to style this javascript routing anchor tag on various pages (some may be buttons, plain links, images) it makes it incredibly difficult. Eg:
-
Having to wrap everything in a selector :global(child) { } is hacky
-
-
-
I think instead, there would need to be some special way to make the distinction of what is a slot attribute and what is a slot prop to be consumed with let:. Maybe a new directive like <slot attr:class="abc"/>?
-
-
github.com github.com
-
feel like there needs to be an easy way to style sub-components without their cooperation
-
The problem with working around the current limitations of Svelte style (:global, svelte:head, external styles or various wild card selectors) is that the API is uglier, bigger, harder to explain AND it loses one of the best features of Svelte IMO - contextual style encapsulation. I can understand that CSS classes are a bit uncontrollable, but this type of blocking will just push developers to work around it and create worse solutions.
Tags
- interesting wording
- Svelte: CSS encapsulation
- arbitrary limitations leading to less-than-ideal workarounds
- missing out on the benefits of something
- Svelte: how to affect child component styles
- important point
- quotable
- +0.9
- key point
- how to affect child component components without their cooperation
- trying to prevent one bad thing leading to people doing/choosing an even worse option
- control (programming)
Annotators
URL
-
-
github.com github.com
-
There is a good amount of properties that should mostly be applied from a parent's point of view. We're talking stuff like grid-area in grid layouts, margin and flex in flex layouts. Even properties like position and and the top/right/left/bottom following it in some cases.
-
Svelte will not offer a generic way to support style customizing via contextual class overrides (as we'd do it in plain HTML). Instead we'll invent something new that is entirely different. If a child component is provided and does not anticipate some contextual usage scenario (style wise) you'd need to copy it or hack around that via :global hacks.
-
The main rationale for this PR is that, in my hones opinion, Svelte needs a way to support style overrides in an intuitive and close to plain HTML/CSS way. What I regard as intuitive is: Looking at how customizing of styles is being done when applying a typical CSS component framework, and making that possible with Svelte.
-
The RFC is more appropriate because it does not allow a parent to abritrarily control anything below it, that responsibility still relies on the component itself. Just because people have been passing classes round and overriding child styles for years doesn't mean it is a good choice and isn't something we wnat to encourage.
-
This allows passing classes to child components with svelte-{hash} through the class prop and prevents removing such classes from css.
Tags
- component/library author can't consider/know ahead of time all of the ways users may want to use it
- intuitive
- programming: who is responsible for this concern?
- Svelte: how to affect child component styles
- reinventing the wheel / not invented here
- run-time dynamicness/generics vs. having to explicitly list/hard-code all options ahead of time
- copying/doing the same as how another project/library did it
- limiting how much library consumers/users can control/override
- which component/tool/organization/etc. is responsible for this concern?
- forking to add a desired missing feature/change
- Svelte: components are their own boss (encapsulation)
- trying to prevent one bad thing leading to people doing/choosing an even worse option
- whose responsibility is it?
- control (programming)
- maintenance burden to explicitly define/enumerate/hard-code possible options (explicit interface)
- principle of least surprise
- customizable
- ugly/kludgey
- forced to fork/copy and paste library code because it didn't provide enough customizability/extensibility / didn't foresee some specific prop/behavior that needed to be overridable/configurable (explicit interface)
- workarounds
- who should have control over this? (programming)
Annotators
URL
-
-
svelte.dev svelte.dev
-
github.com github.com
-
Does it look like a decorator plugin in Ractive, right
-
-
github.com github.com
-
The more I think about this, the more I think that maybe React already has the right solution to this particular issue, and we're tying ourselves in knots trying to avoid unnecessary re-rendering. Basically, this JSX... <Foo {...a} b={1} {...c} d={2}/> ...translates to this JS: React.createElement(Foo, _extends({}, a, { b: 1 }, c, { d: 2 })); If we did the same thing (i.e. bail out of the optimisation allowed by knowing the attribute names ahead of time), our lives would get a lot simpler, and the performance characteristics would be pretty similar in all but somewhat contrived scenarios, I think. (It'll still be faster than React, anyway!)
-
-
-
the ability to pass around element names as strings in place of components
-
-
github.com github.com
-
No, this is about using a string to create an element of that tag name.
-
-
-