Skip to content

Смотреть мир по-русски

Переведи английское сообщение для русских

Menu
Menu

Xess 2: редакция переменных CSS

Posted on 07/11/2022

образ героя аой-чан Изображение создано Waifu Diffusion v1.3 (float16) — 1девушка, лисьи уши, голубые волосы, голубые глаза, кисть, холст, мольберт, чиби, балахон, улыбка, соло, очень красочно, сердце, зрачки

Как хакер со слишком большим количеством сторонних проектов, я предпочитаю, чтобы мои веб-сайты выглядели так , чтобы их можно было мгновенно идентифицировать. У меня очень брутальный подход к веб-дизайну, который позволяет очень легко сдвинуться с мертвой точки и получить взлом.

Один из моих давних проектов — CSS-фреймворк под названием Xess . Xess — мой любимый файл CSS, когда мне просто нужно добавить несколько слов на страницу. Я использовал его по крайней мере для следующих проектов:

  • Когда Тогда Дзен
  • панель администратора waifud
  • хланг
  • Факты о принтере

И другие внутренние проекты на рабочих местах, о которых я не могу говорить из-за ограничений NDA. Самое главное, что он делает, это позволяет вам использовать обычный семантический HTML , а затем просто пытается сделать так , чтобы он выглядел красиво для вас. Это бесклассовый фреймворк (вам не нужно использовать классы CSS, чтобы заставить его работать), и мне он очень нравится.

Тем не менее, после использования его в течение некоторого времени, он начал становиться очень мягким и повторяющимся. Все выглядит одинаково . Это становится скучным для меня. Я рассматривал различные способы исправить это, но недавно у меня был золотой момент вдохновения, когда я увидел, как один из моих любимых ботов Fediverse попал в мою ленту:

изображение профиля для randomColorContrasts
случайные цветовые контрасты @randomColorContrasts
M10 22 2022 15:15 (UTC)

Спелый лимон # F1DD15
Полночь # 0E102E

(Контрастность: 13,3:1 | AAA)

