Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

Sorry, you do not have permission to ask a question, You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please type your username.

Please type your E-Mail.

Please choose an appropriate title for the post.

Please choose the appropriate section so your post can be easily searched.

Please choose suitable Keywords Ex: post, video.

Browse

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise

Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise Logo Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise Logo

Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise Navigation

  • Home
  • About Us
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • About Us
  • Contact Us
Home/ Questions/Q 735

Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise Latest Questions

Author
  • 62k
Author
Asked: November 25, 20242024-11-25T01:38:08+00:00 2024-11-25T01:38:08+00:00

Visually building websites

  • 62k

My name is Aaron and I've been writing web applications since 2011. In that time I've worked with Java, Javascript, Python, XSLT, React, Knockout.js, Backbone.js, Rails, Elixir/ Phoenix, Next.js, Remix.js and more.

In all the frameworks, I kept running into the same issues…

The Problem

Writing HTML and CSS by hand requires a lot of:

  • Domain knowledge
  • Troubleshooting
  • Open Documentation tabs
  • Time

While writing user interfaces can be very fun and rewarding, I found that too much of my time building new applications was spent re-learning the same patterns and re-writing the same HTML. Not only that but after talking with peers, I found many software developers didn't feel confident making good looking web pages because of the HTML and CSS knowledge barrier. Many would write the code, but always get confounded when the browser gave them different results than what was expected (“How do I vertically center this thing???”).

Existing tools

After some research, I found tools that were visual (like Elementor) and had templates for code re-use, but lacked tools that made them useful for my web development workflow. I wanted a tool that:

  • Has templates and a drag and drop page builder
  • Works with my CSS framework of choice
  • Exports clean code (No unnecessary inline styles or machine-generated classes)
  • Is configurable and grows with my project

The Solution

I started work on ProductDiv in July of 2021. It went through many design iterations to finally become a productive tool for web development.

ProductDiv is an open-source library for developing web applications quickly, with any CSS framework. It accomplishes this by running entirely on configuration!

Has templates and a drag and drop page builder

In ProductDiv, you can write re-usable templates and include them in your configuration. A simple template definition is a simple as:

const myTemplate = {   name: 'Test',   htmlTemplate: '<h1>Hello World!</h1>',   tags: ['Test'], } 
Enter fullscreen mode Exit fullscreen mode

Any template can be previewed inside your page, meaning if you make changes in your CSS, they are reflected in your template!

Works with my CSS framework of choice

The real magic of ProductDiv is in its configuration. Since more and more CSS frameworks have moved towards using utility classes, I wanted to design an experience for easily selecting and applying them to existing elements. With a little configuration, you can encapsulate any utility class like so:

const themeBreakpoints = "sm|md|lg|xl|xxl";  export const MarginStart = {   name: "Margin Start",   type: "selectMany",   classes: [     "ms-(0|1|2|3|4|5|auto)",     `ms-(${themeBreakpoints})-(0|1|2|3|4|5|auto)`,   ],   tags: ["Spacing", "Margin"],   selectors: ["h1"] }; 
Enter fullscreen mode Exit fullscreen mode

This example configuration is what is needed to encapsulate all of Bootstrap 5's Margin End classes. Its name is shown in the editor, many of them can be selected at once, and the shorthand classes syntax is expanded at runtime to save time. For example m-(1|2) will be expanded to: m-1 and m-2. The selectors option allows you to match utility classes to elements! In this exmaple, if you clicked a h1 tag, it would show our Margin Start utility class at the top. In the ProductDiv editor, now you can apply these classes to any element you want. Hovering over any of the options applies it to the element you're editing so you never have to second-guess which class you need!

Exports clean code (No unnecessary inline styles or machine-generated classes)

The beauty of ProductDiv and its configuration allows you to generate code at the same quality you would write it by hand. Templates copy out exactly as they came in, and utility classes help you avoid inline styles everywhere and lead to a more consistent code base.

Is configurable and grows with my project

Since ProductDiv is entirely configuration-based, it grows as you do. Need to encapsulate a new design element? Make a template. Pull in an icon library? Write a simple utility class definition. ProductDiv's easy to use interface lets you spend more time designing and less time digging through documentation.

How do I get started?

To learn more about the editor, take a look at the tutorial.Check out the ProductDiv documentation for instructions on how to add ProductDiv to your project. If you would like to save time on your next application, please check out our Bootstrap PRO project that includes everything you need for building your next application quickly with Bootstrap 5!

htmlopensourceproductivitywebdev
  • 0 0 Answers
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

Sidebar

Ask A Question

Stats

  • Questions 4k
  • Answers 0
  • Best Answers 0
  • Users 2k
  • Popular
  • Answers
  • Author

    ES6 - A beginners guide - Template Literals

    • 0 Answers
  • Author

    Understanding Higher Order Functions in JavaScript.

    • 0 Answers
  • Author

    Build a custom video chat app with Daily and Vue.js

    • 0 Answers

Top Members

Samantha Carter

Samantha Carter

  • 0 Questions
  • 20 Points
Begginer
Ella Lewis

Ella Lewis

  • 0 Questions
  • 20 Points
Begginer
Isaac Anderson

Isaac Anderson

  • 0 Questions
  • 20 Points
Begginer

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help

Footer

Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise

Querify Question Shop: Explore, ask, and connect. Join our vibrant Q&A community today!

About Us

  • About Us
  • Contact Us
  • All Users

Legal Stuff

  • Terms of Use
  • Privacy Policy
  • Cookie Policy

Help

  • Knowledge Base
  • Support

Follow

© 2022 Querify Question. All Rights Reserved

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.