Wszystkie wpisy, których autorem jest admin

Intro to Vue.js: Rendering, Directives, and Events

Post pobrano z: Intro to Vue.js: Rendering, Directives, and Events

If I was going to sum up my experiences with Vue in a sentence, I’d probably say something like „it’s just so reasonable” or „It gives me the tools I want when I want them, and never gets in my way”. Again and again, when learning Vue, I smiled to myself. It just made sense, elegantly.

This is my own introductory take on Vue. It’s the article I wish I had when I was first learning Vue. If you’d like a more non-partisan approach, please visit Vue’s very well thought out and easy to follow Guide.

Article Series:

  1. Rendering, Directives, and Events (You are here!)
  2. Components, Props, and Slots (Coming soon!)
  3. Vue-cli (Coming soon!)
  4. Vuex (Coming soon!)
  5. Animations (Coming soon!)

One of my favorite things about Vue is that it takes all of the successful things from other frameworks, and incorporates them without getting disorganized. Some examples that stand out for me:

  • A virtual DOM with reactive components that offer the View layer only, props and a Redux-like store similar to React.
  • Conditional rendering, and services, similar to Angular.
  • Inspired by Polymer in part in terms of simplicity and performance, Vue offers a similar development style as HTML, styles, and JavaScript are composed in tandem.

Some benefits I’ve enjoyed over Vue’s competitors: cleaner, more semantic API offerings, slightly better performance than React, no use of polyfills like Polymer, and an isolated, less opinionated view than Angular, which is an MVC.

I could go on, but it’s probably better if you read their comprehensive and community-driven comparison with other frameworks. It’s worth a read, but you can skip back to it later if you’d like to dive into the code.

Let’s Get Started!

We can’t kick this off without the obligatory „Hello, world!” example. Let’s do that so you can get up and running:

<div id="app">
 {{ text }} Nice to meet Vue.
</div>
new Vue({
 el: '#app',
 data: {
   text: 'Hello World!'
 }
});

See the Pen Vue Hello World by Sarah Drasner (@sdras) on CodePen.

If you’re familiar with React, this will have some similarities. We’ve escaped into JavaScript in the middle of the content with the mustache template and used a variable, but one difference is we are working with straight up HTML instead of JSX. JSX is pretty easy to work with, but I do think it’s nice that I don’t have to spend time changing class to className, etc. You’ll also notice that this is pretty lightweight to get up and running.

Now let’s try Vue out with something I really love: loops and conditional rendering.

Conditional Rendering

Let’s say I have a set of items, like navigation, that I know I’m going to reuse. It might make sense to put it in an array to update it in a few places dynamically and consistently. In vanilla JS (with Babel) we might do something like this: create the array, then create an empty string where we add each item wrapped in an <li>, and then wrap all of that in a <ul> and add it to the DOM with innerHTML:

<div id="container"></div>
const items = [
  'thingie',
  'another thingie',
  'lots of stuff',
  'yadda yadda'
];

function listOfStuff() {
  let full_list = '';
  for (let i = 0; i < items.length; i++) {
      full_list = full_list + `<li> ${items[i]} </li>`
  }
  const contain = document.querySelector('#container');
  contain.innerHTML = `<ul> ${full_list} </ul>`;     
}

listOfStuff();

See the Pen e699f60b79b90a35401cc2bcbc588159 by Sarah Drasner (@sdras) on CodePen.

This works fine, but it’s a bit messy for something so standard. Now let’s implement that same thing with Vue’s loop with v-for:

<div id="app">
  <ul>
    <li v-for="item in items">
      {{ item }}
    </li>
  </ul>
</div>
const app4 = new Vue({
  el: '#app',
  data: {
    items: [
      'thingie',
      'another thingie',
      'lots of stuff',
      'yadda yadda'
    ]
  }
});

See the Pen Conditional Rendering in Vue by Sarah Drasner (@sdras) on CodePen.

Pretty clean and declarative. If you’re familiar with Angular, this will likely be familiar to you. I find this to be such a clean and legible way to conditionally render. If you jumped into the code and had to update it, you could do so very easily.

Another really nice offering is dynamic binding with v-model. Check this out:

<div id="app">
  <h3>Type here:</h3>
  <textarea v-model="message" class="message" rows="5" maxlength="72"></textarea><br>
  <p class="booktext">{{ message }} </p>
</div>
new Vue({
  el: '#app',
  data() {
    return {
      message: 'This is a good place to type things.'  
    }
  }
});

See the Pen Vue Book v-model basic by Sarah Drasner (@sdras) on CodePen.

You’ll probably notice two things about this demo. First, that it really took nothing at all to type directly into the book and dynamically update the text. Vue enables us to very easily set up two-way binding between the <textarea> and the <p> with v-model.

The other thing you might notice is that we’re now putting data in a function. In this example, it would work without doing so. We could have just put it in an object like our earlier examples. But this would only work for the Vue instance and be exactly the same across the application (thus, not so great for individual components). It’s OK for one Vue instance, but this will share data across all of the child components as well. It’s good practice to start putting data in a function because we’ll need to when we start using components and want them to each hold state of their own.

These aren’t the only easy input bindings available to you at all, and even v-if has an alternate, v-show, which won’t mount/unmount the component, but rather, leave it in the DOM and toggle visibility.

