tail

Leading Online Optical Retailer GlassesUSA.com Releases 2023 Fashion Trends Report, Highlighting Women's and Men's Glasses and Sunglasses Trends That Will Be Popular in 2023

With detailed research and shopping trends analyzed from 2021 and 2022, and via surveys and analysis, learn more about GlassesUSA.com's newly found trend report




tail

"Bdóte" YA/teen Poetry and Prose by Angela Ellen Grey and Editor Paige Peterson is Available Now at All Major Online Retailers

The authors of Spirit Pass and Missing and Murdered Indigenous Women & Girls, a Native American series about MMIWG, have published their latest YA/teen book of poetry and prose.




tail

Marquis Who's Who Honors Glorisel Lugo for Expertise in the Retail Industry

Glorisel Lugo is noted for her tenure in retail management and entrepreneurship




tail

Marquis Who's Who Honors Fulvio Salman Manente for Expertise in Retail

Fulvio Salman Manente serves as the global vice president of retail solutions at Softtek




tail

[Korea Contactless Technology] Development of a Rehabilitation Program Tailored to Patients with VR Childhood Cerebral Palsy

Providing effective customized treatment programs and presenting a new treatment paradigm.




tail

Celebrating Lightailing 5th Anniversary: Get Your Discount Now

Buy Light Kits For LEGO® With 50% Off




tail

Briksmax and Lightailing's 6th Anniversary Sale for AFOLs. Up to 40% Off, Sep 23-28!

Discover Premium Lego Light Kits, Exclusive Discounts, and Exciting Group-Only Giveaways.




tail

King K Shots Announces Exciting Deal - Free Box for Qualifying Retailers

Innovative Energy Supplement Company Offers Risk-Free Trial of King K Gold, Ultra-Potent Kratom Shot




tail

GROCERY RETAILERS IN TOP POSITION FOR FUNCTIONAL BEVERAGE PURCHASES

Functional Beverage Market Growth Expected to Reach $225 Billion by 2027




tail

Porter on Peachtree in Brookhaven, GA Achieves 100% Retail Occupancy

Project's exclusive landlord leasing representative Kelly Wilson of Ackerman Retail completes lease with Sucré; Ackerman Retail's Brian Lefkoff and Stephany Cruz represent tenant in the lease signing




tail

From Retail Management to Bio-Cleaning Services - New Franchisee Owner, Matthew Nizzi, Opens His Second Spaulding Decon Location in Beaufort, SC

Celebrating the Grand Opening of our Beaufort County, SC Location




tail

Mileseey Technology Inc., to Launch The World's First Modular Digital Laser Tape Measure Tailored to Creativity

The Pinnacle of Tape Innovation




tail

"Echoes at Midnight" by Angela Grey & Paige Peterson is Available Now at All Major Online Retailers

The authors of the "Madness & Mayhem: Deadly Darkness in the Dry Tortugas" and "Dancing Without Music", a YA coming-of-age novel about mental illness, have released their latest mystery set in the north country.




tail

"Madness & Mayhem: Deadly Darkness in the Dry Tortugas" by Angela Grey & Paige Peterson is Available Now at All Major Online Retailers

The authors of the Echoes in the North Country Series and "Dancing Without Music", a YA coming-of-age novel about mental illness, have released their latest mystery set in the Dry Tortugas, off Key West.




tail

Softailed Revolutionizes Software Selection with New Platform Launch

A groundbreaking set of tools from Softailed streamlines the software selection process. It saves time, increases efficiency, and empowers better decision-making.




tail

Zen Kratom Empowers Kratom Retailers with Online Marketing and Website Solutions for Carrying Their Premium Products

Revolutionize Your Business with Zen Kratom's Exclusive Online Marketing and Website Offer




tail

Softhread Inc. Announces Prestigious NSF Phase II SBIR Grant to Fund Development of Chios™ QR-Exchange Platform Tailored to Address Complex Healthcare Interoperability and Data Exchange Challenges

