An open API service indexing awesome lists of open source software.

https://github.com/ogshawnlee/bookmark-landing-page-svelte

Solution to the Bookmark Landing Page challenge by Frontend Mentor. Built with Svelte with the built-in Transition API's + TypeScript + WindiCSS + Malachite UI + Vite.
https://github.com/ogshawnlee/bookmark-landing-page-svelte

Last synced: 3 months ago
JSON representation

Solution to the Bookmark Landing Page challenge by Frontend Mentor. Built with Svelte with the built-in Transition API's + TypeScript + WindiCSS + Malachite UI + Vite.

Awesome Lists containing this project

README

        

# Frontend Mentor - Bookmark Landing Page Solution

This is a solution to the [Bookmark landing page challenge on Frontend Mentor](https://www.frontendmentor.io/challenges/bookmark-landing-page-5d0b588a9edda32581d29158). Frontend Mentor challenges help you improve your coding skills by building realistic projects.

## Table of contents

- [Frontend Mentor - Bookmark Landing Page Solution](#frontend-mentor---bookmark-landing-page-solution)
- [Table of contents](#table-of-contents)
- [Overview](#overview)
- [The challenge](#the-challenge)
- [Screenshot](#screenshot)
- [Links](#links)
- [My process](#my-process)
- [Built with](#built-with)
- [What I learned](#what-i-learned)
- [Useful resources](#useful-resources)
- [Author](#author)

**Note: Delete this note and update the table of contents based on what sections you keep.**

## Overview

### The challenge

Users should be able to:

- View the optimal layout for the site depending on their device's screen size
- See hover states for all interactive elements on the page
- Receive an error message when the newsletter form is submitted if:
- The input field is empty
- The email address is not formatted correctly

### Screenshot

![Desktop View](./screenshots/Screenshot%202022-05-20%20at%2013-56-08%20Frontend%20Mentor%20Bookmark%20Landing%20Page.png)

### Links

- Solution URL: [Right here!](https://www.frontendmentor.io/solutions/fully-animated-and-responsive-bookmark-landing-page-with-malachite-ui-uNmwZOuSD4)
- Live Site URL: [Deployed on Vercel](https://bookmark-landing-page-svelte.vercel.app/)

## My process

### Built with

- Semantic HTML5 markup
- WindiCSS [Grid + Flexbox]
- Mobile-first workflow
- Svelte [Transition API] + TypeScript
- Malachite UI [Accordion | Popover | Tabs]
- Vite

### What I learned

After doing some HTML Validation I learnt that header tags cannot be a descendant of footer tags! So I had to do a quick fix for that.

### Useful resources

- [How to Do an Email Validation in JavaScript?](https://www.simplilearn.com/tutorials/javascript-tutorial/email-validation-in-javascript) - This helped me with the client-side email validation, I only used the RegEX.

## Author

- Frontend Mentor - [@Shawn Lee](https://www.frontendmentor.io/profile/OGShawnLee)