There are so many more directives available to you, here’s a sampling of some of the ones I use very often. A lot of these offer shortcuts as well, so I’ll show both. From here on, we’ll mostly use the shortcuts, so it’s good to at least familiarize yourself with them a little bit in this table.

Name Shortcut Purpose Example
v-if, v-else-if, v-else none Conditional Rendering <g v-if="flourish === 'A'"></g>
<g v-else-if="flourish === 'B'"></g>
<g v-else></g>
v-bind : Bind attributes dynamically, or pass props <div :style="{ background: color }"></div>
v-on @ Attaches an event listener to the element <button @click="fnName"></button>
v-model none Creates two-way binding <textarea rows="5" v-model="message" maxlength="72"></textarea>
v-pre none Skip compiling for raw content, can boost performance <div v-pre>{{ raw content with no methods}}</div>
v-once none Don’t rerender <div class=”v-once”>Keep me from rerendering</div>
v-show none Will show or hide a component/element based on state, but will leave it in the DOM without unmounting (unlike v-if) <child v-show=”showComponent”></child> (toggles visibility when showComponent is true)

There are also really nice event modifiers and other API offerings to speed up development like:

  • @mousemove.stop is comparable to e.stopPropogation()
  • @mousemove.prevent this is like e.preventDelegation()
  • @submit.prevent this will no longer reload the page on submission
  • @click.once not to be confused with v-once, this click event will be triggered once.
  • v-model.lazy won’t populate the content automatically, it will wait to bind until an event happens.

You can even configure your own keycodes.

We’ll use these in examples a bit more coming up!

Event Handling

Binding that data is all well and good but only gets us so far without event handling, so let’s cover that next! This is one of my favorite parts. We’ll use the binding and listeners above to listen to DOM events.

There are a few different ways to create usable methods within our application. Just like in vanilla JS, you can pick your function names, but methods are intuitively called, well, methods!

new Vue({
  el: '#app',
  data() {
   return {
    counter: 0
   }
  },
  methods: {
   increment() {
     this.counter++;
   }
  }
});
<div id="app">
  <p><button @click="increment">+</button> {{ counter }}</p>
</div>

We’re creating a method called increment, and you can see that this automatically binds to this and will refer to the data in this instance and component. I love this kind of automatic binding, it’s so nice to not have to console.log to see what this is referring to. We’re using shorthand @click to bind to the click event here.

Methods aren’t the only way to create a custom function. You can also use watch. The main difference is that methods are good for small, synchronous calculations, while watch is helpful with more tasking or asynchronous or expensive operations in response to changing data. I tend to use watch most often with animations.

Let’s go a little further and see how we’d pass in the event itself and do some dynamic style bindings. If you recall in the table above, instead of writing v-bind, you can use the shortcut :, so we can bind pretty easily to style (as well as other attributes) by using :style and passing in state, or :class. There are truly a lot of uses for this kind of binding.

In the example below, we’re using hsl(), in which hue calculated as a circle of degrees of color that wraps all the way around. This is good for our use as it will never fail, so as we track our mouse in pixels across the screen, the background style will update accordingly. We’re using ES6 template literals here.

new Vue({
  el: '#app',
  data() {
    return {
      counter: 0,
      x: 0
    }
  },
  methods: {
    increment() {
      this.counter++;
   },
   decrement() {
     this.counter--;
   },
   xCoordinate(e) {
     this.x = e.clientX;
   }
  }
});
<div id="app" :style="{ backgroundColor: `hsl(${x}, 80%, 50%)` }" @mousemove="xCoordinate">
  <p><button @click="increment">+</button> {{ counter }} <button @click="decrement">-</button></p>
  <p>Pixels across: {{ x }}</p>
</div>

See the Pen Showing simple event handling by Sarah Drasner (@sdras) on CodePen.

You can see that we didn’t even need to pass in the event to the @click handler, Vue will automatically pass it for you to be available as a parameter for the method. (shown as e here).

Also, native methods can also be used, such as event.clientX, and it’s simple to pair them with this instances. In the style binding on the element there’s camel casing for hyphenated CSS properties. In this example, you can see how simple and declarative Vue is to work with.

We don’t even actually need to create a method at all, we could also increase the counter directly inline in the component if the event is simple enough:

<div id="app">
  <div class="item">
    <img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/28963/backpack.jpg" width="235" height="300"/>
    <div class="quantity">
      <button class="inc" @click="counter > 0 ? counter -= 1 : 0">-</button>
      <span class="quant-text">Quantity: {{ counter }}</span>
      <button class="inc" @click="counter += 1">+</button>
    </div>
    <button class="submit" @click="">Submit</button>
  </div><!--item-->
</div>
new Vue({
  el: '#app',
  data() {
    return {
      counter: 0
    }
  }
});

See the Pen Backpack Shop Counter by Sarah Drasner (@sdras) on CodePen.

You can see that we’re updating the state directly in the @click handler without a method at all- you can also see that we can add a little bit of logic in there as well (as you wouldn’t have lower than zero items on a shopping site). Once this logic gets too complex, though, you sacrifice legibility, so it’s good to move it into a method. It’s nice to have the option for either, though.

Article Series:

  1. Rendering, Directives, and Events (You are here!)
  2. Components, Props, and Slots (Coming soon!)
  3. Vue-cli (Coming soon!)
  4. Vuex (Coming soon!)
  5. Animations (Coming soon!)

Intro to Vue.js: Rendering, Directives, and Events is a post from CSS-Tricks