Artificial Intelligence-Enabled and Blockchain-Powered Innovative Technology Platform Catalyzing a Major Shift Towards Precision Health and Personalized Medicine.




tail

Innovative Visionary Vineet Byakod Leads ThinkNow's Expansion with a Focus on Delivering Tailored Marketing Solutions

Vineet Byakod Leads ThinkNow's Expansion with a Focus on Delivering Tailored Marketing Solutions




tail

Marquis Who's Who Honors Adam G. Cunningham for Expertise in Retail and Marketing

Adam G. Cunningham excels in advertising and market research in his leading role at Academy Sports + Outdoors




tail

Top Motivational Speaker And Bestselling Author Rocky Romanella On How To Avoid Micromanagement And Getting Bogged Down In Details, Leading To Improved Team Performance

Renowned as a keynote speaker, trainer, and Forbes Contributor, Romanella founded 3SIXTY Management Services, LLC. With 40+ years in leadership, he served as CEO and Director at UniTek Global Services after a 36-year UPS career.




tail

Motiva Unveils Motiva Generator™ Private Label for Enterprises Seeking Tailored, Private LLMs

New product addresses Large Language Model data security and privacy, offering per-customer solutions - a first in MarTech.




tail

Musk Case Against Microsoft and OpenAI Gains Support: Amicus Brief Motion Details Human Extinction Risks

Humanitarian Medical Expert Alerts Court to Bio-Hacking Urgency




tail

Terrorism and Armed Conflict in Democratic Republic of the Congo Worsening, Details Maryland International Research Firm Brief

Report Includes Section on Mineral Exploitation and Conflict in the DRC




tail

Aaron's War, Bestselling Historical Fiction Ebook Detailing A Jewish Soldier's Moral Dilemma And Struggles With PTSD During WWII, Available At No Charge September 17 Through September 19, 2024

McMaster deftly weaves WWII, a coming of age Ukrainian, antisemitism, forbidden marriage, PTSD, and substance abuse into a masterpiece of a novel that delivers a breathtaking story of love, courage, and sacrifice.




tail

UK's biggest home spa retailer rebrands due to unrivalled growth and success

A new leading name to reflect our leading service and items




tail

Terani Couture Announces 'Virtual Appointment' to Become A Retailer

Virtual Appointment




tail

Bestselling Historical Fiction Ebook, Aarons War, Detailing A Jewish Soldier's Moral Dilemma And Struggles With PTSD During WWII, Available At No Charge October 22 Through October 24, 2024

Aaron's War is a masterful piece of writing that will likely take its place as one of the best WWII historical fiction novels ever written. McMaster deftly weaves coming of age, antisemitism, PTSD, and substance abuse into a masterpiece of a novel.




tail

Owl Badges Introduces Custom Embroidered Badges Designer: The Detail that Distinguishes Police Uniforms

Law enforcement patches that should be respected.




tail

Team Tractor Ranch, Leader in Women's Hiring Movement, Wins TYM's Prestigious 'Top Retailer of the Year' Award

Fighting for Women's Rights and Eliminating Sexism In the Tractor Industry and Beyond!




tail

Tailored Netflix, Disney+, HBO, Hulu, Amazon Prime Video Offline Viewing with iMovieTool Video Downloader

TunesBank has launched a new program called iMovieTool Video Downloader, designed to help users download videos from various OTT sites for offline viewing, let's enjoy a HD movies offline on any device, anytime and anywhere.




tail

Marquis Who's Who Honors Michael S. Tomlinson for Expertise in Retail Office Equipment and Management Services

Michael S. Tomlinson is a dedicated professional as Director of Sales at Elite Imaging Systems




tail

Auto Detail Now Revolutionizes Vehicle Protection with Advanced Ceramic Coatings

Auto Detail Now, a premier mobile detailing service in San Diego, is proud to announce the launch of its advanced ceramic coating services.




tail

