MJML is a markup language designed to reduce the pain of coding a responsive email. Its semantic syntax makes it easy and straightforward and its rich standard components library speeds up your development time and lightens your email codebase. MJML’s open-source engine generates high quality responsive HTML compliant with best practices.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<mjml> <mj-body> <mj-container> <mj-section> <mj-column> <mj-image width="100" src="/assets/img/logo-small.png"></mj-image> <mj-divider border-color="#F45E43"></mj-divider> <mj-text font-size="20px" color="#F45E43" font-family="helvetica">Hello World</mj-text> </mj-column> </mj-section> </mj-container> </mj-body> </mjml> |
Code My UI provides handpicked code snippets, you can use in your own web projects. You can find website design inspiration, plus some code samples.
It is an animation proxy: used as a wrapper of your chosen library, it may allow you to do more and better and it makes easy to switch from one library to another any time you want. Currently it can work together with GSAP, Velocity.js, Transit (CSS transitions) or jQuery.
As a big velocity fan, Tweene provides some nice unique additional options and the timeline feature pushes things to new levels ;)
„Snappy is a PHP5 library allowing thumbnail, snapshot or PDF generation from a url or a html page. It uses the excellent webkit-based wkhtmltopdf and wkhtmltoimage available on OSX, Linux, Windows.“
TWIG is always part of my development process, allowing me to easily update handling and apply changes for my customers.
Nice to see Timber (TWIG integration for WordPress) reach version 1.0.
Wolfram Alpha‘s computational knowledge engine or answer engine developed by Wolfram Research, which can be consumed as a service as well. Users submit queries and computation requests. Wolfram Alpha then computes answers and relevant visualizations from a knowledge base of curated, structured data that come from other sites and books. 2000 non-commercial API calls per month are free.
They provide a nice set of API Language Libraries to get you started.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<?php $appID = 'PLACE_YOUR_APP_ID_HERE'; if (!$queryIsSet) die(); $qArgs = array(); if (isset($_REQUEST['assumption'])) $qArgs['assumption'] = $_REQUEST['assumption']; // instantiate an engine object with your app id $engine = new WolframAlphaEngine( $appID ); // we will construct a basic query to the api with the input 'pi' // only the bare minimum will be used $response = $engine->getResults( $_REQUEST['q'], $qArgs); // getResults will send back a WAResponse object // this object has a parsed version of the wolfram alpha response // as well as the raw xml ($response->rawXML) // we can check if there was an error from the response object if ( $response->isError() ) { ?> <h1>There was an error in the request</h1> </body> </html> <?php die(); } ?> |
SPLIT PANES / DOCKER allow you to display multiple areas, either side by side or one on top of each other. Nested layouts are often part of it. By dragging a divider that appears between the areas, the user can specify how much of the total width / height goes to each area.
I have been building a backend interface in the past weeks, that forced me to look into ways to organize the workspace more efficiently . I could code my own splitter, but is not a priority right now and makes no sense to always reinvent the wheel :)
Here some of the options out there…
This uses the jQuery UI draggable component and provides limited options :)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$('.splitter').draggable({ axis: 'x', containment: '#content', distance: 0, drag: function(event, ui) { var width = $('#content').width(); $('#content .leftpane').css({ width: ui.position.left + 'px' }); $('#content .rightpane').css({ left: ui.position.left + 1 + 'px', width: (width - ui.position.left + 1) + 'px' }); }, refreshPositions: true, scroll: false }); |
1 |
<canvas id="myChart" width="400" height="400"></canvas> |
1 2 3 4 |
// Any of the following formats may be used var ctx = document.getElementById("myChart"); var ctx = document.getElementById("myChart").getContext("2d"); var ctx = $("#myChart"); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<canvas id="myChart" width="400" height="400"></canvas> <script> var ctx = document.getElementById("myChart"); var myChart = new Chart(ctx, { type: 'bar', data: { labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"], datasets: [{ label: '# of Votes', data: [12, 19, 3, 5, 2, 3] }] }, options: { scales: { yAxes: [{ ticks: { beginAtZero:true } }] } } }); </script> |
„Responsive FileManager is a free open-source file manager and image manager made with jQuery, CSS3, PHP and HTML5 that offers a nice and elegant way to upload and insert files, images and videos.
You can use it as external plugin for TinyMCE, CKEditor and CLEditor or as a stand-alone file manager to manage and select files.“
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
tinymce.init({ selector: "textarea",theme: "modern",width: 680,height: 300, plugins: [ "advlist autolink link image lists charmap print preview hr anchor pagebreak", "searchreplace wordcount visualblocks visualchars insertdatetime media nonbreaking", "table contextmenu directionality emoticons paste textcolor responsivefilemanager code" ], toolbar1: "undo redo | bold italic underline | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | styleselect", toolbar2: "| responsivefilemanager | link unlink anchor | image media | forecolor backcolor | print preview code ", image_advtab: true , external_filemanager_path:"/filemanager/", filemanager_title:"Responsive Filemanager" , external_plugins: { "filemanager" : "/filemanager/plugin.min.js"} }); |