A practical guide to Progressive Web Apps for organisations who don’t know anything about Progressive Web Apps

Post pobrano z: A practical guide to Progressive Web Apps for organisations who don’t know anything about Progressive Web Apps

Sally Jenkinson:

Progressive Web Apps (sometimes referred to as PWAs, because everything in tech needs an acronym) is the encapsulating term for websites following a certain approach, that meet particular technical criteria. The „app” involvement in the name isn’t an accident – these creations share much of the functionality that you’ll find in native experiences – but really, they’re just websites.

It’s like if you build a website that is so damn good, you get to have a home screen icon on mobile devices. And good is defined by performance and progressive enhancement.

When you hear people say „I want the web to win” they typically mean „I don’t want to lose the web to proprietary app development”. PWAs seem like an early step toward making web apps not second-class citizens on mobile devices. Maybe there is a future where native app development is web development.

Direct Link to ArticlePermalink


A practical guide to Progressive Web Apps for organisations who don’t know anything about Progressive Web Apps is a post from CSS-Tricks

How to Create a Set of Emoticons in Adobe Illustrator

Post pobrano z: How to Create a Set of Emoticons in Adobe Illustrator

Final product image
What You’ll Be Creating

This tutorial was originally published in January 2013 as a Envato Tuts+ Premium tutorial. It is now available free to view. Although this tutorial does not use the latest version of Adobe Illustrator, its techniques and process are still relevant. 

In this tutorial we are going to draw a set of Emoticons or Smileys by using gradients and basics shapes that, combined with the Pathfinder panel, will give the emoticons life. So let’s begin.

Want an awesome emoticon pack for your next design project? Then check out our wicked selection of Premium Emoticon Packs from GraphicRiver and Envato Elements.

1. How to Create the Emoticon Base

Step 1

First open a New document (Command-N) and add layers in this order: on top it’s the „Faces” layer, then the „Faces Sketch” layer and the „Base” layer (in here we are going to draw our base shape of the emoticons) and finally the „Base Sketch” layer.

Create the Emoticon Base

Step 2

In the „Base Sketch” layer we draw our base figure of the emoticons by using the Blob Brush Tool (Shift-B). In this case it’s just a circle with some lines to define shadows and lights. Lower the Opacity of the sketch to 40% and lock the „Base Sketch” layer. We are going to begin to draw in the „Base” layer.

Create the Emoticon Base

Step 3

Our circle (L) size is 300 x 300 px. This is the basic shape, so draw it with a 1 pt black stroke.

Create the Emoticon Base

Step 4

Select the circle and apply the Offset Path option (Object > Path > Offset Path) with a -10 px Offset value. With this we get a circle a little smaller than our original circle (you can also do it by duplicating it and scale it).

Create the Emoticon Base

Step 5

Now duplicate the circle (the blue one in the image) with Command-C to Copy and Command-F to Paste in Front, and drag it like the magenta circle in the image. Duplicate the blue circle again, select both circles, and apply Intersect in the Pathfinder panel.

Create the Emoticon Base

And we get this figure (yellow one)—this is the light area of the emoticon.

Create the Emoticon Base

Step 6

Now repeat the process—Duplicate the circle again. Drag it like the magenta circle in the image, duplicate the blue circle in the image again, select both, and apply Intersect in the Pathfinder panel again.

Create the Emoticon Base

And we get this figure (yellow one)—this is the darker area of the emoticon.

Create the Emoticon Base

Step 7

Select all the shapes and press D. This is our emoticon’s base shape without color. With the color application we are going to detail a little bit more. Now you can Delete your „Base Sketch” layer.

Create the Emoticon Base

Step 8

This is our color palette:

  • White #FFFFFF
  • Yellow #FCF17C
  • Red #F05850
  • Blue #67CDF5
  • Brown #641912

With these colors we are going to generate all the gradient combinations to have a more complete palette (all the gradients we are going to use are linear gradients). To save your palette colors, select the colors and click the New Color Group icon in the Swatches panel.

Create the Emoticon Base

Just give a name to your palette and click OK.

Create the Emoticon Base

Step 9

Now we add the gradients of each color, first from an Opacity of 100% to 0% for each one. To change colors in the gradient window, just double click on the color and you get your Swatches panel, and there you change the colors.

Create the Emoticon Base

Step 10

Now the gradients with all the colors with white.

Create the Emoticon Base

Now with the yellow color.

Create the Emoticon Base

The red color.

Create the Emoticon Base

And finally the blue. Now we have all the gradient combinations of these colors, and this will be our color palette. To add gradients to the Swatches panel, you need to drag them from the color window.

Create the Emoticon Base

Step 11

For applying the colors, I recommend having your colors near your illustration and applying them with the Eyedropper Tool (I). If you click with this tool, you get the color value of the figure you click, and if you press Alt you use that color to paint. We start with the yellow color.

Create the Emoticon Base

Step 12

Now apply the red and yellow gradient; however, in the Gradient panel we will select Radial instead of Linear. This will be the only gradient that we use in Radial mode.

Create the Emoticon Base

Step 13

For the shadow, we use the red gradient like in the image.

Create the Emoticon Base

Step 14

For the light, we use the white gradient. Now we are starting to see some depth in our shape.

Create the Emoticon Base

Step 15

Add more detail to our base, and now we are ready to start drawing the faces of our emoticons.

Create the Emoticon Base