Tigertail Asian Film Festival Debuts in Tampa, Celebrates Asian Cinema

Tampa Bay's first Asian-inspired film festival. Organized by Tian Liu of Tigertail Pictures, the event showcased 28 local and international short films alongside one international feature film, celebrating the rich cultural heritage and storytelling




tail

Marquis Who's Who Honors Martha Ami Plessinger for Expertise in Retail and Art

Martha Ami Plessinger is recognized for her success at Northwood Books




tail

Marquis Who's Who Honors Maria Ilinca Browne for Expertise in Interior Design and Retail

Maria Ilinca Browne is a noteworthy entrepreneur who has excelled in creating creative solutions and experiences




tail

Ackerman & Co. Partnering with Novare Group on Retail Project in Sugar Hill, GA

Retail development adjacent to 306-unit Conclave Sugar Hill will bring mix of restaurants and shops




tail

Amptive Reveals the Top POS Systems for Jewelry Retailers

Learn from Amptive what POS systems will be your best option for your jewelry industry business.




tail

Mastiff Equity Partners Announces Acquisition Of Multi-Tenant Retail Property In Saugatuck, Michigan

302 Culver Street is a popular dining destination located in the heart of downtown Saugatuck




tail

Marquis Who's Who Honors Gilbert Rucas for Expertise in Retail Management

Building on 25+ years of experience, Gilbert Rucas serves as the vice president of planning for Mackage




tail

Let's Run Local is Accelerating Small Business Growth with Tailored Digital Marketing Strategies

Let's Run Local offers effective, tailored digital marketing services to boost visibility and performance for small businesses.




tail

Cocktails for Cutz: May 29th, 2024! The Backpack Barber Foundation hosts the 3rd Annual Networking and Mixer Event. Post-work, chill, and celebrate the spirit of giving back to our community!

Step into an evening of camaraderie and compassion! This year, our mission is bold: to distribute 1,600 backpacks brimming with essentials to those in our community facing homelessness, underscoring our firm belief in the strength of communal aid.




tail

Marcos Armenta Introduces Drinks and Dirty Ink: A Spirited Journey Through Temptation and Cocktails

A Provocative Cocktail Recipe Book That Fuses Bold Flavors with the Artistry of Tattoo Culture.




tail

Elizabeth Graham Reveals New Details About the Relationship Between Donald Trump and Russia In Bestselling Ebook 'From Democracy To Democrazy'

Graham's new book is an intriguing and informative "must read" from a woman who is probably the best-informed American on the terrifying realities concerning Vladimir Putin's motivations and his control over Trump.




tail

UK retailer ASOS & Microsoft sign 3-Year AI-Driven partnership

ASOS has signed a three-year deal with Microsoft to boost efficiency and innovation through AI. The partnership includes tools like Microsoft Copilot, Power Automate, and Azure, enabling ASOS to automate processes and enhance customer experiences. This allows employees to focus on creativity while AI handles routine tasks, driving data-driven decisions.




tail

Fashion Dot showcases innovative tailoring CAD software at GTE 2024

Fashion Dot showcased its advanced tailoring CAD software and laser cutting machines at GTE 2024. These machines allow tailors to input measurements and auto-generate cutting diagrams, improving accuracy, reducing costs, and eliminating manual work. The company offers customer support and regularly updates its software to include new garment models.




tail

MMWR: Current Cigarette Smoking, Access, and Purchases from Retail Outlets Among Students Aged 13–15 Years — Global Youth Tobacco Survey, 45 Countries, 2013 and 2014

Data regarding smoking, quantity and access to cigarettes by youth in 45 countries during 2013 and 2014.




tail

How to Open a Retail Store: A Comprehensive Checklist

Look at this checklist before you open a retail store.




tail

How we use DDEV, Vite and Tailwind with Craft CMS

In 2022 we changed our dev tooling for new Craft CMS projects. Goodbye complex esoteric Webpack configuration, hello Vite. Goodbye complex esoteric Docker Compose configuration, hello DDEV. This small change in tooling has completely transformed our development experience. We start work faster and avoid wasting billable time debugging Webpack and Docker.

