PostCSS

PostCSS
Камен мудрости, PostCSS лого
Камен мудрости, PostCSS лого
Оригинални аутор(и)Андреј Ситник, Бен Бригс, Богдан Чедкин[1]
Прво издање4. новембар 2013; пре 12 година (2013-11-04)
Стабилно издање
6.0.2 / 12. јун 2017; пре 9 година (2017-06-12)[2]
Репозиторијум Уреди на Википодацима
Написан уЈаваскрипт
Платформавишеплатформски
ТипCSS развојни алат
ЛиценцаМИТ лиценца[3]
Веб-сајтpostcss.org

PostCSS је софтверски развојни алат за аутоматизацију рутинских CSS операција коришћењем Јаваскрипт плагинова.[4] Овај алат је коришћен у развоју кода на Википедији,[5][6] Фејсбуку[7] и ГитХаб-у.[8][9] PostCSS је један од најпопуларнијих алата међу npm корисницима. Развио га је Андреј Сатник на основу свог рада на пројекту Зли Марсовци (енгл. Evil Martians).[10]

Начин функционисања

Структура

PostCSS начин рада

За разлику од Sass-a и LESS-a, PostCSS није шаблонски језик за компајлирање CSS-а, већ фрејмворк за развој CSS алата,[11] иако се може користити за развој шаблонских језика као што су Sass и Less.[12]

PostCSS се састоји од следећих компоненти:[13]

  • CSS парсер који генерише АСТ објектно стабло ѕа сваку линију CSS кода;
  • Скуп класа које чине стабло;
  • CSS генератор који генерише линију CSS кода за објектно стабло;
  • Генератор мапа кода за бележење промена у CSS-у.

Све ове корисне функционалности су доступне у виду плагинова. Плагинови су мањи програми који манипулишу објектним стаблом. Након трансформације CSS знаковног низа у објектно стабло, плагинови редом аналиѕирају и мењају стабло. Након тога језгро PostCSS-a генерише нови CSS знаковни низ за стабло.

Коришћење

PostCSS и плагинови су написани у Јаваскрипту и дистрибуирани путем npm-a.

PostCSS нуди АПИ ѕа основне операције са ЈаваСкриптом:

// Учитавање језгра и плагинова са npm-а
const postcss = require('postcss')
const autoprefixer = require('autoprefixer')
const precss = require('precss')

// Плагинови који се користе 
const processor = postcss([autoprefixer, precss])

// CSS код и називи фајлова за унос/уписивање 
processor.process('a {}', { from: './app.css', to: './app.build.css' })
  // Коришћење Promise API у случају постојања асинхроних плагинова
  .then(result => {
    // Приказивање пост-процесираног CSS кода
    console.log(result.css)
    // Приказивање поруке упозорења
    for ( let message of result.warnings() ) {
      console.warn(message.toString())
    }
  })

За интеграцију PostCSS-a и система за билдовање (као што су Вебпак,[14] Галп[15] и Грант[16]) развијени су званични алати, као и конзола која се може преуѕети.[17] Browserify или Webpack омогућавају коришћење PostCSS-a у веб прегледачима.[18]

Референце

Спољашње везе

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.