2. How to Create the Crying Emoticon

Step 1

We copy five circles of our base shape for the emoticons and in our „Faces Sketch” layer. We draw the sketches—sad, angry, surprised, happy and in love expressions—by using the Blob Brush Tool (Shift-B). We put the Opacity to 40% to redraw more easily, lock this layer, and we start to redraw in our „Faces” layer.

Create the Crying Emoticon

Step 2

For the sad emoticon, we begin by drawing the eyes. The shapes we are going to use are a Rectangle (M) and a Rounded Rectangle. Remember to align the sketch to our emoticon base shape.

Create the Crying Emoticon

Step 3

Now, to add more detail like the shine of the tears, we draw a figure made of triangles with the Polygon Tool. Intersect it with the Pathfinder panel into the rectangle shape.

Create the Crying Emoticon

Step 4

To draw the shine, draw a triangle with the Polygon Tool. To do it, draw a Polygon and with the arrow keys up and down you can add or remove sides to the polygon. Make a triangle and then duplicate it by dragging it and pressing Alt. Then Command-D to duplicate a copy at the same distance, and then duplicate the three triangles and rotate them with the Rotate Tool (R) like in the image. Finally apply Unite in the Pathfinder panel.

Create the Crying Emoticon

Step 5

To start the mouth, we begin by drawing a Rounded Rectangle. Select it, and then with the Eraser Tool (Shift-E) by pressing Alt we make a drag and erase half of the shape. Then we duplicate our shape and again with the Eraser Tool make another drag to get the teeth. 

Add some rectangles for more detail. First draw one and then duplicate it. To do this select it and then press Alt-Shift and drag it to get a copy of your rectangle figure. Then press Command-D to do your last step and you get a copy of it at the same distance. Then select the three. Apply Unite in the Pathfinder panel, and finally apply Intersect in the Pathfinder panel with the tooth shape (remember to duplicate your base shape).

Create the Crying Emoticon

Step 6

Now to add the shape of the shadow of the teeth. Use your base shape and duplicate it and drag it down a little, and then duplicate again and you get the shadow shape. To make the tongue you can use your mouth base shape and scale it and then duplicate it and apply Unite in the Pathfinder panel. Finally Duplicate your mouth base shape and Intersect the shapes.

Create the Crying Emoticon

Step 7

Once you have created the tongue, to give more detail to the mouth you can use a circle and Crop it with our mouth base figure. Then just draw a little circle and apply Minus Front in the Pathfinder panel. Now our sad emoticon mouth is done.

Create the Crying Emoticon

This is the look of the emoticon Sad face. Remember to group everything and Align it to the center.

Create the Crying Emoticon

Step 8

Select the face and press D to set it with the basic Black line and White fill. If you need to send something to front or back, just select the object and Cut it (Command-X) and select the object where you want to Paste in Front (Command-F) or Paste in Back (Command-B). Use the Pathfinder panel to paste the tears inside our emoticon base shape, and align all to center. Now we are going to begin to add some colors.

Create the Crying Emoticon

Step 9

For the eyes we use our brown solid color, for the tears the yellow and blue gradient, and for the shine the white gradient. Apply them like in the image.

Create the Crying Emoticon

To paint the mouth we use the brown and red gradient, for the tongue the yellow and red, and the brown gradient to the last detail. You can play with the values of the gradients as you wish, or you can apply them like in the image.

Create the Crying Emoticon

For the teeth we use the blue color for the lines and our blue and white gradient for the tooth base. For the shadow we use our brown gradient, and now our sad emoticon is finished.

Create the Crying Emoticon

3. How to Create the Angry Emoticon

Step 1

Now with the angry emoticon, we begin with a circle for the eye.

Create the Angry Emoticon

Step 2

To draw the eye, first use the Eraser Tool (Shift-E) and erase with a drag by pressing Alt and drag to cut the circle to the half. Then Duplicate your figure and drag it and use Minus Front in the Pathfinder panel to make the eyelid. Finally Duplicate your eye’s shape and erase with a drag to make the shadow.

Create the Angry Emoticon

Step 3

To the eyebrow we only need to draw a triangle and transform it like in the image. Then just Rotate it and add it to the eye as shown.

Create the Angry Emoticon

Step 4

To make the horns, we start with a circle and then grab the upper node and drag it like in the image. Then remove the anchor points of the node with the Convert Anchor Point Tool (Shift-C) and click on the node. With this tool you can add or remove anchor points. Finally just rotate the horn as shown in the image.

Create the Angry Emoticon

Step 5

To make the mouth we start with a triangle, and then remove the nodes with the Scissors Tool (C). Just click on the nodes and remove the segment. Another way to cut anchor points is by selecting them and on the application bar clicking on the scissors icon. The cut will be exactly in the node(s) you select. Then, after removing the nodes, add some points to the line and apply Outline Stroke (Object > Path > Outline Stroke), and finally with the Eraser Tool erase with a drag and we’ve got the mouth.

Create the Angry Emoticon

Our Angry emoticon’s face will look something like this.

Create the Angry Emoticon

Step 6

We align to the center our angry face to the emoticon base, and now we are going to begin with the color. And we erase a part of the shine (in magenta) because of the horns.

Create the Angry Emoticon

Step 7

First we color the horns with our yellow and red gradient and the eyebrows with brown color.

Create the Angry Emoticon

