RSS.Social

Ronalds Vilciņš

follow: @[email protected]

Posts

Use clip-path for Edges and mask for Fades

CSS Masks Are Better Than Editing a Fade Into an Image

CSS shape() Makes Responsive Paths Easier

CSS @property Gives Variables a Type

Modern CSS You Can Actually Use Today

Image Alt Text: When to Use It and When Not To

Why PageSpeed Tests Give Different Results

HTML <details> and <summary> Explained

Build Disclosures With HTML <details> and <summary>

Modern CSS Color Functions Explained

The Modern CSS Color Functions I Find Useful

CSS Scroll-Driven Animations Without JavaScript

The HTML <dialog> Element Explained

Start Modal Windows With the HTML <dialog> Element

HTML Popover API: Popovers Without JavaScript

Why Every Website Should Have an RSS Feed

Native HTML and CSS Features That Replaced JavaScript

Why I Still Build Static Websites in 2026

Why Every Website Should Have an RSS Feed

How to Hide Content Accessibly

What Is the Back/Forward Cache?

The Back/Forward Cache Makes Return Visits Feel Instant

How Third-Party Scripts Slow Down Websites

Why You Shouldn't Lazy-Load Every Image

preload, prefetch, and preconnect Explained

When to Use preload, prefetch, and preconnect

Hugo Render Hooks Explained

Change Hugo's Markdown Output With Render Hooks

Responsive Images in Hugo Without a Plugin

HTML Forms Can Do More Than You Think

inputmode Explained: Better Mobile Keyboards With HTML

Show Better Mobile Keyboards With HTML inputmode

The HTML inert Attribute Explained

Disable a Whole Page Section With HTML inert

CSS interpolate-size: Animate From 0 to auto

CSS Cascade Layers: What @layer Is Actually For

CSS @scope Explained

Keep Component Styles Contained With CSS @scope

CSS Anchor Positioning Explained

Position Tooltips and Menus With CSS Anchor Positioning

Kāpēc tavs Mac bremzē?

Kāpēc tavs Mac bremzē un ko pārbaudīt vispirms

Vai mākslīgais intelekts atņems darbu digitālā mārketinga speciālistiem?

Kā uzrakstīt labu specifikāciju AI aģentam

Kā uzrakstīt labu specifikāciju mākslīgā intelekta aģentam

Kā uzrakstīt specifikāciju, ar kuru AI aģents tiešām var strādāt

Vai AI atņems darbu digitālā mārketinga speciālistiem?

Kā apiet algoritmus ar RSS

Es atgriezos pie RSS, lai pats izvēlētos, ko lasīt

Kas ir robots.txt un kā tas ietekmē SEO?

Perfekti noapaļoti stūri

Iekšējais border-radius nav tāds pats kā ārējais

Kā gudrāk rakstīt promptus GPT-5.1

Kā es rakstu darba instrukcijas GPT-5.1

Beidzas Facebook Like un Comment pogu ēra

Facebook slēdz Like un Comment spraudņus mājaslapām

Kad negatīvas atsauksmes kļūst par šantāžu

Ko darīt, ja Google atsauksmi izmanto šantāžai

Kā uzlabot sava zīmola redzamību AI rīkos

Kā pārbaudīt, vai AI rīki vispār piemin tavu zīmolu

Google uzlabo Display kampaņu atskaiti

Display kampaņās beidzot var redzēt atsevišķu reklāmas elementu rezultātus

Meta jaunais ģeneratīvais reklāmu modelis

GEM ir jaunais modelis Meta reklāmu atlases pamatā

Waze reklāmas tagad arī PMax kampaņās

Performance Max pievieno Waze reklāmas un skaidrāku kanālu atskaiti

YouTube ievieš jaunus rīkus satura veidotājiem

YouTube uzlabo vecus video un automatizē daļu montāžas

Meta Advantage+ Leads kampaņas

App Store tagad arī kā mājaslapa

App Store beidzot var normāli pārlūkot tīmeklī

Ko Meta automatizē Advantage+ Leads kampaņās

Kā ieslēgt Split View Google Chrome pārlūkā

Kā izmēģināt divas cilnes blakus vienā Chrome logā

TikTok atvieglo satura radīšanu ar AI palīdzību

TikTok Smart Split pārvērš garu video īsos klipos

Adobe un YouTube apvieno spēkus

YouTube Shorts rīki nonāk Premiere Mobile

Jauni reklāmu formāti Threads

Threads reklāmām pievieno video, 4:5 attēlus un karuseļus

