# React Native + NativeWind Template A minimal but robust template for React Native projects using NativeWind (TailwindCSS), Expo Router, and TypeScript with built-in dark/light theme support. ## π Quick Start ```sh git clone https://github.com/SalehAhmed10/Expo-ReactNative-NativeWind-Tailwind-Template.git ``` ``` cd Expo-ReactNative-NativeWind-Tailwind-Template npm install npx expo start ``` ## π¦ What's Included - β‘οΈ Expo Router for navigation - π¨ NativeWind (TailwindCSS) for styling - π Dark/Light theme with system sync - π± Responsive design ready - π TypeScript for type safety ## π¨ Theme System The template includes a complete theme system with: - System theme detection - Manual theme toggle - HSL color system with opacity support - Consistent styling across light/dark modes ## β οΈ Known Issues & Fixes ### 1. NativeWind Babel Error **Fix**: Use NativeWind version 2.0.11 json { "dependencies": { "nativewind": "^2.0.11" } } ## π Project Structure βββ app/ β βββ layout.tsx # Root layout with theme provider β βββ index.tsx # Home screen β βββ +not-found.tsx # 404 page βββ components/ β βββ ThemeToggle.tsx # Theme toggle component βββ context/ β βββ ThemeProvider.tsx # Theme management βββ babel.config.js βββ tailwind.config.js # Theme configuration βββ tsconfig.json ## π Configuration Files ### tailwind.config.js Contains theme colors and configuration. Modify this file to customize your color scheme. ### babel.config.js Includes necessary configuration for NativeWind. ## π± Supported Platforms - iOS - Android - Web (with appropriate configuration) ## π License MIT ## π€ Contributing Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Read Post Here# HELLO WORLD ### pragraph > assadadasdassssssssssd *** *** ```js const text = "hello" ``` --- ``` asdadasdsad ``` ![image](https://images.pexels.com/photos/540518/pexels-photo-540518.jpeg)
Read Post Here![Detail Image](https://strapi.dhiwise.com/uploads/618fa90c201104b94458e1fb_650d1414170ffa547fc80eec_Everything_You_Need_to_Know_About_React_Markdown_Editors_Main_Image_bf6ab23aa7.jpg?w=3840&q=75) React Markdown Editor, also known as a react markdown, is a powerful tool that developers use to write and edit markdown text. This editor is a simple markdown editor that offers a wide range of features, including syntax highlighting, markdown preview, and markdown support style customization. The react markdown editor is a component of the UIW React MD Editor, a popular markdown editor component library. React Markdown Editor is a modern code editor that supports a variety of markdown syntax. It is designed to be easy to use, with a user-friendly interface and a variety of customization options. The React markdown editor is a perfect tool for developers who want to write markdown text with ease and efficiency. ### Understanding the Basics of Markdown Editor A markdown editor is a text editor designed specifically for editing markdown text. Markdown is a lightweight markup language that you can use to add formatting elements to plaintext text documents. It is designed to be easy to read and write, making it a popular choice for writing readme files, documentation, and more. Markdown editors, like the React Markdown editor, offer a variety of features to make writing and editing markdown text easier. These include syntax highlighting, which makes it easier to read and understand the code, and markdown preview, which allows you to see what your markdown text will look like once it's rendered.
Read Post Here# [react-markdown](https://www.npmjs.com/package/react-markdown#react-markdown) [![Build](https://github.com/remarkjs/react-markdown/workflows/main/badge.svg)](https://github.com/remarkjs/react-markdown/actions) [![Coverage](https://camo.githubusercontent.com/309067738fcaecc1a1ad533f432b8dae3cfadbde833e0acc986df58ab12637c2/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f72656d61726b6a732f72656163742d6d61726b646f776e2e737667)](https://codecov.io/github/remarkjs/react-markdown) [![Downloads](https://camo.githubusercontent.com/2368790bd3d7c9b3d9ff34d0feb924a6333d1d6d7af81310cb74920eae90a09a/68747470733a2f2f696d672e736869656c64732e696f2f6e706d2f646d2f72656163742d6d61726b646f776e2e737667)](https://www.npmjs.com/package/react-markdown) [![Size](https://camo.githubusercontent.com/34394cc46ae415c1b43e6e686f15493b031023d86864de70d91252a94e279ce7/68747470733a2f2f696d672e736869656c64732e696f2f62756e646c656a732f73697a652f72656163742d6d61726b646f776e)](https://bundlejs.com/?q=react-markdown) [![Sponsors](https://camo.githubusercontent.com/3d801487a7570a627780b2e75af3b7f07239ebb2b91e850e8e5a3eeddb91ff58/68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f756e69666965642f73706f6e736f72732f62616467652e737667)](https://opencollective.com/unified) [![Backers](https://camo.githubusercontent.com/f5ea613d33171557007b46e32a55a43f9fbf0ad19059fc396c4be556ebf093b7/68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f756e69666965642f6261636b6572732f62616467652e737667)](https://opencollective.com/unified) [![Chat](https://camo.githubusercontent.com/f28d582b8e09c11e9852250fcb90ba3b464842dc2bbb8ae38bb28e900a0267e8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636861742d64697363757373696f6e732d737563636573732e737667)](https://github.com/remarkjs/remark/discussions) React component to render markdown. ## [Feature highlights](https://www.npmjs.com/package/react-markdown#feature-highlights) - \[x\] **[safe](https://www.npmjs.com/package/react-markdown#security) by default** (no `dangerouslySetInnerHTML` or XSS attacks) - \[x\] **[components](https://www.npmjs.com/package/react-markdown#appendix-b-components)** (pass your own component to use instead of `<h2>` for `## hi`) - \[x\] **[plugins](https://www.npmjs.com/package/react-markdown#plugins)** (many plugins you can pick and choose from) - \[x\] **[compliant](https://www.npmjs.com/package/react-markdown#syntax)** (100% to CommonMark, 100% to GFM with a plugin) ## [Contents](https://www.npmjs.com/package/react-markdown#contents) - [What is this?](https://www.npmjs.com/package/react-markdown#what-is-this) - [When should I use this?](https://www.npmjs.com/package/react-markdown#when-should-i-use-this) - [Install](https://www.npmjs.com/package/react-markdown#install) - [Use](https://www.npmjs.com/package/react-markdown#use) - [API](https://www.npmjs.com/package/react-markdown#api) - [`Markdown`](https://www.npmjs.com/package/react-markdown#markdown) - [`defaultUrlTransform(url)`](https://www.npmjs.com/package/react-markdown#defaulturltransformurl) - [`AllowElement`](https://www.npmjs.com/package/react-markdown#allowelement) - [`Components`](https://www.npmjs.com/package/react-markdown#components) - [`ExtraProps`](https://www.npmjs.com/package/react-markdown#extraprops) - [`Options`](https://www.npmjs.com/package/react-markdown#options) - [`UrlTransform`](https://www.npmjs.com/package/react-markdown#urltransform) ## [Use](https://www.npmjs.com/package/react-markdown#use) A basic hello world: ```js import React from 'react' import {createRoot} from 'react-dom/client' import Markdown from 'react-markdown' const markdown = '# Hi, *Pluto*!' createRoot(document.body).render(<Markdown>{markdown}</Markdown>) ``` Show equivalent JSX ```js <h1> Hi, <em>Pluto</em>! </h1> ``` Here is an example that shows how to use a plugin ([`remark-gfm`](https://github.com/remarkjs/remark-gfm), which adds support for footnotes, strikethrough, tables, tasklists and URLs directly): ```js import React from 'react' import {createRoot} from 'react-dom/client' import Markdown from 'react-markdown' import remarkGfm from 'remark-gfm' const markdown = `Just a link: www.nasa.gov.` createRoot(document.body).render( <Markdown remarkPlugins={[remarkGfm]}>{markdown}</Markdown> ) ```
Read Post Here# [react-markdown](https://www.npmjs.com/package/react-markdown#react-markdown) [![Build](https://github.com/remarkjs/react-markdown/workflows/main/badge.svg)](https://github.com/remarkjs/react-markdown/actions) [![Coverage](https://camo.githubusercontent.com/309067738fcaecc1a1ad533f432b8dae3cfadbde833e0acc986df58ab12637c2/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f72656d61726b6a732f72656163742d6d61726b646f776e2e737667)](https://codecov.io/github/remarkjs/react-markdown) [![Downloads](https://camo.githubusercontent.com/2368790bd3d7c9b3d9ff34d0feb924a6333d1d6d7af81310cb74920eae90a09a/68747470733a2f2f696d672e736869656c64732e696f2f6e706d2f646d2f72656163742d6d61726b646f776e2e737667)](https://www.npmjs.com/package/react-markdown) [![Size](https://camo.githubusercontent.com/34394cc46ae415c1b43e6e686f15493b031023d86864de70d91252a94e279ce7/68747470733a2f2f696d672e736869656c64732e696f2f62756e646c656a732f73697a652f72656163742d6d61726b646f776e)](https://bundlejs.com/?q=react-markdown) [![Sponsors](https://camo.githubusercontent.com/3d801487a7570a627780b2e75af3b7f07239ebb2b91e850e8e5a3eeddb91ff58/68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f756e69666965642f73706f6e736f72732f62616467652e737667)](https://opencollective.com/unified) [![Backers](https://camo.githubusercontent.com/f5ea613d33171557007b46e32a55a43f9fbf0ad19059fc396c4be556ebf093b7/68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f756e69666965642f6261636b6572732f62616467652e737667)](https://opencollective.com/unified) [![Chat](https://camo.githubusercontent.com/f28d582b8e09c11e9852250fcb90ba3b464842dc2bbb8ae38bb28e900a0267e8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636861742d64697363757373696f6e732d737563636573732e737667)](https://github.com/remarkjs/remark/discussions) React component to render markdown. ## [Feature highlights](https://www.npmjs.com/package/react-markdown#feature-highlights) - \[x\] **[safe](https://www.npmjs.com/package/react-markdown#security) by default** (no `dangerouslySetInnerHTML` or XSS attacks) - \[x\] **[components](https://www.npmjs.com/package/react-markdown#appendix-b-components)** (pass your own component to use instead of `<h2>` for `## hi`) - \[x\] **[plugins](https://www.npmjs.com/package/react-markdown#plugins)** (many plugins you can pick and choose from) - \[x\] **[compliant](https://www.npmjs.com/package/react-markdown#syntax)** (100% to CommonMark, 100% to GFM with a plugin) ## [Contents](https://www.npmjs.com/package/react-markdown#contents) - [What is this?](https://www.npmjs.com/package/react-markdown#what-is-this) - [When should I use this?](https://www.npmjs.com/package/react-markdown#when-should-i-use-this) - [Install](https://www.npmjs.com/package/react-markdown#install) - [Use](https://www.npmjs.com/package/react-markdown#use) - [API](https://www.npmjs.com/package/react-markdown#api) - [`Markdown`](https://www.npmjs.com/package/react-markdown#markdown) - [`defaultUrlTransform(url)`](https://www.npmjs.com/package/react-markdown#defaulturltransformurl) - [`AllowElement`](https://www.npmjs.com/package/react-markdown#allowelement) - [`Components`](https://www.npmjs.com/package/react-markdown#components) - [`ExtraProps`](https://www.npmjs.com/package/react-markdown#extraprops) - [`Options`](https://www.npmjs.com/package/react-markdown#options) - [`UrlTransform`](https://www.npmjs.com/package/react-markdown#urltransform) ## [Install](https://www.npmjs.com/package/react-markdown#install) This package is [ESM only](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c). In Node.js (version 16+), install with [npm](https://docs.npmjs.com/cli/install): ```shell npm install react-markdown ``` In Deno with [`esm.sh`](https://esm.sh/): ```js import Markdown from 'https://esm.sh/react-markdown@9' ``` In browsers with [`esm.sh`](https://esm.sh/): ```html <script type="module"> import Markdown from 'https://esm.sh/react-markdown@9?bundle' </script> ``` ## [Use](https://www.npmjs.com/package/react-markdown#use) A basic hello world: ```js import React from 'react' import {createRoot} from 'react-dom/client' import Markdown from 'react-markdown' const markdown = '# Hi, *Pluto*!' createRoot(document.body).render(<Markdown>{markdown}</Markdown>) ``` Show equivalent JSX ```js <h1> Hi, <em>Pluto</em>! </h1> ``` Here is an example that shows how to use a plugin ([`remark-gfm`](https://github.com/remarkjs/remark-gfm), which adds support for footnotes, strikethrough, tables, tasklists and URLs directly): ```js import React from 'react' import {createRoot} from 'react-dom/client' import Markdown from 'react-markdown' import remarkGfm from 'remark-gfm' const markdown = `Just a link: www.nasa.gov.` createRoot(document.body).render( <Markdown remarkPlugins={[remarkGfm]}>{markdown}</Markdown> ) ```
Read Post Here# Hello Post This article comes from a recent self-reflection on the things I wish I had started doing earlier in my career and the things I wish I had done differently. What I am sharing here may be useful to any junior to mid-level developer who wishes to improve and progress toward the title of senior and beyond. **Table of Contents** Β· My Career Evolution Β· Things I Wish I Had Started Doing Earlier: β [Write a Work Log](https://betterprogramming.pub/advices-from-a-software-engineer-with-8-years-of-experience-8df5111d4d55#ca42) β [Leave the Comfort Zone](https://betterprogramming.pub/advices-from-a-software-engineer-with-8-years-of-experience-8df5111d4d55#faae) β [Be Curious About Other Teams and Projects](https://betterprogramming.pub/advices-from-a-software-engineer-with-8-years-of-experience-8df5111d4d55#faae) β [Join the On-call Team](https://betterprogramming.pub/advices-from-a-software-engineer-with-8-years-of-experience-8df5111d4d55#e17e) β [Change Teams](https://betterprogramming.pub/advices-from-a-software-engineer-with-8-years-of-experience-8df5111d4d55#582f) β [Write Blog Posts](https://betterprogramming.pub/advices-from-a-software-engineer-with-8-years-of-experience-8df5111d4d55#1cc4) Β· Things I Wish I Had Done Differently: β [Be Careful When Introducing New Things to the Team](https://betterprogramming.pub/advices-from-a-software-engineer-with-8-years-of-experience-8df5111d4d55#0fca) β [Do Not Let Your Emotions Take Over in Front of the Team](https://betterprogramming.pub/advices-from-a-software-engineer-with-8-years-of-experience-8df5111d4d55#19f9) β [Dip a Foot Into the Hiring Market](https://betterprogramming.pub/advices-from-a-software-engineer-with-8-years-of-experience-8df5111d4d55#19f9) Β· [End Thoughts](https://betterprogramming.pub/advices-from-a-software-engineer-with-8-years-of-experience-8df5111d4d55#b38a) # My Career Evolution Before diving into the main subject, here is my career evolution: 1. I interned for three months at a startup (which quickly became a scale-up) company. 2. After that, I did a full year of work-study, spending three months at school and nine months at work. 3. Then, I got hired as a full-time software engineer and kept this title for three and a half years. 4. Quickly after the introduction of the tech career ladder, I got promoted to senior software engineer. I kept this title for three years until I left the company, at which point the tech teams accounted for approximately 200 people. 5. I joined as a software engineer 2 at a company with thousands of tech employees. Despite the title downgrade at the second company (see [Big Tech Hiring is Conservative β But Why?](https://www.youtube.com/watch?v=cQVFYVMhPlw)), I have been trying to keep the same responsibilities (and more) as before.
Read Post Here# Things I Wish I Had Started Doing Earlier A work log is a document that contains the list of tasks you accomplished. The granularity and the type of tasks donβt matter, as long as you keep track of what you did. Why is this work log important? For the following two reasons: - To remind yourself of all the things you have done over the past 6 to 12 months. This is very valuable during performance reviews, so you can show your manager what you have accomplished and why you deserve that raise or promotion. - To keep track of projects, notable responsibilities, and critical numbers (e.g., decreased latency by X% for a critical service) that you had over your career. This is great for completing your resume, whenever you want to venture into the waters of the hiring ## Join the on-call team This one may feel controversial, and it may not even be possible at your company. Of course, you should consider this advice only if your company has a healthy on-call environment (see [On-call Compensation for Software Engineers](https://blog.pragmaticengineer.com/oncall-compensation/)). The on-call team is composed of people who are willing to intervene if something goes wrong during and outside business hours, i.e., at night, during weekends, and on bank holidays. Your company may have a dedicated team of SREs (Site Reliability Engineers) for it, and/or your team may not be responsible for [DevOps work](https://aws.amazon.com/devops/what-is-devops/).
Read Post HereSign up for Contentful Click here to Sign Up Here When you start poking around Contentful, you might get a strange failure feeling, daja vue perhaps, or is it just that it looks exactly like the Wordpress Admin? Contentful is very clean, easy to navigate, and it looks and feels a lot like Wordpress. As much as hate to admit, I love it and thats an amazing thing because I loth Wordpress. To be fair, I donβt hate Wordpress for its UX, I hate it because its slow and built on what looks like hacked together PHP, and lets face it, no one actually likes PHP. Not even the creator of PHP. The Concept Contentful is content management as a service (CaaS), this replaces the need to have to connect your site to that terrible MySQL database hosted on some crappy Apachy Server, where you have to install phpMyAdmin and spend hours trying to figure out cPanel. --- <!-- Hello --> **The Data** There are two parts to your data, the structure and ``` <MDEditor value={content} onChange={setContent} className="min-h-[500px]" /> <MDEditor.Markdown source={content} style={{ whiteSpace: "pre-wrap" }} /> ``` data. Itβs basically a really nice web form the converts to simple json. You have to first set up your form the in Content Model, then you can hop over to Content and fill out your forms, each form becomes an item in the models array of data sent via rest end points. 1. Let start by making a Blog Model 2. Add in three fields: Title, Path, and Content - no one actually likes PHP. Not even the creator of PHP. - no one actually likes PHP. Not even the creator of PHP.
Read Post Here