For the eyes and mouth use red, for the eyes’ shadow the brown gradient, and for the eyelids the yellow and red gradient. Our angry face is almost done.

Create the Angry Emoticon

Add some details like the shine in the horns with white gradient and the shadow behind them with red gradient, remembering to apply the Pathfinder to Crop the objects. Our angry emoticon is done.

Create the Angry Emoticon

4. How to Create the Surprised Emoticon

Step 1

For the surprised emoticon we begin with a rounded rectangle for the eyes.

Create the Surprised Emoticon

Step 2

You can do the eye by using the Offset Path and then duplicating the figure and erasing with a drag with the Eraser Tool like the magenta figure in the image. Finally add some circles for the shine in the eyes.

Create the Surprised Emoticon

Step 3

For the mouth, we begin with a simple circle, and for the teeth two rounded rectangles. Apply Unite in the Pathfinder and Crop them inside the circle, and then generate a smaller circle by selecting the object and applying Offset Path.

Create the Surprised Emoticon

Step 4

Duplicate the teeth and use Minus Front in Pathfinder to generate the shadows. To make the tongue, add two circles and apply Unite and then crop with the main circle of the mouth.

Create the Surprised Emoticon

Step 5

To add more detail to the mouth, you can draw the throat with a circle for the base and combine a rectangle and a circle for the uvula. Apply Unite in the Pathfinder, select the nodes as you see in the image (green dashed line), and in the Toolbar convert them to rounded to give a smoother look. Finally apply Minus Front.

Create the Surprised Emoticon

Our Surprised face is done. Remember to press D and arrange the objects where they belong by cutting them and pasting them in front or behind the part where they should be. When you get used to this, it’s faster than using the arrange commands.

Create the Surprised Emoticon

Step 6

Align the surprised face to the emoticon’s base shape, and let’s begin with the colors.

Create the Surprised Emoticon

Step 7

For the eyes we use the brown color, for the eyes’ shines we use the yellow and white gradients, and for the detail in the eyes the yellow and red gradient.

Create the Surprised Emoticon

For the cheeks we use the red color, for the teeth the white and blue gradient, and for the shadow the brown and blue gradient.

Create the Surprised Emoticon

For the mouth we use the yellow and red gradient to add color to the tongue, the brown and red gradient for the mouth, and for the throat the brown color. Our surprised emoticon is finished.

Create the Surprised Emoticon

5. How to Create the Happy Emoticon

Step 1

We can start the happy emoticon with a circle to draw a big smile.

Create the Happy Emoticon

Step 2

First apply the Eraser Tool and erase half of the circle with a drag.

Create the Happy Emoticon

Step 3

To create the teeth, first draw a Rounded Rectangle and then duplicate it like in the image. Then use the Eraser Tool, and finally duplicate them and use the Reflection Tool (O).

Create the Happy Emoticon

Step 4

Align the teeth to the mouth shape, and then remove one of the teeth.

Create the Happy Emoticon

Step 5

For the tongue and throat we can use the same as in the surprised face—just crop it in the mouth’s base shape.

Create the Happy Emoticon

Step 6

For the eye, draw a circle, remove some nodes and add some points to the line, and make the values of the line Round Cap and Round Join. Finally apply Outline Stroke.

Create the Happy Emoticon

Our happy face is done, and now we can color it.

Create the Happy Emoticon

Step 7

As with the previous emoticons, align the face to the center, and now let’s begin with colors.

Create the Happy Emoticon

For the eyes we use our yellow and brown gradient, and for the cheeks the red color.

Create the Happy Emoticon

For the teeth we use the white and blue gradient and for the shadow the brown gradient. To separate the teeth in different planes, just adjust the gradient to give volume and a sensation of depth in the teeth.

Create the Happy Emoticon

The colors of the mouth are the same as the surprised face—just the light in the tongue is a white gradient. Our happy emoticon is finished.

Create the Happy Emoticon

6. How to Create the Love Emoticon

Step 1

Finally the in love emoticon. As with all of the previous emoticons, align the sketch to the center and start the re-drawing.

Create the Love Emoticon

Step 2

To draw the heart, the base is two circles. Apply Unite in the Pathfinder and drag the node in the middle, as shown in the picture.

Create the Love Emoticon

Step 3

Select the node in the middle and remove the anchor points. You can do it by clicking on the icon in the application bar and converting to corner, or you can convert it to corner with the Convert Anchor Point Tool (Shift-C). After this, adjust the nodes to make the heart more rounded, and finally apply Offset Path.

Create the Love Emoticon

Step 4

To make the mouth, we start with a circle, remove some anchor points, and duplicate and drag like in the image. Then add more points to the stroke, apply Outline Stroke, and finally apply Unite to convert it into one path.

Create the Love Emoticon

Our in love emoticon face is done.

Create the Love Emoticon

Step 5

Align the face to our emoticon’s base.

Create the Love Emoticon

For the hearts we use the red and brown gradient, and for the light the white gradient.

Create the Love Emoticon

For the mouth and cheeks we use the red color, and our in love emoticon is finished.

Create the Love Emoticon

Awesome Work!

This is our last result. Hope you have enjoyed this tutorial! If you make some emoticons, share them with us. Saludos to everyone!

Adobe Illustrator Emoticon Tutorial by Beto Garza

Premium Emoticon Packs from GraphicRiver

