As a result, I notably had to create a custom, generic lazy-loaded modal.
This article has been published in November 2020. The solution has been tested with Angular v11 and Tailwind v2.
This tutorial describes the creation of a generic dialog with Angular and Tailwind CSS. By generic, I mean that the goal is the creation of a dialog’s container which can be reused several times in the application, with different content, without the need to rewrite everything multiple times. …
Once upon a time, there was a compiler that generates Web Components and builds high performance web apps called StencilJS. Among all the build-time tool ever created, it had for goal to build faster, more capable components that worked across all major frameworks.
On the internet next door, there lived a boy (me 😉). And the boy watched the compiler grow more and more effective, more and more developer friendly with each passing year.
One day, as he was developing something new in his beloved project DeckDeckGo, the boy had the idea to experiment a feature of the compiler he had never tried so far, the integration of Web Workers. …
We have received thirty-two Pull Requests which not only helped us to solve features and issues but definitely pushed forward our editor for slides 🚀.
We would like to thank once again each and every person who gave us a hand and, the least we can do, give them credits back by listing here afterwards all their amazing work!
Note: following contributions are sort by date ascendant.
We aim to be transparent. …
One of my current client requested a list of the bare minimum information required to publish their app in the App Store and Google Play. Once again, I did not remember where I saved such check-list 😅.
That’s why, instead of charging them for such process, I had the idea to wrap up these information in form of a public blog post I’ll try, hopefully with your help and inputs, to maintain up-to-date.
This blog post has been updated for the last time Tuesday 3rd November 2020.
Following questions have to be answered in order to distribute the app in both App Store and Google…
This morning I had to improve a function we used in DeckDeckGo to recursively clean objects after persistence. Because I am currently quite busy but would not like to push my blogging habits too much on the side, I got the idea that this small “hack” would be a nice subject for a new blog post 🤗.
For example, your database contains a document such as the following:
description: 'Hello World'…
Implementing a state management in modern web Angular applications can be tricky.
In both cases, libraries or custom, RxJS is used 🤷♂️.
Even though RxJS is a wonderful piece of technology, is nowadays a de facto standard when it comes to Angular development, and installed per default with almost any starter kits, it can be still opted-out. …
We recently released an exciting new feature at DeckDeckGo.
In addition to being able to deploy your presentations online as progressive web apps, our web open-source editor can now push your source code to GitHub, too.
This new function runs on Cloud Functions for Firebase. Because we like to share our discoveries, here are the key things we learned while developing this integration.
To interact with GitHub, we need a token.
If you’re looking to interact with GitHub with your account, you can use a personal access token. Once created, you can set it in the configuration of our Firebase functions. …
As I was looking to protect its access, in order to avoid sneaky requests, I followed one of my previous blog post to protect it with the help of a bearer.
Once I tested this first step of the feature, I actually noticed that it was not the correct solution for my use case. I rather had to grant the access using the users tokens.
It will probably sound silly for those who know the solution, but it actually took me quite some time to find how to verify the tokens of the users in Firebase Cloud Functions. …
As you can probably imagine, at DeckDeckGo, we do not have any collaborators who checks that the publicly, published, slides have descent content. Neither have we have implemented a machine learning robot which would do so, yet.
I am taking care of such a task manually. I have to add, it makes me happy to do so. All the presentations published so far are always interesting.
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it. — MDN web docs
Without a clear explanation on why nor when,
document.execCommand() has been marked as obsolete in the MDN web docs. Fun fact, it is not marked as deprecated in all languages, as for example French or Spanish which do not mention anything 😜.
Because it may be future proof to proactively replace its usage by a custom implementation, I spent quite some time re-implementing it 😄. …