Short review of crossxpost.app
Short review of crossxpost.app for cross-posting from Medium to Hashnode or other platforms.

Search for a command to run...
Short review of crossxpost.app for cross-posting from Medium to Hashnode or other platforms.

Super cool! I'm actually really glad you went out and gave a solid overview of the app.
It's odd how it just scrapes the HTML and gives you that to work with. How does it handle sidebars, footers, and things like that? Does it expect you to edit it within their editor?
I was thinking of just building a web page that you uploaded your markdown file and had little to no editing available, but maybe giving users the ability to edit is an expected feature.
Thanks for the comment, Cody.
Yeah, dealing with that messy HTML is definitely not user friendly.
One of the advantages of Hashnode is the idea that you own the domain and content.
So any solution for me should be aligned with that.
I think you might be able to use Github as the source of the blog then the user can use the Github MD editor and write it there or use their favourite editor.
This way you do not to deal with the editing experience and Github will be the single source of truth.
In the world of software development, the title "Senior Developer" is often seen as a milestone in a developer's career. But what does it truly mean to be a senior developer? It's more than just years of experience or advanced coding skills. Being a ...

Background Answering questions in Auth0 community forum is one of the ways I give back to the community and also learn more about common problems or confusions Auth0 users face. Recently, I came across a question asking how to customize the Auth0 ema...

In the dynamic world of software development, effective knowledge sharing is key to the success and growth of any team. With rapidly evolving technologies and complex projects, it's crucial to have strategies and tools in place to facilitate seamless...

What is PKCE? PKCE (Proof Key for Code Exchange) is an extension to the OAuth 2.0 protocol that prevents authorization code interception attacks. It is a simple, lightweight mechanism that can be implemented in any application that requests an author...

In this article, we look at how to improve the security of a system by implementing Risk-based Authentication. To achieve this we will integrate have i been pwned APIs into our login flow using Auth0 Actions. What is Risk-based Authentication? To put...

Recently I read Cody Bontecou blog about Post to Dev, Hashnode, and Medium using their APIs.
This was something I was curious about as well. Doing some googling, I came across two solutions that seemed to solve the same problems.
The second solution seemed interesting since it's SaaS and seemed to do it with minimum effort, so I decided to test the trial.
Here is the link to the Medium blog for comparison. https://medium.com/lapis/reduce-if-else-using-rxjs-950a5cb50684
I used their import function, which basically asks for the article's URL, and imports it to the crossxpost.app text editor, which seems it's an HTML editor.
They also offer some SEO tools that can suggest optimisation for SEO. In my case, it just said the following, which is not much of help.

To integrate with Hashnode, they ask for a key which was not clear what does that mean. I guessed that it might be the API access key, and I was right.


I intentionally did not edit it to demonstrate what this tool is capable of.
There are some edits possible in the tool. It has a text editor there.


It copies the Medium blog as HTML to Hashnode, and the code is not clean. It is hard to edit. Overall not the best solution. It offered some tags, but the list was limited and missing what I needed. I could type in my tag but would not save it unless it was from the provided list.

This is how the code looks like in my Hashnode editor.

It's not a perfect and polished UI, but it did the job. I prefer to use MD as the source and publish across. So it might still make sense to build a tool that you can write MD and publish across.
It's a nice idea, but it needs improvements to be a solid solution for me.
=====================================================================
The rest of the page is the posted article by crossxpost.app
=====================================================================

Elevate your code series 😊

I am trying to decide where the user should land when they open the app.
The logic in plain English would be something like this:
The code is using TypeScript and Angular but no major dependency on these tech stacks and you can replicate in any other tech stacks like React or Vue easily.
Original code
// From this ================>
public enter(): Subscription {
return this.termsConditionsStateSelector.agreed()
.pipe(
switchMap((termsAgreed) => this.helpStateSelector.viewed()
.pipe(
map((helpViewed) => ({helpViewed, termsAgreed})),
),
),
tap(({ termsAgreed, helpViewed }) => {
if (!termsAgreed) {
this.navCtrl.navigateRoot('/terms-conditions');
} else if (termsAgreed && !helpViewed) {
this.navCtrl.navigateRoot('/help');
} else {
this.navCtrl.navigateRoot('/home');
}
}),
).subscribe();
}Refactored with RxJS
// To this ================> private showTnC(): void {
const showTnC$ = this.termsConditionsStateSelector.agreed()
.pipe(
filter((agree) => !agree),
take(1),
tap(() => this.navCtrl.navigateRoot('/terms-conditions')),
);
showTnC$.subscribe();
} private showIntro(): void {
const showIntro$ = this.termsConditionsStateSelector.agreed()
.pipe(
filter((agree) => agree),
withLatestFrom(this.helpStateSelector.viewed()),
filter(([, viewed]) => !viewed),
take(1),
tap(() => this.navCtrl.navigateRoot('/help')),
);
showIntro$.subscribe();
} private showHome(): void {
const showHome$ = this.helpStateSelector.viewed()
.pipe(
filter((viewed) => viewed),
take(1),
tap(() => this.navCtrl.navigateRoot('/home')),
);
showHome$.subscribe();
} public enter(): void {
this.showTnC();
this.showIntro();
this.showHome();
}
What do you think about the readability of code in these 2 examples?
To me first one is easier from understanding the control flow but the second one is more modular and functional.
I like the second one better because:
=====================================================================
End of posted article by crossxpost.app
=====================================================================
I think what Cody has done is on the right track and can be a good solution. As mentioned before, I would prefer to have an app with a similar editor to my Hashnode blog.
This app would be the main place to write the article and publish it so other platforms.
Having such a solution will definitely help to avoid copy/paste across blogging platforms but still, to get the most out of your Hashnode, you might need to come back to Hashnode and do some final touches.
I did not test the first solution, but it also works similarly to ask for your article URL to cross-post. So most probably, the second platform will receive an HTML version that is not the source.
Maybe this can be a cool feature that Hashnode offers. 🤷♂️
I hope this was helpful if you were looking for a similar solution.
Thanks for reading. I am available if you have any questions. Leave me a comment here or DM me on Twitter.
Twitter: _pazel