Whether you need a great emoticon set for your next web design project or an exciting app, check out these amazing Premium Emoticons Sets from GraphicRiver. Download them to get access to fun and unique designs and check out one of our favorites below.

16 Non-Rasterized Emoticons Pack + Bonus

In this awesome pack of emotions, get 16 essential designs featuring your favorite emotions. Well organized with 100% vector shapes, also included in this file are two PSD files and 32 PNG files for your convenience.

16 Non-Rasterized Emoticons Pack  Bonus

Get Inked With 50 Insanely Epic Tattoo Fonts

Post pobrano z: Get Inked With 50 Insanely Epic Tattoo Fonts

Whether you’re looking to get a tattoo for the first time or you’re a total tattoo snob, choosing the right font for your designs takes patience. So today we present you with 50 insanely epic tattoo fonts we’re sure you’ll love.

With a selection of fonts curated from GraphicRiver and Envato Elements, this collection features 50 awesome tattoo fonts you’ll definitely want to incorporate into your next ink.

Want that extra personalized touch? Enlist the help of the professional designers at Envato Studio to create a custom tattoo design just for you!

50 Insanely Epic Tattoo Fonts

Do you love tattoo design? We sure do! From wild decorative fonts to stunning handwritten scripts, we’ve got a font to cover all of your tattoo needs.

Enjoy this eclectic collection below and let us know your favorites in the comments!

Tattoo Script Font

What better way to start off this collection than with an amazing tattoo font? This awesome script font was inspired by the swirls of traditional tattoos and a unique hand lettering style. Find packaged into this typeface a complete set of uppercase and lowercase letters, numbers, and even a bonus set of borders for your convenience.

Tattoo Script Font

Captain Cook Tattoo Font

Named after the famous Captain James Cook who stumbled across the wonders of tattooed people in the South Pacific, this font features a cool decorative style perfect for a sailor or pirate. Its recommended size is at 36 pt or higher for a great design ideal for your next tattoo project.

Captain Cook Tattoo Font

Aseina Typeface

If you’re looking for a unique font with that traditional vintage flair, then try the Aseina typeface for your designs. This font features a beautiful elegant feel, with the perfect mix of letters, numbers, and glyphs for that one-of-a-kind vintage style.

Aseina Typeface

Conchita Typeface

Inspired by tattoo lettering, this all caps font features a bold style that is sure to stand out. Download this set to get access to a complete collection of uppercase letters, numbers, and punctuation.

Conchita Typeface

BloodOnMyBlade Font

Tattoo lovers, beware. This font will turn you into a badass in no time. Inspired by the west coast style of tattoos, this font type features an aggressive, gothic design. Included in this set is a complete package of letters, numbers, and punctuation.

BloodOnMyBlade Font

Black Vision Font

Do you have a vision of black for your next tattoo? Well, try this Black Vision font on for style. This set includes an elegant vintage feel, and features a full set of letters, numbers, and punctuation to complete your designs.

Black Vision Font

November Script Font

Sail across the seas with this November Script font. Hand-crafted and then digitized for a beautiful calligraphic design, this font features a full set of letters, numbers, and some nice ligatures for tricky letter combinations.

November Script Font

Bodega Script Font

A decorative copperplate script with a modern twist, this Bodega Script font is a stunning typeface with an elegant style. It’s perfect for print work, tattoos, and so much more, so highlight your favorite passages with this unique typeface.

Bodega Script Font

Alitide Typeface

Inspired by old western design, this typeface features a modern twist for creative tattoo lovers. Included in this set are several font files with a helpful video for using the alternative glyph characters.

Alitide Typeface

Brushgyo Typeface

Suitable for print designs and creative tattoo art, this typeface features a modern script design that was handcrafted for that handwritten look. Included in this package is a full set of letters, numbers, and even multi-language support.

Brushgyo Typeface

Mahsetta Script Font

Looking for a beautiful script for your next tattoo? Well, look no further! This gorgeous Mashetta typeface features a stunning handmade calligraphic style. Included in this set are all the letters and numbers you need, with access to 473 glyphs for additional stylish options.

Mahsetta Script Font

Sharpen Script Font

Sharpen up your next tattoo design with this awesome handwritten font. A new modern calligraphy typeface, this font combines copperplate and contemporary design for a unique and elegant touch.

Sharpen Script Font

Victh Font

This modern handwritten font was designed using high-quality ink markers. Perfect for simple branding projects or even your next tattoo, this elegant font offers sublime versatility and style.

Victh Font

Victorian Parlor Font

Designed with a traditional Victorian aesthetic in mind, this typeface incorporates that clean vintage look with unique swirls and glyphs. Included in this package is a full set of letters, multi-language support, and access to 350 glyphs.

Victorian Parlor Fon

Typewriter Font

Want a tattoo that is unique yet simple? Give this awesome Typewriter font a try. Inspired by the cool mechanical look of classic typewriter lettering, this font features 187 unique glyphs and all the letters and numbers you need for your next project.

Typewriter Font

Victoriandeco Font

A classic Victorian serif font that is simple and easy to use, Victoriandeco is a font you’ll definitely want to incorporate into an awesome tattoo design. Inspired by the Victorian era of British history, this font features all your essential characters with bonus ornamental elements for additional decoration. 

Victoriandeco Font

Truvaway Script Font

Inspired by the unique style of handwritten signatures, this font features a modern calligraphic design and all your essential characters. Download this package to gain access to a full set of letters, numbers, and a large glyph set.

