CSS Preprocessing: Tools and Automation Techniques †
Total Page:16
File Type:pdf, Size:1020Kb

Load more
Recommended publications
-
Style Sheets CSS
P1: OSO/OVY P2: OSO/OVY QC: OSO/OVY T1: OSO GTBL013-03 GTBL013-Jackson-v10 July 12, 2006 10:36 CHAPTER 3 Style Sheets CSS As we have learned, HTML markup can be used to indicate both the semantics of a document (e.g., which parts are elements of lists) and its presentation (e.g., which words should be italicized). However, as noted in the previous chapter, it is advisable to use markup predominantly for indicating the semantics of a document and to use a separate mechanism to determine exactly how information contained in the document should be presented. Style sheets provide such a mechanism. This chapter presents basic information about Cascading Style Sheets (CSS), a style sheet technology designed to work with HTML and XML documents. CSS provides a great deal of control over the presentation of a document, but to exercise this control intelligently requires an understanding of a number of features. And, while you as a software developer may not be particularly interested in getting your web page to look “just so,” many web software developers are members of teams that include professional web page designers, some of whom may have precise presentation require- ments. Thus, while I have tried to focus on what I consider key features of CSS, I’ve also included a number of finer points that I believe may be more useful to you in the future than you might expect on first reading. While CSS is used extensively to style HTML documents, it is not the only style- related web technology. -
Paul M. Graffam Email: [email protected] ● Website: Paulgraffix.Com
Paul Graffam Resume Paul M. Graffam Email: [email protected] ● Website: paulgraffix.com Professional Profile ● 7+ years of work experience in programming and 4 years in agency. ● Ability to work collaboratively with colleagues across disciplines. Enthusiastic, positive attitude and self-starter. ● Eager to meet challenges and quickly assimilate newest technologies, skills, concepts, and ideas. ● Self-motivated and detail orientated with strong ability to multitask. ● Superior computer skills. Proficiency with many applications as well as hand coding with a variety of IDEs. Highly capable with either PC or Mac. ● Creative troubleshooter/problem-solver who works hard and loves a challenge. ● Bilingual: fluent in both English and Spanish. Skills Front End Back End Other ● XHTML & HTML5 ● PHP ● Windows ● CSS3 & CSS4 (postCSS) ● Python ● Mac ● Javascript (ES5 & ES6) ● Ruby & Rails/ERB ● Linux ● jQuery ● VB/C# .NET ● Adobe CS ● LESS/SASS/Stylus ● SQL/NoSQL (mongoDB) ● Visual Studio ● Grunt/Gulp/Browserify ● XML & XSL ● Sublime Text/Atom ● Webpack ● Apache/Google App Engine ● WebStorm ● React/Angular/Backbone ● Heroku/Firebase/Azure/AWS ● Git/SVN ● Bower/NPM ● Node.js & Express ● SQL Server ● Bootstrap/Foundation ● CMSes (Craft, Contentful, ● Unity3D ● Handlerbars/Moustache Drupal, Sharepoint, Wordpress) ● Bash/SH ● Jade/HAML ● Social APIs ● Premiere/Final Cut ● WebGL/Three.js Pro Work Experience Interactive Developer for Stinkdigital - Dumbo, NY Oct ‘15 – Jul ‘16 ● Immersed into a massive project for Spotify’s Year in Music on the first day, working on both the front and back end. Consisting of a responsive WebGL experience via pixi.js and tied to Spotify’s API, translated into 35 languages all managed by a custom CMS. Received multiple Webbys, FWA and Awwwards winners. -
Scribble As Preprocessor
Scribble as Preprocessor Version 8.2.0.8 Matthew Flatt and Eli Barzilay September 25, 2021 The scribble/text and scribble/html languages act as “preprocessor” languages for generating text or HTML. These preprocessor languages use the same @ syntax as the main Scribble tool (see Scribble: The Racket Documentation Tool), but instead of working in terms of a document abstraction that can be rendered to text and HTML (and other formats), the preprocessor languages work in a way that is more specific to the target formats. 1 Contents 1 Text Generation 3 1.1 Writing Text Files . .3 1.2 Defining Functions and More . .7 1.3 Using Printouts . .9 1.4 Indentation in Preprocessed output . 11 1.5 Using External Files . 16 1.6 Text Generation Functions . 19 2 HTML Generation 23 2.1 Generating HTML Strings . 23 2.1.1 Other HTML elements . 30 2.2 Generating XML Strings . 32 2.3 HTML Resources . 36 Index 39 Index 39 2 1 Text Generation #lang scribble/text package: scribble-text-lib The scribble/text language provides everything from racket/base, racket/promise, racket/list, and racket/string, but with additions and a changed treatment of the module top level to make it suitable as for text generation or a preprocessor language: • The language uses read-syntax-inside to read the body of the module, similar to §6.7 “Document Reader”. This means that by default, all text is read in as Racket strings; and @-forms can be used to use Racket functions and expression escapes. • Values of expressions are printed with a custom output function. -
Section “Common Predefined Macros” in the C Preprocessor
The C Preprocessor For gcc version 12.0.0 (pre-release) (GCC) Richard M. Stallman, Zachary Weinberg Copyright c 1987-2021 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation. A copy of the license is included in the section entitled \GNU Free Documentation License". This manual contains no Invariant Sections. The Front-Cover Texts are (a) (see below), and the Back-Cover Texts are (b) (see below). (a) The FSF's Front-Cover Text is: A GNU Manual (b) The FSF's Back-Cover Text is: You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development. i Table of Contents 1 Overview :::::::::::::::::::::::::::::::::::::::: 1 1.1 Character sets:::::::::::::::::::::::::::::::::::::::::::::::::: 1 1.2 Initial processing ::::::::::::::::::::::::::::::::::::::::::::::: 2 1.3 Tokenization ::::::::::::::::::::::::::::::::::::::::::::::::::: 4 1.4 The preprocessing language :::::::::::::::::::::::::::::::::::: 6 2 Header Files::::::::::::::::::::::::::::::::::::: 7 2.1 Include Syntax ::::::::::::::::::::::::::::::::::::::::::::::::: 7 2.2 Include Operation :::::::::::::::::::::::::::::::::::::::::::::: 8 2.3 Search Path :::::::::::::::::::::::::::::::::::::::::::::::::::: 9 2.4 Once-Only Headers::::::::::::::::::::::::::::::::::::::::::::: 9 2.5 Alternatives to Wrapper #ifndef :::::::::::::::::::::::::::::: -
Julia: a Fresh Approach to Numerical Computing
RSDG @ UCL Julia: A Fresh Approach to Numerical Computing Mosè Giordano @giordano [email protected] Knowledge Quarter Codes Tech Social October 16, 2019 Julia’s Facts v1.0.0 released in 2018 at UCL • Development started in 2009 at MIT, first • public release in 2012 Julia co-creators won the 2019 James H. • Wilkinson Prize for Numerical Software Julia adoption is growing rapidly in • numerical optimisation, differential equations, machine learning, differentiable programming It is used and taught in several universities • (https://julialang.org/teaching/) Mosè Giordano (RSDG @ UCL) Julia: A Fresh Approach to Numerical Computing October 16, 2019 2 / 29 Julia on Nature Nature 572, 141-142 (2019). doi: 10.1038/d41586-019-02310-3 Mosè Giordano (RSDG @ UCL) Julia: A Fresh Approach to Numerical Computing October 16, 2019 3 / 29 Solving the Two-Language Problem: Julia Multiple dispatch • Dynamic type system • Good performance, approaching that of statically-compiled languages • JIT-compiled scripts • User-defined types are as fast and compact as built-ins • Lisp-like macros and other metaprogramming facilities • No need to vectorise: for loops are fast • Garbage collection: no manual memory management • Interactive shell (REPL) for exploratory work • Call C and Fortran functions directly: no wrappers or special APIs • Call Python functions: use the PyCall package • Designed for parallelism and distributed computation • Mosè Giordano (RSDG @ UCL) Julia: A Fresh Approach to Numerical Computing October 16, 2019 4 / 29 Multiple Dispatch using DifferentialEquations -
Webpack Cheatsheet
12/25/18, 655 PM Page 1 of 1 ! Edit Webpack cheatsheet — Proudly sponsored by — Airbrake.io Full-stack error tracking & analytics for Python developers. Try it Free! ethical ads via CodeFund This is a very basic “getting started with Webpack” guide for use with Webpack v3. This doesnʼt cover all features, but it should get you started in understanding the config file format. Basic config webpack.config.js module.exports = { context: __dirname, entry: 'src/app.js', output: { path: __dirname + '/public', filename: 'app.js' } } Terminal npm install --save-dev webpack webpack build webpack -- -p build production webpack -- --watch compile continuously This compiles src/app.js into public/app.js. (Note: you may need to use ./node_modules/.bin/webpack as a command if youʼre not invoking Webpack via npm scripts.) Multiple files webpack.config.js module.exports = { entry: { app: 'src/app.js', vendor: 'src/vendor.js' }, output: { path: __dirname + '/public', filename: '[name].js' } } This creates app.js and vendor.js. # Loaders Babel Terminal npm install --save-dev \ babel-loader \ babel-preset-env \ babel-preset-react webpack.config.js module.exports = { ··· module: { rules: [ { test: /\.js$/, exclude: /node_modules/, use: [ { loader: 'babel-loader' } ] } ] } } .babelrc { "presets": [ "env", "react" ] } Adds support for Babel. CSS Terminal npm install --save-dev \ css-loader \ style-loader webpack.config.js module.exports = { ··· module: { rules: [ { test: /\.css$/, exclude: /node_modules/, use: [ { loader: 'style-loader' }, { loader: 'css-loader' -
Open Source Licenses Visionize Lab Suite the Software of Visionize Lab Suite Contains Open Source Licenses Included in This Document
Open Source Licenses VisioNize Lab Suite The software of VisioNize Lab Suite contains open source licenses included in this document. Package name License Website/Repository Publisher/Author @angular-devkit/[email protected] MIT https://github.com/angular/angular-cli Angular Authors @angular-devkit/[email protected] MIT https://github.com/angular/angular-cli Angular Authors @angular-devkit/build-optimiz- MIT https://github.com/angular/angular-cli Angular Authors [email protected] @angular-devkit/build-web- MIT https://github.com/angular/angular-cli Angular Authors [email protected] @angular-devkit/[email protected] MIT https://github.com/angular/angular-cli Angular Authors @angular-devkit/[email protected] MIT https://github.com/angular/angular-cli Angular Authors @angular/[email protected] MIT https://github.com/angular/angular angular @angular/[email protected] MIT https://github.com/angular/angular-cli Angular Authors @angular/[email protected] MIT https://github.com/angular/angular angular @angular/[email protected] MIT https://github.com/angular/angular @angular/[email protected] MIT https://github.com/angular/angular angular @angular/[email protected] MIT https://github.com/angular/angular angular @angular/[email protected] MIT https://github.com/angular/angular angular @angular/[email protected] MIT https://github.com/angular/angular angular @angular/platform-browser-dynam- MIT https://github.com/angular/angular angular [email protected] @angular/[email protected] MIT https://github.com/angular/angular angular @angular/[email protected] MIT https://github.com/angular/angular angular -
Automated Large-Scale Multi-Language Dynamic Program
Automated Large-Scale Multi-Language Dynamic Program Analysis in the Wild Alex Villazón Universidad Privada Boliviana, Bolivia [email protected] Haiyang Sun Università della Svizzera italiana, Switzerland [email protected] Andrea Rosà Università della Svizzera italiana, Switzerland [email protected] Eduardo Rosales Università della Svizzera italiana, Switzerland [email protected] Daniele Bonetta Oracle Labs, United States [email protected] Isabella Defilippis Universidad Privada Boliviana, Bolivia isabelladefi[email protected] Sergio Oporto Universidad Privada Boliviana, Bolivia [email protected] Walter Binder Università della Svizzera italiana, Switzerland [email protected] Abstract Today’s availability of open-source software is overwhelming, and the number of free, ready-to-use software components in package repositories such as NPM, Maven, or SBT is growing exponentially. In this paper we address two straightforward yet important research questions: would it be possible to develop a tool to automate dynamic program analysis on public open-source software at a large scale? Moreover, and perhaps more importantly, would such a tool be useful? We answer the first question by introducing NAB, a tool to execute large-scale dynamic program analysis of open-source software in the wild. NAB is fully-automatic, language-agnostic, and can scale dynamic program analyses on open-source software up to thousands of projects hosted in code repositories. Using NAB, we analyzed more than 56K Node.js, Java, and Scala projects. Using the data collected by NAB we were able to (1) study the adoption of new language constructs such as JavaScript Promises, (2) collect statistics about bad coding practices in JavaScript, and (3) identify Java and Scala task-parallel workloads suitable for inclusion in a domain-specific benchmark suite. -
Jiho£Eská Univerzita V Ƒeských Bud¥Jovicích Postcss a Cssnext Jako
Jiho£eská univerzita v eských Bud¥jovicích Pedagogická fakulta Katedra informatiky PostCSS a cssnext jako nástroje pro transformaci a modularitu CSS JavaScriptem PostCSS and cssnext, tools enabling transformation and modularity of CSS using JavaScript Bakalá°ská práce Vypracoval: Jakub Jetleb Vedoucí práce: PaedDr. Petr Pexa, Ph.D. eské Bud¥jovice 2018 Prohlá²ení Prohla²uji, ºe svoji bakalá°skou práci jsem vypracoval samostatn¥ pouze s po- uºitím pramen· a literatury uvedených v seznamu citované literatury. Prohla²uji, ºe v souladu s 47b zákona £. 111/1998 Sb. v platném zn¥ní sou- hlasím se zve°ejn¥ním své bakalá°ské práce, a to v nezkrácené podob¥ elektro- nickou cestou ve ve°ejn¥ p°ístupné £ásti databáze STAG provozované Jiho£es- kou univerzitou v eských Bud¥jovicích na jejích internetových stránkách, a to se zachováním mého autorského práva k odevzdanému textu této kvalika£ní práce. Souhlasím dále s tím, aby toutéº elektronickou cestou byly v souladu s uvedeným ustanovením zákona £. 111/1998 Sb. zve°ejn¥ny posudky ²kolitele a oponent· práce i záznam o pr·b¥hu a výsledku obhajoby kvalika£ní práce. Rovn¥º souhlasím s porovnáním textu mé kvalika£ní práce s databází kvali- ka£ních prací Theses.cz provozovanou Národním registrem vysoko²kolských kvalika£ních prací a systémem na odhalování plagiát·. V eských Bud¥jovicích dne 8. £ervence 2018. Abstrakt/Anotace Cílem bakalá°ské práce je zpracovat problematiku nástroj· PostCSS a CSSnext, které jsou ur£eny pro transformaci a modularitu CSS JavaScriptem vyuºitím prom¥nných a vkládaných import·. Tyto nástroje usnad¬ují práci p°i tvorb¥ front-end webových aplikací, díky standardizované syntaxi a modularit¥ nap°. -
Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification
Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification W3C Recommendation 07 June 2011, edited in place 12 April 2016 to point to new work This version: http://www.w3.org/TR/2011/REC-CSS2-20110607 Latest version: http://www.w3.org/TR/CSS2 Previous versions: http://www.w3.org/TR/2011/PR-CSS2-20110412 http://www.w3.org/TR/2008/REC-CSS2-20080411/ Latest editor's draft: http://dev.w3.org/csswg/css2/ Editors: Bert Bos <BERT @w3.org> Tantek Çelik <TANTEK @cs.stanford.edu> Ian Hickson <IAN @hixie.ch> Håkon Wium Lie <HOWCOME @opera.com> Please refer to the errata for this document. This document is also available in these non-normative formats: plain text, gzip'ed tar file, zip file, gzip'ed PostScript, PDF. See also translations. Copyright © 2011 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C LIABILITY, TRADEMARK AND DOCUMENT USE rules apply. Abstract This specification defines Cascading Style Sheets, level 2 revision 1 (CSS 2.1). CSS 2.1 is a style sheet language that allows authors and users to attach style (e.g., fonts and spac- ing) to structured documents (e.g., HTML documents and XML applications). By separating the presentation style of documents from the content of documents, CSS 2.1 simplifies Web authoring and site maintenance. CSS 2.1 builds on CSS2 [CSS2] p. 284 which builds on CSS1 [CSS1] p. 283. It supports media-specific style sheets so that authors may tailor the presentation of their documents to visual browsers, aural devices, printers, braille devices, handheld devices, etc. It also sup- ports content positioning, table layout, features for internationalization and some properties related to user interface. -
1Lesson 1: Markup Language and Site Development Essentials
1Lesson 1: Markup Language and Site Development Essentials Objectives By the end of this lesson, you will be able to: 2.1.1: Relate the history of markup languages to current techniques and technologies, including Standard Generalized Markup Language (SGML), previous versions of Hypertext Markup Language (HTML). 2.1.2: Identify the format and various versions of HTML, including HTML 4.01, Extensible HTML (XHTML), HTML5. 2.1.8: Explain the importance of consistently developing to a single W3C standard (e.g., HTML5). 2.6.1: Describe the functionality of XML. 2.7.1: Obtain input from stakeholders about acceptable technologies and color combinations. 2.7.2: Create an initial Web site diagram (i.e., a story board or prototype), and translate it into a site map. 2.7.3: Verify compliance with government and industry accessibility standards, including W3C Web Accessibility Initiative (WAI), U.S. Government Section 508, Americans with Disabilities Act (ADA). 2.7.4: Validate Web page design according to technical and audience standards adopted by employers. 2.7.5: Verify Web site usability, viewability and browser compatibility. 2.12.1: Test and validate Web documents. 2.12.3: Test Web pages in multiple browsers. 2.13.1: Work as a team member to develop pages and sites. 1-2 Site Development Associate 2.13.2: Collaborate with technical (e.g., IT) and non-technical (e.g., marketing) members of the organization to ensure sites meet requirements. 2.13.3: Determine information and audience requirements for a site, including stakeholders such as customers, employees, shareholders, suppliers. 2.13.4: Document a Web site plan. -
Macros & Sweet.Js
CS 252: Advanced Programming Language Principles Macros & Sweet.js Prof. Tom Austin San José State University Let's say we want to add classes to JavaScript… We'd like to have something like: class Person { constructor(name) { this.name = name; } say(msg) { console.log(this.name + " says: " + msg); } } But what we have to type is: function Person(name) { this.name = name; } Person.prototype.say = function(msg) { console.log(this.name + " says: " + msg); } We want to expand our code with classes to a version of JavaScript understood by the interpreter. Introducing macros… What is a macro? • Short for macroinstruction. • Rule specifies how input sequence maps to a replacement sequence. A Review of Compilers source Lexer/ tokens Parser code Tokenizer Abstract Compiler Interpreter Syntax Tree (AST) Machine code Commands Macros in C • C preprocessor • Text substitution macros –text is converted to text. • Embedded languages are similar – PHP, Ruby's erb, etc. Some variants work at the token level, but the concept is the same. expanded Pre- Lexer/ source code tokens Parser code processor Tokenizer Abstract Compiler Interpreter Syntax Tree (AST) Machine code Commands C preprocessor example #define PI 3.14159 #define SWAP(a,b) {int tmp=a;a=b;b=tmp;} int main(void) { int x=4, y=5, diam=7, circum=diam*PI; SWAP(x,y); } int main(void) { int x=4, y=5, diam=7, circum=diam*PI; SWAP(x,y); } int main(void) { int x=4, y=5, diam=7, circum=diam*3.14159; {int tmp=x;x=y;y=tmp;}; } Problems with C macros (in class) Many macro systems suffer from inadvertent variable capture.