Performance Max tagad atbalsta 9:16 attēlus

Instagram pievieno skatīto Reelu vēsturi

Kā Instagram atrast iepriekš skatītu Reel video

Performance Max kampaņās parādās 9:16 attēli

IndexNow: Tūlītēja indeksēšana AI un meklētājos

IndexNow: paziņo meklētājiem par mainītu URL

Query Groups tagad Google Search Console

Search Console grupē līdzīgus vaicājumus vienā tēmā

ChatGPT pārlūks ir klāt

ChatGPT Atlas ieliek AI palīgu pašā pārlūkā

Google Ads dzēsīs neaktīvos kontus

Atceltu Google Ads kontu dati vairs netiks glabāti bezgalīgi

Viss kas jāzina par Google AI Max

Kā identificēt labāko reklāmas platformu uzņēmumam

Kā identificēt labāko reklāmas platformu

Kādu reklāmas platformu izvēlēties?

ChatGPT drīzumā varēs iepirkties

Instant Checkout ļauj pabeigt pirkumu ChatGPT sarunā

Apple Ads: Kas jāzina 2026. gadā

Apple Ads: Kas jāzina 2026. gadā

Gudrākas PPC kampaņas ar AI

Kur AI man palīdz PPC darbā un kur es tam neuzticos

Noderīgas bezmaksas MacOS programmas

Bezmaksas macOS rīki, kurus ir vērts paturēt pa rokai

X (Twitter) ir miris bezmaksas kontiem. Maksā vai klusē.

X (Twitter) ir miris bezmaksas kontiem

X Premium sasniedzamības priekšrocība ir grūti ignorējama

Open Graph: Tava satura vizītkarte tīklā

Open Graph: Tava satura vizītkarte

Open Graph: izvēlies, kā izskatās kopīgota saite

Mākslīgais intelekts reklāmā

Ko lielās reklāmu platformas jau uztic AI

Populārākie sociālie tīkli Latvijā 2025. gadā

Populārākās sociālās platformas Latvijā 2025. gadā: ko rāda DSA dati

Kā palielināt sekotāju skaitu Instagram?

Vairāk Instagram sekotāju sākas ar saturu, ko vari publicēt regulāri

Google Ads iesācējiem: vienkāršs ceļvedis

Google Ads iesācējiem: sāc ar mērījumiem, nevis reklāmu

Lietoju GitHub Copilot Pro bez maksas

Kā izdzēst “Liked videos” saturu no YouTube playlistes

Kā vienā reizē notīrīt YouTube “Liked videos” sarakstu

Kāpēc man GitHub Copilot Pro ir pieejams bez maksas

Kā iestatīt laika joslu Hugo un Cloudflare Pages projektā

Vienāda laika josla Hugo un Cloudflare Pages projektā

Kā pasargāt savu saturu no AI robotiem?

Manas pārdomas par ChatGPT-5

SEO ir miris. Sveiks, GEO.

I Miss the Personal Website

Why I Still Save Websites Myself

I Miss Personal Websites That Actually Feel Personal

Why I Still Curate My Own Bookmarks

A Practical Guide to CSS Custom Properties for Theming

Technical SEO Audit Checklist for Static Sites

Theme a Site with CSS Custom Properties

A Guide to Fixing Common Git Mistakes

Optimizing CSS Loading in Hugo

Build, Minify, and Fingerprint SCSS with Hugo Pipes

How I Recover from Common Git Mistakes

Hugo Date Management

Choose Where Hugo Gets a Page's Last-Modified Date

Adding Line Numbers to Code Blocks in Hugo

Change Hugo post URLs without losing SEO value

Add Line Numbers to a Hugo Code Block

Change a Hugo Post URL Without Breaking the Old Link

The Hidden Math of CSS Rounded Corners

The Inner Corner Radius Should Follow the Outer One

CSS Nesting Done Right

Creative Ways to Mess with AI Bots

Blocking AI Scrapers Is More Useful Than Playing Games with Them

CSS Nesting Is Useful When It Keeps Context Close

What is the Fediverse?

The Fediverse Is Social Media Without One Central Platform

Mastering Bluesky Search

Bluesky Search Operators I Actually Use

How to Add Bluesky Comments to Your Hugo Website

Use a Bluesky Post as the Comment Thread for a Hugo Page

How to Unsubscribe from All YouTube Channels in Bulk

Bulk Unsubscribe From YouTube Channels With a Browser Script

How to Add Mastodon Author Attribution to Your Website

Add Mastodon Author Attribution to Your Articles

The light-dark() CSS Function