From Webpack to Vite #

Webpack has been the defacto way of bundling JavaScript and front end assets. It’s a powerful tool… but with that great power comes great responsibility complexity.

Vite bills itself as the “next generation” of frontend tooling. Vite is much faster at bundling. But more importantly… its default configurations work great for most website projects.

Before (Webpack) #

Well over 300 lines of configuration spanning three files. Good luck making changes!

After (Vite) #

A crisp 30 - 50 lines of code. Want to switch to TypeScript? Need to drop in a popular front-end framework? Easy! All it takes is adding a plugin and 2-3 lines of config.

Deleting old code has never felt this good!

From Docker to DDEV #

Docker is another development staple. It isolates server infrastructure into virtual “containers.” This helps avoid issues that arise from each developer having a slightly different setup. However, Docker can have a learning curve. Config changes, PHP upgrades and unexpected issues often eat up precious project time.

Enter DDEV! DDEV describes itself as “Container superpowers with zero required Docker skills: environments in minutes, multiple concurrent projects, and less time to deployment.” We’ve found that statement to be 100% true.

Before (Docker) #

Every Craft project has a different Docker config. Bugs and upgrades required deep Docker experience. Last (but not least), it was difficult to run several projects at one time (ports often conflict).

After (DDEV) #

Performance is consistently better than our hand-rolled setup thanks to Mutagen and faster DB import/exports. Simultaneous projects run out of the box. DDEV provides (and maintains) a growing list of helpful shortcuts and DX features.

Getting started #

Ready to make the switch? Here’s how to set up DDEV, Vite and Tailwind on your own Craft project.

Show me the config files already! #

If you would rather see full config files instead of following step by step, check out our Craft Site Starter on GitHub.

DDEV #

Let’s set up a fresh DDEV project and start customizing.

  1. Make sure you have DDEV installed on your computer.
  2. If you’re a PHPStorm user, install the exceedingly helpful DDEV plugin. VS Code users have a similar plugin too!
  3. Follow Craft’s guide for creating a new project (they love DDEV too).

Now you have a fresh .ddev/config.yaml just waiting to be customized.

Node Version #

Open your DDEV config and make sure your Node JS version matches Vite’s recommendations.

nodejs_version: '20' # Vite 5 expects Node 18+

Ports for Vite’s dev server #

Next, expose ports that Vite’s dev server uses will use to serve assets.

web_extra_exposed_ports:
  - name: vite
    container_port: 3000
    http_port: 3000
    https_port: 3001

Routing ports can sometimes be confusing. This diagram might help!

  • Vite’s dev server runs inside of DDEV’s web container (a Docker container).
  • Until we expose these extra ports, any custom port within DDEV is unavailable to your host machine (your computer).
  • When it’s time to configure Vite, we’ll use port 3000
  • HTTP and HTTPS traffic must use separate ports.
  • We use port 3000 for http traffic and 3001 for https

Run Vite automatically #

Usually, you’ll want Vite to watch and build files automatically after you start a DDEV project. Using web_extra_daemons adds a separate background process (daemon) for Vite.

web_extra_daemons:
  # Run Vite in a separate process
  - name: 'vite'
    command: 'npm install && npm run dev'
    directory: /var/www/html

Use hooks to improve DX #

DDEV’s powerful hooks system can run tasks before or after various DDEV commands. These post-start tasks keep dependencies and schemas up to date every time you start DDEV.

hooks:
  post-start:
    - composer: install # Keeps installed packages up to date
    - exec: ./craft up # Apply migrations & project config changes

Time for Vite #

Vite is a Node app that’s installed with NPM. Your project will need a package.json. If you don’t have one set up yet, follow NPMs initialization script.

ddev npm init

# Don't forget to ignore node_modules!
echo node_modules >> .gitignore