Truvaway Script Font

Alexandra Script Font

Calligraphy is huge in tattoo design. So show off your favorite quotes with this elegant Alexandra script font. This font features a modern design with smooth lines and delicious curves, with all the characters you need for a fantastic tattoo design.

Alexandra Script Font

Black Heat Font

Black Heat is a modern typeface inspired by the Victorian era of design. Download this package to gain access to a full set of numbers, letters, and additional support for international symbols.

Black Heat Font

Stay High Typeface

Inspired by handwritten letters and the cool side of street life, this modern typeface features a wild curvy design with all the characters you could ask for. This font is perfect for graffiti lovers, and you can incorporate it into your next ink for a cool, edgy style.

Stay High Typeface

Marchy Script Font

March into an awesome tattoo design with this gorgeous script typeface. Marchy was designed to illustrate a unique calligraphic style with stunning loops and clean lines. Featured in this download is access to a full range of letters and numbers with over 430 glyphs to incorporate into your designs.

Marchy Script Font

Sekatoan Typeface

With three unique styles—clean, inline, and inline-shadow—this energetic typeface features an ornamental design that is sure to make you stand out. Be the envy of all your tattooed friends with this awesome vintage style.

Sekatoan Typeface

Bekelakar Typeface

If you’re a fan of horror, metal, or gothic design, you’ll definitely love this Bekelakar typeface. Available in regular and an all-caps style, this font features a full set of letters, numbers, and basic punctuation.

Bekelakar Typeface

Dramaga Typeface

Create drama with this insane Dramaga typeface. Inspired by the design behind the Posthardcore Band, this font features an intense Gothic vibe with unique angular accents. Download this font to feature this awesome style for your next tattoo.

Dramaga Typeface

Sadis Typeface

If you’re feeling a little crazy, throw this Sadis font into the tattoo mix. A black letter font inspired by that epic Gothic look, this font features a complete set of letters, numbers, and punctuation we’re sure you’ll love.

Sadis Typeface

Stiquez Font

Although this typeface is perfect for logos, you can also mix it into an awesome tattoo design. This unique serif typeface features a cool retro design that works perfectly in a variety of programs for further customization.

Stiquez Font

Annabel Font

This cool vintage font is perfect for your next ink design. Featuring a grungy design with interesting loops and curves, this package comes complete with four font files and so much more!

Annabel Font

Einstein Font

Bring out your inner genius with this awesome Einstein font. A sophisticated script with a playful baseline, this font features a full set of letters, numbers, and basic punctuation. Download this package to gain access to a bonus swash set!

Einstein Font

Twenty Nine Font

Twenty Nine is a playful marker typeface featuring a simple curvy style. With a bouncy baseline and a few sweet bonuses included, you’ll be happy you downloaded this set. An additional set of handcrafted ornaments is also included for that extra awesome touch!

Twenty Nine Font

Jimmy Font Duo

Script fonts are super popular in tattoo designs nowadays. And this Jimmy font family includes a handcrafted script font designed to reflect the modern vintage trend sweeping the nation. Incorporate it into your next ink designs for that magical retro look.

Jimmy Font Duo

SokaQola Font

A modern typeface handcrafted with brushes, the SokaQola font features an elegant design suitable for print work, tattoo art, and so much more. Included in this set is a full range of characters with additional stylistic ligatures for more design options.

SokaQola Font

Amorie Modella Font Family

Get dainty with this sweet Amorie Modella font family. Featuring a skinny, hand-drawn style, this font would work perfectly for a simple quote or even a unique name. Mix it up with flowers for an additional pretty element or keep it simple for a classic handmade design.

Amorie Modella Font Family

Rude Cookie Font

Get rude with this delicious typeface. A hand-drawn font designed with unique character, this file includes two serif fonts along with two script fonts. These fonts are created to work perfectly together, so you can mix them for interesting tattoo designs.

Rude Cookie Font

Hello Lary Font

You’ll be saying „Hello Lary” with this lovely handmade font type. A modern typeface created with brushes, this font features a full set of letters, numbers, and basic punctuation for all your tattoo needs.

Hello Lary Font

N78 Thin Font

Simple design can be some of the most gorgeous design around. So incorporate this elegant font into your next ink for a clean and polished alternative. Included in this package is a full set of letters, numbers, and punctuation suitable for almost any art project.

N78 Thin Font

Reckless Font Trio

Get reckless with this awesome font trio. Reckless is a handwritten brush font made with elegant curves and a unique style. Download this set to gain access to three handwritten fonts with all the characters you need for the ultimate design of elegance.

Reckless Font Trio

Balham to Brooklyn Font

Balham to Brooklyn is a modern monoline script font that emulates hand-drawn letter forms. It’s inspired by American pop culture and features a stunning cursive design that works perfectly for simple tattoo designs and so much more.

Balham to Brooklyn Font

Roadhouse Blues Font

Start singing the blues with this handmade Roadhouse Blues font. Inspired by an early American style, its decorative swashes give it a friendly retro vibe. Download this package for a full set of letters, numbers, and basic punctuation.

Roadhouse Blues Font

Petit Jardin Font

Delicate with organic curly serifs, this Petit Jardin font is divinely lovable. Designed for that sweet, dainty look, this font package includes letters, symbols, numbers, and more! Use it for your tattoo designs for that gorgeous Art Nouveau look.

Petit Jardin Font

Food Craft Font