CSS field-sizing

A Simpler Light and Dark Theme With CSS light-dark()

Let Form Controls Size Themselves With field-sizing

Growing Your Developer Audience Through Technical Blogging

Technical Blogging Works When the Article Solves Something

How to Delete All Your Tweets for Free

Delete Your Old Tweets With TweetXer

How AI is Revolutionizing Digital Marketing

AI Is Changing Marketing, but It Still Needs Supervision

Should you block AI crawlers?

Good bots vs Bad bots

Good Bots, Bad Bots, and the Messy Middle

All you need to know about the Digital Services Act

What the EU Digital Services Act Changes Online

Open Graph Meta Tags

The Open Graph Tags a Shared Page Needs

Master Artificial Intelligence (AI) Without Spending a Dime

A Free Route Into Learning AI

Google's Big March 2024 Update

What are UTM tags?

UTM Tags Are Simple Until Everyone Names Them Differently

What Google's March 2024 Update Targeted

Getting Organized with Todo.txt

Self-hosting web fonts

Self-Hosting Web Fonts Without Overcomplicating It

Getting Started with TypeScript

Start TypeScript With the Code You Already Have

How to invert the colors using CSS

Invert an Image With One CSS Filter

CSS z-index property

Why a Huge z-index Still Does Not Work

HTTP response status codes explained

The HTTP Status Codes I Actually Check

What is Schema.org?

What is a robots.txt file?

How to use FFMPEG

FFmpeg Commands Worth Keeping Nearby

What are Large Language Models (LLMs)?

Large Language Models Are Prediction Engines

A beginner's guide to Ollama

Running a Local LLM With Ollama

CSS aspect-ratio property

Keeping Elements in Proportion With CSS aspect-ratio

CSS text-wrap property

Better Headlines With CSS text-wrap

AI as your writing partner

Use AI as an Editor, Not a Ghostwriter

Prompt engineering 101

Better AI Prompts Start With Better Constraints

CSS margin-inline property

Use margin-inline for Writing-Mode-Aware Spacing

CSS color-scheme property

What CSS color-scheme Actually Does

Cloudflare fonts (Beta)

What Cloudflare Fonts Changes

How to block AI crawler bots

How to Block AI Crawlers Without Blocking Search

Understanding AGI

AGI Is an Idea, Not a Product Category

Figma vs Sketch in 2024

Figma or Sketch: The Choice Is Mostly About Workflow

Maximizing Facebook Ad Effectiveness

Make Facebook Ads Better by Testing the Right Things

Data-Driven Digital Advertising

Making Digital Advertising Decisions With Data

App defaults

The Apps I Actually Use Every Day

CSS nesting

Native CSS Nesting Without Sass

CSS clamp() function

Sizing Things With CSS clamp()

CSS subgrid

Aligning Nested Layouts With CSS Subgrid

Lazy loading video

Lazy-Loading Video Without Surprises

CSS clip-path property

Cutting Elements Into Shapes With CSS clip-path

Exploring progressive web apps (PWAs)

Ultimate Vim cheat sheet

A Vim Cheat Sheet for Commands I Keep Forgetting

What Makes a Website a Progressive Web App?

Content filtering with CSS :has() selector

Filtering Content With the CSS :has() Selector

The ABCD of YouTube Ads

The ABCD Framework for YouTube Ads

Setting up SSH keys on Ubuntu 20.04

Installing Node.js on Ubuntu 20.04

Google Analytics 4 vs. Universal Analytics

Jekyll vs Hugo

Jekyll vs Hugo: Two Good Static Site Generators

Content writing for SEO

Writing for SEO Without Writing for Robots

Facebook Ads vs Google Ads vs Microsoft Ads

Facebook Ads vs Google Ads vs Microsoft Ads: Start With Intent

Introduction to structured data markup

Adding Structured Data Without Promising Rich Results

What is the use of Google Search Console?

What Google Search Console Is Actually Useful For

Improving Core Web Vitals for better SEO and user experience

Mastodon

Improving Core Web Vitals Without Chasing a Perfect Score

Mastodon Is a Network, Not One Social Website

Figma vs Sketch

Figma vs Sketch: The Workflow Matters More Than the Feature List

Eleventy vs Hugo

Eleventy vs Hugo: Which One Fits Your Workflow?

What is a static site generator?

What a Static Site Generator Actually Does

What is a Canonical URL?

Canonical URLs Are Hints, Not Redirects

What are Serverless Functions?

Serverless Functions Still Run on Servers

Redirect chain

Redirect Chains Add Requests You Usually Do Not Need