????Why ddev at the start of the command? This let’s us run NPM from within DDEV’s Docker containers. This means you’ll always be using the Node version configured for this project. DDEV has a bunch of shortcuts and aliases for running CLI commands (such as npm, yarn, craft and composer).

Make sure your NPM package is configured for ES Modules #

Our various config files will be using ES Module syntax for imports and exports.

ddev npm pkg set type=module

Install Vite! #

ddev npm install --save-dev vite

Add convenience scripts to package.json #

"scripts": {
  "dev": "vite",
  "build": "vite build"
}

npm run dev runs Vite in dev mode. It watches and builds your files every save. Files are served through Vite’s dev server.

npm run build bundles your JavaScript, CSS and static images for production. Your deploy process will usually call this script.

Configure vite.config.js #

Running Vite for a server rendered CMS requires some extra configuration. These options put production files in the right spot and keeps Vite’s dev server running on a specific port.

import { defineConfig, loadEnv } from 'vite'

// Match ports in .ddev/config.yaml and config/vite.php
const HTTP_PORT = 3000
const HTTPS_PORT = 3001

export default defineConfig(({ command, mode }) => {
  const env = loadEnv(mode, process.cwd(), '')

  return {
    // In dev mode, we serve assets at the root of https://my.ddev.site:3000
    // In production, files live in the /dist directory
    base: command === 'serve' ? '' : '/dist/',
    build: {
      manifest: true,
      // Where your production files end up
      outDir: './web/dist/',
      rollupOptions: {
        input: {
          // The entry point for Vite, we'll create this file soon
          app: 'src/js/app.js',
        },
      },
    },
    server: {
	    // Special address that respond to all network requests
      host: '0.0.0.0',
	    // Use a strict port because we have to hard code this in vite.php
      strictPort: true,
      // This is the port running "inside" the Web container
      // It's the same as continer_port in .ddev/config.yaml
      port: HTTP_PORT,
      // Setting a specific origin ensures that your fonts & images load
      // correctly. Assumes you're accessing the front-end over https
      origin: env.PRIMARY_SITE_URL + ':' + HTTPS_PORT,
    },
  }
})

Add JavaScript and CSS files (Entrypoint) #

Vite needs an entry point to determine what JavaScript, CSS and Front End assets it needs to compile. Remember src/js/app.js that we defined in vite.config.js? Let's make that file now.

/* Make a file in src/js/app.js */

import '../css/app.css'

console.log('Hello Craft CMS')

We’ll also add our CSS as an import in app.js . In plain-old-JavaScript you can’t import CSS files. However, Vite uses this to figure out CSS dependencies for the project.

Once Vite builds everything for production, you end up with a separate CSS file. The Craft Vite plugin includes this automatically with along your JavaScript bundle.

/* Make a file in src/css/app.css */

body {
	background-color: peachpuff;
}

Install the Vite Craft Plugin #

ddev composer require nystudio107/craft-vite
ddev craft plugin/install vite

Vite assets have different URLs in dev mode vs. production. In dev mode, assets are served from Vite’s dev server. It uses the ports that we defined in our DDEV & Vite configs.

When Vite builds for production, filenames are hashed (app.js becomes app-BZi_KJSq.js). These hashes change when the contents of the file changes. Browser can cache these files indefinitely. When an asset changes, a whole new file is served.

To help find these hashed filenames, Vite creates a manifest.json file. The manifest associates the name of your asset src/js/app.js to the hashed file that ends up on your server web/dist/assets/app-BZi_KJSq.js

The Craft Vite Plugin by NYStudio107 takes care of all this routing for you.

{
  "src/js/app.js": {
    "file": "assets/app-BZi_KJSq.js",
    "name": "app",
    "src": "src/js/app.js",
    "isEntry": true,
    "css": ["assets/app-BXePGY5I.css"]
  }
}

Configure the Vite Craft Plugin #

Make a new plugin config file in config/vite.php

<?php

use crafthelpersApp;