Спелый лимон (# F1DD15) и Полночь (# 0E102E)
Ссылка на сайт

Я уже много лет слежу за @[email protected] на Fediverse. Дважды в день он генерирует два цвета с хорошей контрастностью и публикует в них пример изображения. Это дает вам результаты, которые выглядят следующим образом:

Пример вещи

Я малыш умами трюффо борода хэштег кальмар микстейп тильда фотобудка etsy пьет уксус скромная интеллигенция. Squid shabby chic pinterest yuccie. Lomo органическая булочка со свиным животом, чиллвейв. Mlkshk книжка-раскраска чиа, кинфолк шордитч пабст эдисон луковица марфа шалфей вибецессион подходит tumblr stumptown реликвия микстейп. Тьфу да, плз, потертый шик, скука, пинтерест, пьешь уксус, т. е. Трюффо. Церковный ключ большой завод настроения целевого фонда ассиметричное кривое клише. Пишущая машинка Tonx путин до того, как они распродали старомодный умами модный топор постиронический JOMO нормкор gochujang man булочка глянцевый мясник.

Это выглядит довольно здорово, как есть, но Xess имеет больше, чем просто стилизованный текст. Xess также стилизует ссылки, цитаты и блоки кода. Я действительно хотел, чтобы эти цвета были получены на лету, и тогда я наткнулся на вычисления HSL на лету с переменными CSS . Это пробудило мой интерес. Я мог выбрать три основных оттенка и использовать их для динамической генерации всего остального. Я немного поработал и теперь рад представить Xess 2.0.

Хесс 2.0

Вот несколько скриншотов одной из тем, которые я создал для этого: Cherry

аватарка для Кейди
Ксе @cadey
M11 06 2022 19:37 (UTC)

вишня, тема с большим количеством сладких красных тонов

описание не предоставлено описание не предоставлено
Ссылка на сайт

Больше всего во всем этом мне нравится то, как легко настроить тему Xess. Вам нужно всего лишь изменить три переменные, чтобы перекрасить страницу: одну для цвета фона, одну для цвета текста и одну для «акцентного» цвета (используемого для выделения, блок-кавычек и ссылок).

Не верите мне? Вот файл темы для вишни, который я показывал ранее:

 : root { --background-color: 0 ; --text-color: 43 ; --accent-color: 344 ;  --width: 80ch ; --padding: 0 ; }

Вот и все. Всего три цвета, максимальная ширина страницы и количество отступов вокруг основного элемента. Отсюда их можно бесконечно настраивать по своему усмотрению.

Вот некоторые другие темы, которые я приготовил:

аватарка для Кейди
Ксе @cadey
M11 06 2022 19:34 (UTC)

кафон, тема с большим количеством насыщенных коричневых цветов, как чашка кофе

описание не предоставлено описание не предоставлено
Ссылка на сайт

аватарка для Кейди
Ксе @cadey
M11 06 2022 19:35 (UTC)

aoi, тема с множеством прекрасных синих оттенков

описание не предоставлено описание не предоставлено
Ссылка на сайт

Я мог легко увидеть, как это используется с какой-то динамической генерацией цветов темы на основе пользовательских настроек или даже динамически генерируемых на уровне каждого пользователя.

Кастомизация с хлопьями Nix

У меня есть небольшая репутация пользователя NixOS. Одна из самых больших вещей, которые мне нравится делать с Xess, — это использовать его из хлопьев Nix , чтобы CSS автоматически сжимался в один крошечный файл. Я сделал функцию Nix, которая генерирует пакет с настройками CSS в один большой файл, чтобы я мог решить сразу две проблемы:

  • Выполнение индивидуальных настроек Xess для каждого проекта без необходимости создавать вещи вручную или редактировать сам Xess
  • Сделайте это функцией Nix, чтобы мне не приходилось слишком много думать об этом на этапе сборки.

Если вы хотите использовать настроенную версию Xess в своей сборке Nix, вот что вам нужно сделать:

Во-первых, импортируйте Xess в свой Flake и добавьте его выходные данные в свои выходные данные Flake:

 { inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; utils.url = "github:numtide/flake-utils"; xess.url = "github:Xe/Xess"; };    outputs = { self, nixpkgs, utils, xess }@inputs: utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; in { # ... }); }

Сделайте свою тему где-нибудь в своем репо. Я предполагаю, что это ./css/theme.css . Затем вы можете создать собственную версию Xess с помощью этого:

 in { packages = { xess = Xess.packages.${system}.customized ./css/theme.css; };    # ... }

Вы можете проверить это с помощью nix build :

 $ nix build .#xess

А затем просмотрите его в своем браузере с помощью python -m http.server :

 $ python -m http.server

Добавьте /result/sample.html в конец URL-адреса, который генерирует для вас python, и тогда вы сможете просмотреть свои изменения CSS во всей их красе. Файл CSS, который генерирует Xess, будет находиться в $out/static/css/xess.css . Вы можете использовать это с чем-то вроде pkgs.symlinkJoin , чтобы убедиться, что все попадает в нужное место:

 in { packages = rec { xess = Xess.packages.${system}.customized ./css/theme.css; bin = doSomeBuild;      # the default output default = pkgs.symlinkJoin { name = "myProject-${bin.version}"; paths = [ bin xess ]; }; };    # ... }

И тогда, пока ваш веб-сайт ожидает получения данных из /static/css/xess.css , все будет работать! Nix возьмет ваши настройки, соединит их с Xess, а затем создаст составной файл CSS со всем, что в нем есть.

Мара счастлива
< Mara > Кроме того, если вы являетесь существующим пользователем Xess через Nix, это не сломает ваши сборки. Когда вы используете пакет по умолчанию во флейке Xess, он создаст «классическую» версию Xess без каких-либо настроек HSL.

Вот и все! Я очень рад, что переношу Xess в будущее и делаю его более расширяемым для следующих нескольких лет работы. Я рад услышать, что вы можете сделать с Xess. Обязательно дайте мне знать, какое удовольствие вы получаете от Mastodon !

  • A learning a day
  • A Smart Bear
  • AddyOsmani.com
  • AddyOsmani.com (AddyOsmani.com)
  • Adwyat Krishna
  • Alex Turek
  • All That is Solid
  • André Staltz
  • Ars Technica
  • arxivblog (arxivblog)
  • Atoms vs Bits
  • AVC
  • Basic Apple Guy
  • Ben Thompson
  • Benedict Evans
  • Blog – storytelling with data
  • Bob Nystrom
  • Built For Mars
  • Caleb Porzio
  • Christian Heilmann
  • Christopher C
  • Chun Tian (binghe)
  • Codrops
  • Cold Takes
  • Daily Infographic
  • Dan Luu
  • Daniel Lemire's blog
  • David Amos
  • David Perell
  • David Walsh Blog
  • Derek Sivers
  • Desvl
  • Devon's Site
  • Digital Inspiration
  • DKB Blog
  • dropsafe
  • DSHR
  • Dunk
  • DYNOMIGHT
  • eagereyes
  • Endless Metrics
  • Engadget
  • Engadget (Engadget)
  • Entitled Opinions
  • Exception Not Found
  • Experimental History
  • Farnam Street
  • Fed Guy
  • Felix Krause
  • Florent Crivello
  • FlowingData
  • FlowingData (FlowingData)
  • Free Mind
  • Full Stack Economics
  • Funny JS
  • Future A16Z
  • GeekWire (GeekWire)
  • Glassnode Insights
  • Hacker News Daily
  • Harvard Health
  • Human Who Codes
  • Hunter Walk
  • Infographics – Cool Infographics
  • Information is Beautiful
  • Irrational Exuberance
  • Jacob Kaplan-Moss
  • Jakob Greenfeld
  • James Sinclair
  • Jason Fried
  • Jeff Kaufman
  • Joel on Software
  • John Resig
  • John's internet house
  • Johnny Rodgers
  • Julia Evans
  • Julian.com
  • Kevin Cox
  • Kevin Norman
  • KK – Cool Tools
  • KK – Recomendo
  • KK – The Technium
  • Krishna
  • Laurence Gellert's Blog
  • Lee Robinson
  • Lines and Colors
  • Lyn Alden – Investment Strategy
  • Martin Fowler
  • Matt Might's blog
  • Mobilism Forums
  • More To That
  • Morgan Housel
  • My Super Secret Diary
  • NASA Astronomy Picture
  • Neckar's New Money
  • News Letter
  • Nick Whitaker
  • Nicky's New Shtuff
  • nutcroft
  • Paul Graham
  • Paul Graham: Essays
  • Penguin Random House
  • Philip Walton
  • Phoenix's island
  • Product Hunt
  • Prof Galloway
  • Psyche
  • Python Weekly
  • Quanta Magazine
  • Rachel
  • Real Life
  • Riccardo Mori
  • Sasha
  • Science & technology
  • Science current issue
  • Scott Hanselman's Blog
  • Sébastien Dubois
  • Secretum Secretorum
  • Seth's Blog
  • Shu Ding
  • Sidebar
  • SignalFire
  • SignalFire (SignalFire)
  • Simon Willison's Weblog
  • Simons Foundation
  • Singularity HUB
  • SLIME MOLD TIME MOLD
  • Slyar Home
  • Spencer Greenberg
  • Stay SaaSy
  • Stephen Malina
  • Strange Loop Canon
  • Stratechery
  • Tech Notes
  • TechCrunch
  • TechCrunch (TechCrunch)
  • The Commonplace
  • The Intrinsic Perspective
  • The Latest in Hearing Health | HeardThat
  • The Rabbit Hole
  • The Verge
  • TLDR Newsletter
  • Tom's blog
  • Tomasz Tunguz
  • Troy Hunt
  • Tychlog
  • Uncharted Territories
  • Visual Capitalist
  • Visual.ly (Visual.ly)
  • Visualising Data
  • Vitalik Buterin
  • Weichen Liu
  • What's New
  • Works in Progress
  • Workspaces
  • Writing
  • Xe's Blog
  • xkcd.com
  • xkcd.com (xkcd.com)
  • Yihui Xie
  • Zoran Jambor
  • АВК (AVC)
  • Адвиат Кришна (Adwyat Krishna)
  • Арс Техника (Ars Technica)
  • Астральный кодекс десять (Astral Codex Ten)
  • Астрономическая фотография НАСА (NASA Astronomy Picture)
  • Атлантический океан (The Atlantic)
  • безопасный (dropsafe)
  • Бенедикт Эванс (Benedict Evans)
  • Бесконечные показатели (Endless Metrics)
  • Билл Гейтс (Bill Gates)
  • Блог — сторителлинг с данными (Blog – storytelling with data)
  • Блог | Хранитель (Datablog | The Guardian)
  • Блог ДКБ (DKB Blog)
  • Блог Дэвида Уолша (David Walsh Blog)
  • Блог Дэниела Лемира (Daniel Lemire's blog)
  • Блокчейн (BlockChain)
  • Боковая панель (Sidebar)
  • Бретт Винтон (Brett Winton)
  • Будущее A16Z (Future A16Z)
  • Вайхен Лю (Weichen Liu)
  • Визуализация данных (Visualising Data)
  • Визуальный капиталист (Visual Capitalist)
  • Виталик Бутерин (Vitalik Buterin)
  • Внутренняя перспектива (The Intrinsic Perspective)
  • Все
  • Гарвардское здоровье (Harvard Health)
  • Грань (The Verge)
  • Дерек Сиверс (Derek Sivers)
  • Джейсон Фрайд (Jason Fried)
  • Джефф Кауфман (Jeff Kaufman)
  • Джулия Эванс (Julia Evans)
  • ДИНАМАЙТ (DYNOMIGHT)
  • Дуглас Вагетти (Douglas Vaghetti)
  • Дэвид Амос (David Amos)
  • Ежедневная инфографика (Daily Infographic)
  • Ежедневные новости хакеров (Hacker News Daily)
  • Еженедельник Питона (Python Weekly)
  • Журнал "Уолл Стрит (The Wall Street Journal)
  • Журнал Кванта (Quanta Magazine)
  • Записка Безумного Неда (The Mad Ned Memo)
  • Зоран Джамбор (Zoran Jambor)
  • Илон Маск (Elon Musk)
  • Интернет-дом Джона (John's internet house)
  • Инфографика – Классная инфографика (Infographics – Cool Infographics)
  • Информационный бюллетень TLDR (TLDR Newsletter)
  • Информация прекрасна (Information is Beautiful)
  • Иррациональное Изобилие (Irrational Exuberance)
  • Исключение не найдено (Exception Not Found)
  • Используйте (Make Use Of)
  • Ихуи Се (Yihui Xie)
  • Канал Дурова (Durov's Channel)
  • Кевин Кокс (Kevin Cox)
  • КК – крутые инструменты (KK – Cool Tools)
  • КК – Рекомендую (KK – Recomendo)
  • КК – Техниум (KK – The Technium)
  • Колоссальный (Colossal)
  • Кристиан Хайльманн (Christian Heilmann)
  • Кришна (Krishna)
  • Кроличья нора (The Rabbit Hole)
  • Кэти Вуд (Cathie Wood)
  • Лин Олден – Инвестиционная стратегия (Lyn Alden – Investment Strategy)
  • Линии и цвета (Lines and Colors)
  • Марк Гурман (Mark Gurman)
  • Мозговые выборки (Brain Pickings)
  • Мой супер секретный дневник (My Super Secret Diary)
  • Морган Хаузел (Morgan Housel)
  • Морской (Naval)
  • Наткрофт (nutcroft)
  • Наука &amp;amp;amp;amp;amp;amp; технологии (Science & technology)
  • Неизведанные территории (Uncharted Territories)
  • нетерпеливые глаза (eagereyes)
  • Никаких классификаций
  • Новостная рассылка (News Letter)
  • Новые деньги Неккара (Neckar's New Money)
  • Обучение в день (A learning a day)
  • Обыденность (The Commonplace)
  • Обычный яблочный парень (Basic Apple Guy)
  • Охотничья прогулка (Hunter Walk)
  • Параг Агравал (Parag Agrawal)
  • Перевод из твиттера
  • Подробнее об этом (More To That)
  • Поиск продукта (Product Hunt)
  • Полная экономика стека (Full Stack Economics)
  • Практичный разработчик (The Practical Developer)
  • Проф Галлоуэй (Prof Galloway)
  • Психея (Psyche)
  • Рабочие области (Workspaces)
  • Рабочие пространства (Workspaces)
  • Реальная жизнь (Real Life)
  • Риккардо Мори (Riccardo Mori)
  • Рэй Далио (Ray Dalio)
  • Рэйчел (Rachel)
  • Саша (Sasha)
  • Себастьен Дюбуа (Sébastien Dubois)
  • СЛАЙМ ПЛЕСЕНИ ВРЕМЯ ПЛЕСЕНИ (SLIME MOLD TIME MOLD)
  • Статистика стеклянных узлов (Glassnode Insights)
  • Стеф Смит (Steph Smith)
  • Стратехия (Stratechery)
  • Текущий выпуск науки (Science current issue)
  • Тим Кук (Tim Cook)
  • Томаш Тунгуз (Tomasz Tunguz)
  • Трой Хант (Troy Hunt)
  • Фонд Саймонса (Simons Foundation)
  • ХАБ Сингулярности (Singularity HUB)
  • Хакер Новости (Hacker News)
  • Хакер полдень (Hacker Noon)
  • Холодные приемы (Cold Takes)
  • Цифровое вдохновение (Digital Inspiration)
  • Что нового (What's New)
  • что твердо (All That is Solid)
  • Экономика полного стека (Full Stack Economics)
  • Экономист (The Economist)
  • Энономист (Enonomist)
  • Энономист Печать (Enonomist Print)
  • Якоб Гринфельд (Jakob Greenfeld)

твиттер

На вашем сайте нет Метки, поэтому здесь нечего показывать.

  • Февраль 2023
  • Январь 2023
  • Декабрь 2022
  • Ноябрь 2022
  • Октябрь 2022
  • Сентябрь 2022
  • Август 2022
  • Июль 2022
  • Июнь 2022
  • Май 2022
  • Апрель 2022
  • Март 2022
©2023 Смотреть мир по-русски | Design: Newspaperly WordPress Theme