How do you write maintainable code?

What Makes Code Maintainable?

Best practices for version control with Git

Git habits that keep a project understandable

An overview of web accessibility

Web accessibility starts with the basics

Writing an article using chatGPT

Writing an article with ChatGPT

Use your website hosted on Netlify as an alias for your Mastodon username

Use your Netlify domain as a Mastodon username alias

CSS Grid vs Flexbox

CSS Grid or Flexbox? Choose by layout direction

Crucial non-technical skills every developer needs to work on

The non-technical skills that make developers better

Scrape data from websites into Google Sheets

Pull website data into Google Sheets with IMPORTXML

Embedding audio with Hugo shortcodes

Raw HTML in Hugo

Enable raw HTML in Hugo

Why linux is the best choice for programming?

Why Linux is a strong choice for programming

Hugo shortcode for raw HTML

Technical SEO for beginners

Show related content in Hugo

How to setup Tailwind CSS in Hugo

Set up Tailwind CSS in Hugo

What is the best laptop for a web developer

What makes a good laptop for web development?

Tips to improve your website’s search result ranking

Practical ways to improve search visibility

Count all pages from section in Hugo

Count the pages in a Hugo section

Tips for writing clean and maintainable code

Write code that is easier to maintain

The CSS :has() selector

CSS :has() Can Select a Parent

What are Variable fonts?

One Font File, Many Weights: Variable Fonts

Add anchor links to headings in Hugo

Add Anchor Links to Hugo Headings

Use CSS templates to display Apple Pay buttons in Safari

Let Safari Draw the Apple Pay Button

Fluid Typography

Fluid Typography Without Runaway Font Sizes

Headers for Cloudflare Pages

Add Custom Headers to Cloudflare Pages

Differences between OpenType and TrueType font formats

OpenType and TrueType Fonts Are Closer Than They Look

Text-only websites

Text-Only Websites for a Lighter Web

Prioritise requests to improve website speed

Preload, Preconnect, or Prefetch?

File variables in Hugo

Inverting colors using CSS

Invert Colours With One CSS Filter

Useful File Variables in Hugo

AVIF image format

AVIF Images: Smaller Files With a Sensible Fallback

How to transfer Google Photos to iCloud Photos

Move Google Photos to iCloud Photos With Takeout

Responsive IFRAME

Make an Iframe Responsive With CSS

How to implement accessibility "Skip to main content"

Add a "Skip to Main Content" Link

Advanced Google search queries

Google Search Operators Worth Remembering

Disable FLoC on Netlify

How Netlify Sites Opted Out of FLoC

Nested Media Queries

Nesting Media Queries in CSS

Optimizing image loading for the web

Practical image loading improvements for the web

Schedule Netlify builds with GitHub Actions

Scheduling Netlify builds with GitHub Actions

Programming quotes

Programming quotes worth keeping around

Tag cloud snippet for Hugo

A simple tag cloud for Hugo

Social sharing buttons without Javascript

Installing MySQL on MacOS

Kirby meta tags snippet for better SEO

A practical meta-tag snippet for Kirby

Capture screenshot with Chrome DevTools

How to take screenshots with Chrome DevTools

JSON-LD for Hugo

Adding JSON-LD to a Hugo site

Illustrations for your website

Illustration libraries for websites and apps

How to create a theme for Hugo

Creating a Hugo theme from scratch

How to add Google Tag Manager code to your Hugo website

Adding Google Tag Manager to a Hugo site

How to implement search in Hugo

Delimiter separated tags in Hugo

Client-side search for a Hugo site

Comma-separated tags in Hugo

Recently licensed fonts included with macOS Catalina

The hidden fonts included with macOS Catalina

The CSS calc() function

The web open font format (WOFF)

Dark mode images without javascript

The list-style-type CSS property

The CSS list-style property

Viewport bug in Mobile Safari

Working around the 100vh problem in Mobile Safari

Dark mode for SVG favicon

HTML5 progress element

The HTML progress element

RSS feeds for your Github releases, tags and activity

RSS feeds for GitHub releases, tags, and activity

CSS layout debugger

A one-line CSS layout debugger

Emojis as favicon

Use an emoji as a favicon

Facebook advertising trends in 2020

Facebook advertising trends that mattered in 2020

What is SameSite cookie?

How the SameSite cookie attribute works

Git cheat sheet for beginners

An overview of modern web development tools and workflows

The web development tools that earn their place

How to style the hr element with CSS

Styling the hr element with CSS

Speed up Photoshop