// Use the current host for dev server requests. Otherwise fall back to the primary site.
$host = Craft::$app->getRequest()->getIsConsoleRequest()
    ? App::env('PRIMARY_SITE_URL')
    : Craft::$app->getRequest()->getHostInfo();

return [
    'devServerPublic' => "$host:3001", // Matches https_port in .ddev/config.yaml
    'serverPublic' => '/dist/',
    'useDevServer' => App::env('CRAFT_ENVIRONMENT') === 'dev',
    'manifestPath' => '@webroot/dist/.vite/manifest.json',
    // Optional if using React or Preact
    // 'includeReactRefreshShim' => true,
];

Include your Vite bundles in Twig #

The script and asset functions includes the appropriate files depending on in if you’re in dev mode or production. Clear out your templates/index.twig file and add the following snippet to your <head> tag.

{# Load our main CSS file in dev mode to avoid FOUC #}
{% if craft.vite.devServerRunning() %}
    <link rel="stylesheet" href="{{ craft.vite.asset("src/css/app.css") }}">
{% endif %}

{{ craft.vite.script('src/js/app.js', false) }}

Whew! ???? We’re at a point now where we can test our integration. Run ddev restart and then ddev launch . You should see “Hello Craft CMS” in your browser console.


Setup Tailwind #

Now that Vite is processing src/css/app.css, it’s time to install Tailwind and really get cooking.

These steps are based on Tailwind’s official installation guide. But make sure to run all commands from within DDEV.

Install packages #

ddev npm install -D tailwindcss postcss cssnano autoprefixer
# No DDEV shortcut for npx :(
ddev exec npx tailwindcss init -p

Configure template paths in tailwind.config.js #

/** @type {import('tailwindcss').Config} */
export default {
	// Watch Twig templates and any JS or JSX that might use Tailwind classes.
  content: ['./templates/**/*.twig', './src/**/*.{js,jsx,ts,tsx,svg}'],
  theme: {
    extend: {},
  },
  plugins: [],
}

Configure postcss.config.js for production #

export default {
  plugins: {
    tailwindcss: {},
    autoprefixer: {},
    ...(process.env.NODE_ENV === 'production' ? { cssnano: {} } : {})
  }
}

Add Tailwind directives to src/css/app.css #

@tailwind base;
@tailwind components;
@tailwind utilities;

You’ll most likely need to run ddev restart again to get Vite to recognize your new Tailwind config.


❓ Do i need to set up live reload of Twig? Turns out it’s already done for you! Styling a Tailwind project means editing Twig files to change styles. It’s super handy to reload your browser every time you save. Normally you’d reach for vite-plugin-restart to get this functionality. However, Tailwind’s JIT mode automatically notifies Vite when CSS has compiled and the page should reload.

That's a wrap! #

That’s all it takes to configure a minimal DDEV and Vite project! We’ve found that both of these tools are easy to extend as a project get more complo'ex. Adding things like Redis or React are just a plugin install and a few lines of config away.

???? If you'd like to see this setup (and more) in a real-world Craft CMS project, check out our Craft Site Starter on GitHub.

Go forth and Vite + DDEV to your heart’s desire.




tail

Cocktails with Don Draper, Dinner and Drinks at Oakland’s New Mid-Century Modern, Bardo Lounge and Supper Club

If, like me, you are a fan of all things mid-century modern, then you won’t want to miss Oakland’s newest Lakeshore addition, Bardo Lounge and Supper Club. Like a vintage trip with Don Draper back in time, you’ll enjoy all the little touches that make for a perfect night out for some excellent cocktails along …




tail

‘A World Without Clouds. Think About That a Minute’: New Study Details Possibility of Devastating Climate Feedback Loop

By Jessica Corbett Common Dreams “We face a stark choice [between] radical, disruptive changes to our physical world or radical, disruptive changes to our political and economic systems to avoid those outcomes.” As people across the globe mobilize to demand … Continue reading