Get crafty with this unique Food Craft font. Designed with an unusual ribbon aesthetic in mind, this font would be the perfect addition to a standalone tattoo design. Included in this package is a full range of letters and more to fulfill your tattoo needs.

Food Craft Font

Sacred Geometry Font

Enjoy the sacred geometric shapes of this unique and inspiring font type. Inspired by sacred symbols, this font features letters, numbers, and basic punctuation. Incorporate it into your tattoo designs for that sacred personalized touch.

Sacred Geometry Font

Glamour Font

Get glamorous with this gorgeous font. A freestyle handmade signature type, this Glamour font is perfect for that awesome handwritten element. Included in this package are all the characters you need as well as 100 total freebies for more design experimentation.

Glamour Font

Adorabelle Font

Enjoy the adorable qualities of this stunning, elegant font. A modern script with a looping calligraphic style, this font is perfect for a meaningful personal quote or a name-based tattoo design.

Adorabelle Font

Stay Alive Font

Stay alive with this edgy font type. Inspired by the Victorian era and the posters of the 1800s, this font type features a full set of characters, numbers, and basic symbols. Use it for print work or that special ink you’ve been dying to get!

Stay Alive Font

Beautylove Script Font

Enjoy the beauty of this classically designed typeface. Combining elements of copperplate and contemporary design, this font is perfect for a stunning yet simple tattoo. Included in this set are 300 glyphs and 118 alternate characters to complement your work.

Beautylove Script Font

Zenzero Sans Font

If you’re looking for a bold design, considering using this Zenzero Sans font for your tattoo art. An industrial-based font created with regular and round styles, this unique font type gives you endless possibilities.

Zenzero Sans Font

Haext Regular Font

Explore the rustic Neo-Gothic elements of this Haext font for impressive tattoo designs. Part rune craft, part sacred goddess, this font is sure to put a spell on you with its spellbinding features.

Haext Regular Font

Growler Script Font

A mono-weight script font, this type is heavily based on the modern era of traditional logo design. Make your tattoos stand out with this impressive font complete with letters, numbers, and so much more!

Growler Script Font

Honeycomb Font

Enjoy the fancy yet flirty elements of this delicious Honeycomb font. Designed with fat-to-thin brush strokes and an imperfect baseline, this font would work gorgeously for a simple tattoo design. Download this package to gain access to a complete set of characters and stunning bonus extras.

Honeycomb Font

Mochafloat Script Font

To finish this collection of amazing tattoo fonts, I present you with this beautiful Mochafloat typeface. Created to emulate a modern calligraphic style, this package features 300 glyphs and 200 alternative characters.

Mochafloat Script Font

10 Amazing Tattoo Tutorials from Envato Tuts+

Inspired by this wonderful collection? Put your skills to the test with these awesome tattoo-based tutorials from Envato Tuts+.

Conclusion

This list is jam-packed with exciting resources for the avid designer
familiar with OpenType and more. If you need additional
help creating a personal tattoo design, enlist the skills of a talented
professional by choosing one of the amazing designers from Envato Studio.

And with hundreds of glorious handwritten and script fonts to choose from, chances are we’ve missed a few to add to your personal collection. Be sure to browse Envato Market and Envato Elements for more resources, and let us know your favorites in the comments below!

Design deals for the week

Post pobrano z: Design deals for the week
first image of the post
Every week, we’ll give you an overview of the best deals for designers, make sure you don’t miss any by subscribing to our deals feed. You can also follow the recently launched website Type Deals if you are looking for free fonts or font deals. 7 Beautiful Script Fonts from Unicode Script fonts add a real sense of elegance […]

Primates: a set of fine ceramic vases that look like apes

Post pobrano z: Primates: a set of fine ceramic vases that look like apes
first image of the post
Elena Salmistraro, a designer who lives and work in Milan, showed these Primates at Maison & Objet Paris this year. Crafted with fine ceramics, these vases display beautiful ape-like creatures that could remind you of ancient Egyptian sculptures. Carefully decorated, these primates remind us of the relationship between the man and his distant cousin.

20 Small But Magnificent Boats

Post pobrano z: 20 Small But Magnificent Boats

This week’s photography roundup might sound kind of random, but allow me to explain.

Today was cloudy and hazy at the beach; not an ideal beach day. But as I was walking along the coast, I saw a small wooden boat tied to a rope on shore. What would normally of been a very boring and uncomfortable beach day, turned into inspiration as I looked at that small wooden boat amongst the haze. There was something very picturesque about the scene, inspiring me to put together this roundup focused on small boats. Random, but beautiful!

Take a scroll through and see what I mean! Enjoy!

Credit to respective artists.


credit:Leena Rogers

credit:Steve

credit:erfan a. setiawan

credit:Mheggo

credit:Mr. Verdian

credit:DC P

credit:Deepak Raj

credit:dirtsailor2003

credit:Jessada Rungkhakulnuwat

credit:Takahiro Fujita

credit:Ziad Hunesh

credit:Steve Johnson

credit:Virgil Telmo

credit:Derik Yuswalaf

credit:k2-squared

credit:Manolis Archontakis

credit:wplynn

credit:Mike Waller

credit:Mathias Liebing

credit:Rick Westcott


Conclusion

Hopefully after scrolling through this photography roundup, you’ll understand the inspiration behind this randomness. I hope that you’ve enjoyed this collection! Thanks for stopping by!