What to try when Photoshop feels slow

Technical SEO tools you probably haven’t heard of

Technical SEO tools worth keeping around

Social Media image sizes in 2020

Social media image sizes for 2020

How to update or replace a Dropbox file without changing its link

Replace a Dropbox file without changing its shared link

GIFs and prefers-reduced-motion

Respecting prefers-reduced-motion with animated GIFs

Dark mode for your website

Semantic HTML and SEO

Adding dark mode with prefers-color-scheme

Iframe accessibility

Give every meaningful iframe a useful title

Get free SSL for your website with Cloudflare

Getting a free SSL certificate with Cloudflare

Tags in Jekyll

Optimize your Jekyll powered website with these simple steps

A practical SEO setup for a Jekyll site

Environments in Jekyll

Chrome accessibility extensions

Chrome extensions for accessibility testing

Difference between font formats

Which font format should you use?

CSS :empty selector

Selecting empty elements with CSS :empty

Staticman comments on a Jekyll site

Adding Staticman comments to a Jekyll site

Google Analytics alternatives

The caret-color CSS property

Changing the text cursor with CSS caret-color

You can use Vibration API to vibrate devices

Web pages can use the Vibration API

Adding HTTP response headers to a Netlify static website

Adding HTTP response headers to a Netlify site

What are variables in CSS?

CSS variables make repeated values easier to manage

HTML input autofocus attribute

Using the HTML autofocus attribute

text-decoration is a shorthand

text-decoration is a useful CSS shorthand

Centerig flexbox items

Centering flexbox items

Preventing autofilling with autocomplete new-password

Use autocomplete=new-password for new password fields

Using CSS for accessible web design

Using CSS without getting in the way of accessibility

Outlook Conditional CSS

Adding Outlook-only CSS to an HTML email

HTML video tag

Embedding video with the HTML video element

Syntax highlight with Rouge in Jekyll

Set up Rouge syntax highlighting in Jekyll

You can check the spelling and grammar of the text in an editable element

HTML can spellcheck editable text

CSS font-variant property

Using the CSS font-variant property

Page specific assets in Jekyll

Load page-specific CSS and JavaScript in Jekyll

Jekyll reading time without plugins

Add reading time to Jekyll without a plugin

How to add an RSS feed to a Jekyll blog

Add an RSS feed to a Jekyll blog

Top plugins for Wordpress websites

Useful WordPress plugins for testing and maintenance

Using the aria-current attribute

Use aria-current to mark the active item

Install Jekyll on Mac OS

How to install Jekyll on macOS

Applying the active class for the current page in Jekyll

Highlight the current page in Jekyll navigation

Static site generators: An introduction

Do you need a static site generator?

Displaying GitHub Gists in Jekyll sites

Embedding GitHub Gists in Jekyll

Print style sheets

A simple print style sheet for your website

Responsive web design techniques

Responsive web design starts with flexible defaults

Disable Jekyll's default syntax highlighter Rouge

How to disable Rouge syntax highlighting in Jekyll

Image caption in Jekyll

Add image captions in Jekyll without a plugin

Tips for optimizing website performance

Start website performance work with the biggest bottleneck

Showing the word count in Jekyll

Show a post's word count in Jekyll

Custom 404 page for Jekyll on Github pages

Add a Custom 404 Page to Jekyll on GitHub Pages

Redirect Jekyll URLs

Redirect Old URLs in Jekyll

Custom CSS selection styling

Style Selected Text With CSS

Interaction media features

CSS Can Adapt to the Kind of Pointer Someone Uses

How to improve website traffic

How to Improve Website Traffic Without Chasing Every Tactic

HTML abbr tag

Using the HTML abbr Element

Creating navigation menu in Jekyll

Build a Navigation Menu From Jekyll Data

Structured Data markup validation and testing tools

Tools for Testing Structured Data Markup

Top monospaced fonts for coding

Monospaced Fonts for Coding

How to secure your website with HTTPS and SSL certificates

How to Secure Your Website With HTTPS

HTML kbd tag

Marking Up Keyboard Input With HTML kbd

Tips for designing a user-friendly website layout

Designing a Website Layout People Can Actually Use

HTML mark tag

Highlighting Relevant Text With HTML mark

Open source e-mail templates

Open-Source Email Templates Worth Knowing About

You can transition z-index

Places where you can learn how to code

Places to Learn How to Code Online

Sublime Text packages for front-end development

Change the name of your file with download attribute

Rename Downloads With the HTML download Attribute

CSS hacks you may not know

A Few CSS Tricks You May Not Know