ow How to Fix ESLint Errors Upon Save in VS Code By feedproxy.google.com Published On :: Wed, 06 May 2020 03:05:49 +0000 Two of the most prominent utilities in web development today are ESLint and Microsoft’s Visual Studio Code. I enjoy using both, and I love the integration between both tools, but warnings from ESLint inside Visual Studio Code aren’t fulfilling — I’d rather lint errors be fixed each time I save. Complete the following steps to […] The post How to Fix ESLint Errors Upon Save in VS Code appeared first on David Walsh Blog. Full Article JavaScript Quick Tips
ow How to Use Lightroom Presets- A Handy Guide By feedproxy.google.com Published On :: Wed, 08 Apr 2020 00:31:40 +0000 How many of you love wasting hours of time making the same basic edits to a lot of photos? Anyone? No? Well, that’s understandable. None of us like doing menial repetitive tasks and it’s no different when editing images — even for those of us who enjoy the editing process. The good news is that Lightroom has a handy tool Continue Reading The post How to Use Lightroom Presets- A Handy Guide appeared first on Photodoto. Full Article Post Production lightroom presets how to use
ow How to Make Money With Photography and How Much Can You Expect By feedproxy.google.com Published On :: Tue, 28 Apr 2020 01:02:40 +0000 Live your passion. That’s what you’d like to do, right? Spend your days doing what you enjoy? Unfortunately, you gotta eat and do adulting things like paying bills. For that, you need money and your passion might not be good enough. Or is it? There are many ways to turn your passion for photography into an income stream. None of Continue Reading The post How to Make Money With Photography and How Much Can You Expect appeared first on Photodoto. Full Article Photography Business how much can you make with photography make money with photography
ow How (And Where) To Mount an Action Camera (On Anything!) By feedproxy.google.com Published On :: Fri, 08 May 2020 17:28:28 +0000 Pictures and video from an action camera can be awesome. But how do you get the best shots? It’s all about the mounting of the camera and we’re going to tell you how to do it. How and where do you mount an action camera? The most popular place to mount an action camera is on a helmet using a Continue Reading The post How (And Where) To Mount an Action Camera (On Anything!) appeared first on Photodoto. Full Article Cameras & Equipment Photography Tips & Tricks action camera accessories action camera mounts mount action camera on anything
ow Tips on developing creative websites that will wow your clients By feedproxy.google.com Published On :: Tue, 13 Aug 2019 00:00:42 +0000 Web designers: we’ve got fabulous news for you. With the global market expanding without limits, clients are more demanding than ever before. They understand that the highly competitive business realm requires creative websites. That’s good news: as competition increases, web development projects become more challenging. That’s good news for Be Theme too as it is […] The post Tips on developing creative websites that will wow your clients appeared first on WebAppers. Full Article Best Collections
ow 20 Minute Tut! Create Your Own Customized Chalkboard Text Vector By feedproxy.google.com Published On :: Thu, 09 Apr 2020 14:00:00 +0000 In this Chalkboard Text Vector tutorial, I’ll show you how to create a chalkboard vector effect with some gradients, a bristle brush, and some freebies from Vector Mill! This chalkboard text vector effect tutorial is relatively simple and can be applied to many other Illustrator projects. Use this effect for logo creation, back to school backgrounds, […] The post 20 Minute Tut! Create Your Own Customized Chalkboard Text Vector appeared first on Vectips. Full Article Tutorials chalkboard text effect chalkboard text vector chalkboard text vector effect chalkboard vector how to create a chalkboard text how to create a chalkboard text vector how to create a chalkboard vector
ow How to – Create a Location Pin Icon By feedproxy.google.com Published On :: Tue, 14 Apr 2020 14:00:56 +0000 Welcome back to another Illustrator based tutorial, in which we’re going to learn how to create a location pin icon, using nothing more than a couple of basic shapes that we’re going to adjust here and there. So, assuming you already have the software running in the background, bring it up and let’s jump straight […] The post How to – Create a Location Pin Icon appeared first on Vectips. Full Article Tips and Tricks adobe adobe illustrator vector vector design
ow How To Create A Retro Sunburst Vector In 10 Minutes or Less! By feedproxy.google.com Published On :: Thu, 16 Apr 2020 14:00:00 +0000 In today’s tutorial, we will find out how to create vector sunbursts by using Transform effect and stroked paths. The techniques described here allow you to edit previously-created sunbursts that can result in an infinite number of variations. Have fun learning in our vector tutorial! Tutorial Details Program: Adobe Illustrator CS5 – CC Difficulty: Beginner […] The post How To Create A Retro Sunburst Vector In 10 Minutes or Less! appeared first on Vectips. Full Article Tips and Tricks free Stroke panel sunburst sunbursts Transform live effects tutorial vector vector sunbursts
ow How to Create a Wood Block Printing Text Effect By feedproxy.google.com Published On :: Tue, 21 Apr 2020 14:00:00 +0000 Let’s go old school with recreating a time honored printing technique in Adobe Illustrator. With a modified photo texture, we’ll quickly edit any text to look like a wood block printing text effect, ready for whatever your digital needs may be! Tutorial Details: Wood Block Printing Text Effect Program: Adobe Illustrator CS6 – CC 2015 […] The post How to Create a Wood Block Printing Text Effect appeared first on Vectips. Full Article Tutorials grunge text grungy text retro text vintage text Wood Block Print Text Wood Block Print Text treatment Wood Block Print Text Vector wood block text
ow How to – Create a Pair of Reading Glasses Icon By feedproxy.google.com Published On :: Thu, 23 Apr 2020 14:00:05 +0000 In today’s tutorial, we’re going to take a quick look behind the process of creating a pair of reading glasses icon, and see how we can take some simple shapes and turn them into a finished usable product. So, assuming you already have the software running, let’s jump straight into it! Tutorial Details: Reading Glasses […] The post How to – Create a Pair of Reading Glasses Icon appeared first on Vectips. Full Article Tips and Tricks design glasses icon vector
ow 10 Step Tutorial: How to Design Flat Skateboards Using Adobe Illustrator By feedproxy.google.com Published On :: Tue, 28 Apr 2020 14:00:00 +0000 Summer is in full swing here in the states! It’s a perfect time to grab your skateboard and go cruising. Today we’re going to learn how to design flat skateboards and colorful vector longboards in Adobe Illustrator! We’ll be working with Clipping Masks, Stroke, and Pathfinder panel. Let’s get started! Tutorial Details Program: Adobe Illustrator CC Difficulty: […] The post 10 Step Tutorial: How to Design Flat Skateboards Using Adobe Illustrator appeared first on Vectips. Full Article Tips and Tricks adobe illustrator design flat flat style illustration illustrator illustrator tutorial longboard summer Tips tutorial vector vector illustration
ow How to Draw a Stylized Flat Car in Adobe Illustrator By feedproxy.google.com Published On :: Thu, 07 May 2020 14:00:08 +0000 In this tutorial we’ll draw a funny cartoon car in a simple stylized flat car. We don’t actually need any advanced drawing skills or even a tablet to create this stylized object as we’ll be working with basic geometric shapes and the most useful tools of Adobe Illustrator. Such simple and trendy illustrations are perfect […] The post How to Draw a Stylized Flat Car in Adobe Illustrator appeared first on Vectips. Full Article Tips Tips and Tricks Tricks Tutorials adobe illustrator car car vector cartoon style vector flat flat design flat style stylized tutorial vector vector illustration vector tutorial
ow Capture that Precious Moment: How to Create a Calm Mood for the Infant By feedproxy.google.com Published On :: Fri, 17 Feb 2017 17:30:35 +0000 Babies capture everyone’s heart, and this is the time to cherish in the form of a series of photographs that will remind you of how idyllic your child looked at the newborn stage. Photographing children, especially babies, poses a problem for the image taker, as you cannot simply ask for a pose, rather you have to engineer it. Here is some information to help make the session go smoothly, and get the perfect shots. The Right Age The ideal age to have photos taken of your baby is between 5 and 12 days old, as they tend to sleep most of the time and it is much easier to find the ideal pose and position. Of course, you can wait a little longer, but to be honest, you have lost that newborn look, which is what everyone wants to capture. If you happen to be in Western Australia, and are ... Read more The post Capture that Precious Moment: How to Create a Calm Mood for the Infant appeared first on Digital Photography Tutorials. Full Article Tips and Tricks How to Create a Calm Mood for the Infant
ow 7 Reasons Every Photographer Should Learn How to Use Photoshop By feedproxy.google.com Published On :: Thu, 06 Jul 2017 14:45:50 +0000 Many photographers think that learning how to find the ideal location and take a picture at the right time is all they need to know. However, this isn’t the case, and in a world where CGI rivals reality and touch-ups via photo editing software are now seen as a necessity to customers, relying on point and click will kill your photography business. Here are seven reasons every photographer should learn how to use Photoshop. Royalty Free Photo Touch-Ups Are Essential When a family orders school photos, they pay a flat fee for copies of the school pictures and a little more if the child’s name is embossed on the picture. They pay a separate fee if the picture is touched up, whether it is hiding acne or reducing glare on the child’s glasses. Photographers who know how to touch up photos without making it look artificial or cartoonish can ... Read more The post 7 Reasons Every Photographer Should Learn How to Use Photoshop appeared first on Digital Photography Tutorials. Full Article Photo Editing complete Photoshop Course Creating Art from Images frame animation take a picture Use Photoshop
ow How to Change the Background of a Photo By feedproxy.google.com Published On :: Wed, 06 Sep 2017 11:48:58 +0000 Replacing the background of a photo can be useful at times if you want to superimpose the subject into a different setting, create a transparency, and so on. In fact it can be extremely helpful if you’ve snapped a photo where the subject looks great, but the background leaves a lot to be desired. Although it might sound fairly complicated to remove and replace the background of a photo, with Movavi Photo Editor it isn’t anywhere near as difficult as you imagine. To be honest even if you have absolutely no experience editing photos, you should be able to change background in a photo in a matter of minutes. To get started, launch Movavi Photo Editor and click on the ‘Browse for Images’ button located right in the middle of the main window. If you prefer you could drag and drop the photo that you want to edit into that area ... Read more The post How to Change the Background of a Photo appeared first on Digital Photography Tutorials. Full Article Resources Software
ow The Power of CSS Selectors and How to Use Them By webdesignerwall.com Published On :: Thu, 08 Dec 2016 13:38:35 +0000 One of the challenges of coding premium WordPress themes is the unpredictable nature of how they will be used. Compared to coding a custom website, especially one using static HTML documents where you have complete control over the markup, you have to solve problems creatively and ensure flexibility. In these cases, CSS selectors make all […] The post The Power of CSS Selectors and How to Use Them appeared first on Web Designer Wall. Full Article Featured Tutorials CSS
ow CSS Vertical Centering – Everything You Need To Know By webdesignerwall.com Published On :: Thu, 22 Dec 2016 13:00:41 +0000 Getting content to center perfectly within an element and then ensuring it responds properly at different screen sizes is one of the biggest challenges that still face front-end designers. It is not that it is difficult, but because there are several ways to go about it, figuring out which method is best can be confusing. […] The post CSS Vertical Centering – Everything You Need To Know appeared first on Web Designer Wall. Full Article Tutorials CSS
ow How to Create Spotify Colorizer Effects With CSS Blend Modes By webdesignerwall.com Published On :: Tue, 10 Jan 2017 13:03:27 +0000 When Spotify launched their colorful new brand identity, featuring hip duo-toned imagery, it went hand-in-hand with a new Colorizer tool that allows artists to apply a variety of filters to images. This solved a problem in which Spotify needed a way to present the thousands of images uploaded, all with a different look and feel, […] The post How to Create Spotify Colorizer Effects With CSS Blend Modes appeared first on Web Designer Wall. Full Article Featured Tutorials CSS
ow Common WordPress Errors & How to Fix Them By webdesignerwall.com Published On :: Thu, 28 Feb 2019 11:00:47 +0000 WordPress is an amazingly stable platform thanks to the dedication and talent of the hundreds of professionals contributing to it, and the strict code standards they follow. Even so, the huge variety of themes, plugins and server environments out there make it difficult to guarantee nothing will ever go wrong. This guide will help you […] The post Common WordPress Errors & How to Fix Them appeared first on Web Designer Wall. Full Article Tutorials WordPress
ow Upper Yosemite Falls & Half Dome Moonbow By feedproxy.google.com Published On :: Tue, 16 May 2017 00:01:58 +0000 This past week was the optimal time to photograph moonbows in Yosemite Valley. I revisited photographing the moonbow at Upper Yosemite Falls as I had last year, but this time there was considerable more water and as a result the moonbow (rainbow by moonlight) was more easily seen. It was considerably larger, more vivid in color and wider arching. Conditions were great and at times a little too good as the 3 cameras I set up were completely drenched. If you’d like to read about what it took to get this photo be sure to check out my last blog post, Upper Yosemite Falls Moonbow – Getting The Shot, as it goes into a lot of detail about the hike and the challenges I faced. If you’re curious about gear and settings this was taken with a Canon 5D Mark IV and Canon 11-24mm f/4 lens. Settings were ISO 640, 15 seconds at f/4. Full Article Astro-landscape California Daily Photo Landscape Locations Photography Yosemite Moonbow Nature Night Photography Upper Yosemite Falls
ow How I Evaluate Crowdfunding Projects: Kickstarter, Indiegogo & Beyond By feedproxy.google.com Published On :: Tue, 01 Aug 2017 07:01:19 +0000 13 Questions You Should Ask Before Backing A Crowdfunding Project on Kickstarter, Indiegogo and Beyond Full Article Featured Photography Technology Tips & Tricks Crowdfunded Crowdfunding Indiegogo Kickstarter
ow Record-Low 2016 Antarctic Sea Ice Due to ‘Perfect Storm’ of Tropical, Polar Conditions By feedproxy.google.com Published On :: Thu, 07 Sep 2017 19:16:51 +0000 By Hannah Hickey UWNEWS While winter sea ice in the Arctic is declining so dramatically that ships can now navigate those waters without any icebreaker escort, the scene in the Southern Hemisphere is very different. Sea ice area around Antarctica … Continue reading → Full Article Cryosphere ET News 2016 Antarctic ice sheet arctic sea ice ocean temperature warming
ow We’re Drowning in Seas of Plastic By feedproxy.google.com Published On :: Fri, 20 Apr 2018 18:15:31 +0000 By David Suzuki David Suzuki Foundation The fossil fuel era must end, or it will spell humanity’s end. The threat isn’t just from pollution and accelerating climate change. Rapid, wasteful exploitation of these valuable resources has also led to a … Continue reading → Full Article Points of View & Opinions plastic pollution
ow Top 15 Digital Scrapbooking Downloads (Free & Paid) By justcreative.com Published On :: Mon, 27 Apr 2020 02:07:13 +0000 Scrapbooking can be a fun way to capture important moments in life and with our list of the Top 15 Scrapbooking Resources, you can start right away! Full Article Tools & Gear DesignCuts Scrapbooking
ow 9 Ways To Start Promoting Your Content Now By justcreative.com Published On :: Tue, 28 Apr 2020 04:10:18 +0000 Your ability to create and promote content is critical to your business' success. Here are 9 ways to set up a framework for content promotion immediately. Full Article Blogging & Content Marketing Guest Articles Content Content Marketing Content Strategy
ow How To Build a Website That Your Users Will Love By justcreative.com Published On :: Sat, 02 May 2020 03:35:24 +0000 Find out what users love and hate and how to build the best website for your audience. From content and navigation to design and hosting, use our 5 top tips. Full Article Guest Articles Web Design & UX UX
ow [Podcast] How to Sell Brand Strategy By justcreative.com Published On :: Mon, 04 May 2020 04:56:55 +0000 Learn how to sell strategy... Jacob Cass & Matt Davies give different perspectives on how to approach sales & the brand building process. Tune in to episode 4! Full Article Podcast Brand Strategy Branding JUST Branding
ow How to Master the Elevator Pitch & Leave a Great First Impression By justcreative.com Published On :: Mon, 04 May 2020 06:12:24 +0000 Want to master the elevator pitch and leave a great first impression? Use this easy formula to help communicate what you do in a concise pitch! Full Article Business Elevator Pitch
ow How to Grow Your Sales and Leads During the Coronavirus Pandemic By justcreative.com Published On :: Wed, 06 May 2020 10:16:17 +0000 Try these 10 actionable steps for streamlined, cost-effective marketing during the lockdown. Shed costs and embrace innovation to drive leads and conversions. Full Article Blogging & Content Marketing Guest Articles Content Marketing Marketing
ow Photography Tips: How To Create An Amazing Floating Image By icanbecreative.com Published On :: Tue, 03 Mar 2020 17:21:35 PST You can do everything today. There are certainly no limits to what the mind can achieve, and that includes floating. With simply manipulating layers using Photoshop, a floating image has never been... Full Article Learning
ow How To Get Effective Help With Writing Tasks That Will Boost Your Own Writing Skills By icanbecreative.com Published On :: Tue, 10 Mar 2020 05:21:10 PDT Writing is a quite ambivalent word. For some students, it causes their worst nightmares to come to mind (or it is just a boring assignment) and for some, it’s the fun way to express their thoughts to... Full Article Review
ow How Important Is A Domain Name For Your Business? By icanbecreative.com Published On :: Tue, 10 Mar 2020 16:41:03 PDT Online representation has a crucial role in planning a business. Today, people turn to the internet whenever they need help, but especially when they want to find certain products or specific... Full Article Business
ow Creative Ways To Earn Extra Money In Your Downtime By icanbecreative.com Published On :: Wed, 11 Mar 2020 08:31:20 PDT Many people have regular jobs that they love, and which enable them to use their creative skills to make money. This could be anything from coding video games to being an expert in SEO or designing... Full Article Learning
ow Vibrant Flat Vector Planets Illustration - Free Download Pack By icanbecreative.com Published On :: Wed, 11 Mar 2020 10:57:49 PDT The galaxy is a mesmerizing place, even better throught the eyes of visual design artists around our globe, we're delighted to release another freebie for our design community. This flat vector... Full Article Vector
ow How The Neumorphism / Skeuomorphism UI Trend Is Getting Shape By icanbecreative.com Published On :: Fri, 13 Mar 2020 09:47:53 PDT The new UI trend known as Neumorphism (with Skeuomorphism roots) has gotten a more consistent shape in the last period, is another beautiful approach to design user interfaces that look soft and is... Full Article Design Roud-up
ow How A Web Design Business Can Benefit From Using Accounting Applications By icanbecreative.com Published On :: Wed, 18 Mar 2020 14:58:32 PDT Accounting applications help web design businesses in many ways. As a web design service provider, you should use them to boost your business. Start by browsing some resources online that provide... Full Article Business
ow How To Restore Hard Drive From A Time Machine + Other Ways By icanbecreative.com Published On :: Sun, 29 Mar 2020 06:25:37 PDT Have you chosen Mac for its reliable system? They really have a lot of advantages and are of the best quality. Mac users don’t face serious problems with hard drives often. But the reality is such... Full Article Learning
ow 5 Tips That You Absolutely Must Know To Design A Unique Metal Business Card By icanbecreative.com Published On :: Sat, 04 Apr 2020 04:15:51 PDT Every day thousands of business cards exchange hands, and these business cards often get lost in mounds of other cards. Often, clients are unable to reach you just because they couldn't find your... Full Article Design Roud-up
ow How Can SEO Help Market Your Designing Agency? By icanbecreative.com Published On :: Sun, 12 Apr 2020 17:28:24 PDT It's unusual, as indeed Google says that in case you've got to enlist an SEO strategy, you ought to do so early instead of late, like when you're appropriate arranging to launch a new site. Because... Full Article SEO
ow Online Logo Design Makers Will See Huge Growth In 2020 By icanbecreative.com Published On :: Fri, 17 Apr 2020 17:27:47 PDT At no other time in the history of the internet has it been easier to design your own logo than it is right now. You could say that the world of online logo design makers is in a perfect position to... Full Article Learning
ow How To Create A Trustworthy Brand By icanbecreative.com Published On :: Sat, 25 Apr 2020 23:04:44 PDT The variables that determine business success are continually evolving. More than ever, customers want to be able to trust businesses with which they are transacting business. This involves building... Full Article Business
ow How to Foster Real-Time Client Engagement During Moderated Research By feedproxy.google.com Published On :: Mon, 17 Feb 2020 08:00:00 -0500 When we conduct moderated research, like user interviews or usability tests, for our clients, we encourage them to observe as many sessions as possible. We find when clients see us interview their users, and get real-time responses, they’re able to learn about the needs of their users in real-time and be more active participants in the process. One way we help clients feel engaged with the process during remote sessions is to establish a real-time communication backchannel that empowers clients to flag responses they’d like to dig into further and to share their ideas for follow-up questions. There are several benefits to establishing a communication backchannel for moderated sessions:Everyone on the team, including both internal and client team members, can be actively involved throughout the data collection process rather than waiting to passively consume findings.Team members can identify follow-up questions in real-time which allows the moderator to incorporate those questions during the current session, rather than just considering them for future sessions.Subject matter experts can identify more detailed and specific follow-up questions that the moderator may not think to ask.Even though the whole team is engaged, a single moderator still maintains control over the conversation which creates a consistent experience for the participant.If you’re interested in creating your own backchannel, here are some tips to make the process work smoothly:Use the chat tool that is already being used on the project. In most cases, we use a joint Slack workspace for the session backchannel but we’ve also used Microsoft Teams.Create a dedicated channel like #moderated-sessions. Conversation in this channel should be limited to backchannel discussions during sessions. This keeps the communication consolidated and makes it easier for the moderator to stay focused during the session.Keep communication limited. Channel participants should ask basic questions that are easy to consume quickly. Supplemental commentary and analysis should not take place in the dedicated channel.Use emoji responses. The moderator can add a quick thumbs up to indicate that they’ve seen a question.Introducing backchannels for communication during remote moderated sessions has been a beneficial change to our research process. It not only provides an easy way for clients to stay engaged during the data collection process but also increases the moderator’s ability to focus on the most important topics and to ask the most useful follow-up questions. Full Article Process Research
ow Markdown Comes Alive! Part 1, Basic Editor By feedproxy.google.com Published On :: Wed, 26 Feb 2020 08:00:00 -0500 In my last post, I covered what LiveView is at a high level. In this series, we’re going to dive deeper and implement a LiveView powered Markdown editor called Frampton. This series assumes you have some familiarity with Phoenix and Elixir, including having them set up locally. Check out Elizabeth’s three-part series on getting started with Phoenix for a refresher. This series has a companion repository published on GitHub. Get started by cloning it down and switching to the starter branch. You can see the completed application on master. Our goal today is to make a Markdown editor, which allows a user to enter Markdown text on a page and see it rendered as HTML next to it in real-time. We’ll make use of LiveView for the interaction and the Earmark package for rendering Markdown. The starter branch provides some styles and installs LiveView. Rendering Markdown Let’s set aside the LiveView portion and start with our data structures and the functions that operate on them. To begin, a Post will have a body, which holds the rendered HTML string, and title. A string of markdown can be turned into HTML by calling Post.render(post, markdown). I think that just about covers it! First, let’s define our struct in lib/frampton/post.ex: defmodule Frampton.Post do defstruct body: "", title: "" def render(%__MODULE{} = post, markdown) do # Fill me in! end end Now the failing test (in test/frampton/post_test.exs): describe "render/2" do test "returns our post with the body set" do markdown = "# Hello world!" assert Post.render(%Post{}, markdown) == {:ok, %Post{body: "<h1>Hello World</h1> "}} end end Our render method will just be a wrapper around Earmark.as_html!/2 that puts the result into the body of the post. Add {:earmark, "~> 1.4.3"} to your deps in mix.exs, run mix deps.get and fill out render function: def render(%__MODULE{} = post, markdown) do html = Earmark.as_html!(markdown) {:ok, Map.put(post, :body, html)} end Our test should now pass, and we can render posts! [Note: we’re using the as_html! method, which prints error messages instead of passing them back to the user. A smarter version of this would handle any errors and show them to the user. I leave that as an exercise for the reader…] Time to play around with this in an IEx prompt (run iex -S mix in your terminal): iex(1)> alias Frampton.Post Frampton.Post iex(2)> post = %Post{} %Frampton.Post{body: "", title: ""} iex(3)> {:ok, updated_post} = Post.render(post, "# Hello world!") {:ok, %Frampton.Post{body: "<h1>Hello world!</h1> ", title: ""}} iex(4)> updated_post %Frampton.Post{body: "<h1>Hello world!</h1> ", title: ""} Great! That’s exactly what we’d expect. You can find the final code for this in the render_post branch. LiveView Editor Now for the fun part: Editing this live! First, we’ll need a route for the editor to live at: /editor sounds good to me. LiveViews can be rendered from a controller, or directly in the router. We don’t have any initial state, so let's go straight from a router. First, let's put up a minimal test. In test/frampton_web/live/editor_live_test.exs: defmodule FramptonWeb.EditorLiveTest do use FramptonWeb.ConnCase import Phoenix.LiveViewTest test "the editor renders" do conn = get(build_conn(), "/editor") assert html_response(conn, 200) =~ "data-test="editor"" end end This test doesn’t do much yet, but notice that it isn’t live view specific. Our first render is just the same as any other controller test we’d write. The page’s content is there right from the beginning, without the need to parse JavaScript or make API calls back to the server. Nice. To make that test pass, add a route to lib/frampton_web/router.ex. First, we import the LiveView code, then we render our Editor: import Phoenix.LiveView.Router # … Code skipped ... # Inside of `scope "/"`: live "/editor", EditorLive Now place a minimal EditorLive module, in lib/frampton_web/live/editor_live.ex: defmodule FramptonWeb.EditorLive do use Phoenix.LiveView def render(assigns) do ~L""" <div data-test=”editor”> <h1>Hello world!</h1> </div> """ end def mount(_params, _session, socket) do {:ok, socket} end end And we have a passing test suite! The ~L sigil designates that LiveView should track changes to the content inside. We could keep all of our markup in this render/1 method, but let’s break it out into its own template for demonstration purposes. Move the contents of render into lib/frampton_web/templates/editor/show.html.leex, and replace EditorLive.render/1 with this one liner: def render(assigns), do: FramptonWeb.EditorView.render("show.html", assigns). And finally, make an EditorView module in lib/frampton_web/views/editor_view.ex: defmodule FramptonWeb.EditorView do use FramptonWeb, :view import Phoenix.LiveView end Our test should now be passing, and we’ve got a nicely separated out template, view and “live” server. We can keep markup in the template, helper functions in the view, and reactive code on the server. Now let’s move forward to actually render some posts! Handling User Input We’ve got four tasks to accomplish before we are done: Take markdown input from the textarea Send that input to the LiveServer Turn that raw markdown into HTML Return the rendered HTML to the page. Event binding To start with, we need to annotate our textarea with an event binding. This tells the liveview.js framework to forward DOM events to the server, using our liveview channel. Open up lib/frampton_web/templates/editor/show.html.leex and annotate our textarea: <textarea phx-keyup="render_post"></textarea> This names the event (render_post) and sends it on each keyup. Let’s crack open our web inspector and look at the web socket traffic. Using Chrome, open the developer tools, navigate to the network tab and click WS. In development you’ll see two socket connections: one is Phoenix LiveReload, which polls your filesystem and reloads pages appropriately. The second one is our LiveView connection. If you let it sit for a while, you’ll see that it's emitting a “heartbeat” call. If your server is running, you’ll see that it responds with an “ok” message. This lets LiveView clients know when they've lost connection to the server and respond appropriately. Now, type some text and watch as it sends down each keystroke. However, you’ll also notice that the server responds with a “phx_error” message and wipes out our entered text. That's because our server doesn’t know how to handle the event yet and is throwing an error. Let's fix that next. Event handling We’ll catch the event in our EditorLive module. The LiveView behavior defines a handle_event/3 callback that we need to implement. Open up lib/frampton_web/live/editor_live.ex and key in a basic implementation that lets us catch events: def handle_event("render_post", params, socket) do IO.inspect(params) {:noreply, socket} end The first argument is the name we gave to our event in the template, the second is the data from that event, and finally the socket we’re currently talking through. Give it a try, typing in a few characters. Look at your running server and you should see a stream of events that look something like this: There’s our keystrokes! Next, let’s pull out that value and use it to render HTML. Rendering Markdown Lets adjust our handle_event to pattern match out the value of the textarea: def handle_event("render_post", %{"value" => raw}, socket) do Now that we’ve got the raw markdown string, turning it into HTML is easy thanks to the work we did earlier in our Post module. Fill out the body of the function like this: {:ok, post} = Post.render(%Post{}, raw) IO.inspect(post) If you type into the textarea you should see output that looks something like this: Perfect! Lastly, it’s time to send that rendered html back to the page. Returning HTML to the page In a LiveView template, we can identify bits of dynamic data that will change over time. When they change, LiveView will compare what has changed and send over a diff. In our case, the dynamic content is the post body. Open up show.html.leex again and modify it like so: <div class="rendered-output"> <%= @post.body %> </div> Refresh the page and see: Whoops! The @post variable will only be available after we put it into the socket’s assigns. Let’s initialize it with a blank post. Open editor_live.ex and modify our mount/3 function: def mount(_params, _session, socket) do post = %Post{} {:ok, assign(socket, post: post)} end In the future, we could retrieve this from some kind of storage, but for now, let's just create a new one each time the page refreshes. Finally, we need to update the Post struct with user input. Update our event handler like this: def handle_event("render_post", %{"value" => raw}, %{assigns: %{post: post}} = socket) do {:ok, post} = Post.render(post, raw) {:noreply, assign(socket, post: post) end Let's load up http://localhost:4000/editor and see it in action. Nope, that's not quite right! Phoenix won’t render this as HTML because it’s unsafe user input. We can get around this (very good and useful) security feature by wrapping our content in a raw/1 call. We don’t have a database and user processes are isolated from each other by Elixir. The worst thing a malicious user could do would be crash their own session, which doesn’t bother me one bit. Check the edit_posts branch for the final version. Conclusion That’s a good place to stop for today. We’ve accomplished a lot! We’ve got a dynamically rendering editor that takes user input, processes it and updates the page. And we haven’t written any JavaScript, which means we don’t have to maintain or update any JavaScript. Our server code is built on the rock-solid foundation of the BEAM virtual machine, giving us a great deal of confidence in its reliability and resilience. In the next post, we’ll tackle making a shared editor, allowing multiple users to edit the same post. This project will highlight Elixir’s concurrency capabilities and demonstrate how LiveView builds on them to enable some incredible user experiences. Full Article Code Back-end Engineering
ow A Viget Exploration: How Tech Can Help in a Pandemic By feedproxy.google.com Published On :: Wed, 25 Mar 2020 16:49:00 -0400 Viget Explorations have always been the result of our shared curiosities. They’re usually a spontaneous outcome of team downtime and a shared problem we’ve experienced. We use our Explorations to pursue our diverse interests and contribute to the conversations about building a better digital world. As the COVID-19 crisis emerged, we were certainly experiencing a shared problem. As a way to keep busy and manage our anxieties, a small team came together to dive into how technology has helped, and, unfortunately, hindered the community response to the current pandemic. Privia Medical Group Telehealth Native Apps We started by researching the challenges we saw: information overload, a lack of clarity, individual responsibility, and change. Then we brainstormed possible technical solutions that could further improve how communities respond to a pandemic. Click here to see our Exploration on some possible ways to take the panic out of pandemics. While we aren’t currently pursuing the solutions outlined in the Exploration, we’d love to hear what you think about these approaches, as well as any ideas you have for how technology can help address the outlined challenges. Please note, this Exploration doesn’t provide medical information. Visit the Center for Disease Control’s website for current information and COVID-19, its symptoms, and treatments. At Viget, we’re adjusting to this crisis for the safety of our clients, our staff, and our communities. If you’d like to hear from Viget's co-founder, Brian Williams, you can read his article on our response to the situation. Full Article News & Culture
ow "I always hated that word—marketing—and I hate it now. Because for me, and this may sound simplistic,..." By feedproxy.google.com Published On :: Sat, 08 Oct 2011 20:20:00 -0700 ““I always hated that word—marketing—and I hate it now. Because for me, and this may sound simplistic, the key to marketing is to make something people want. When they want it, they buy it. When they buy it, you have sales. So the product has to speak. The product is what markets things.”” - Interview with Tom Ford. Full Article tom ford
ow Illustrator Tutorial: How to Create an iPhone Icon By feedproxy.google.com Published On :: Fri, 29 Mar 2019 11:57:20 +0000 Welcome back to another Adobe Illustrator based tutorial, in which we're going to take a close look behind the process of creating a simple iPhone icon, using nothing more than some basic geometric shapes that we're going to adjust here and there. 1. Set Up a New Project File As with any new project, we’re […] The post Illustrator Tutorial: How to Create an iPhone Icon appeared first on Bittbox. Full Article How To Illustrator Adobe contacts dialer Featured icon iphone icon line icon phone phone icon UI
ow Illustrator Tutorial: How to Create a Simple Computer Icon By feedproxy.google.com Published On :: Fri, 12 Apr 2019 14:50:36 +0000 In today’s tutorial, we're going to take a close look behind the process of creating a simple computer icon, and see how easy it is to build one of our one using nothing more than some basic geometric shapes. 1. Set Up a New Project File As with any new project, we’re going to kick […] The post Illustrator Tutorial: How to Create a Simple Computer Icon appeared first on Bittbox. Full Article How To Illustrator adobe illustrator computer icon Featured flat icon icon Vector vector icon
ow Illustrator Tutorial: How to Create a Folder Icon By feedproxy.google.com Published On :: Thu, 02 May 2019 02:04:36 +0000 In today’s tutorial, we’re going to take an in-depth look behind the process of creating a folder icon, and see how easy it is to build one from scratch using nothing more than a couple of basic geometric shapes, which we’re going to adjust here and there. So, assuming you already have Illustrator up and […] The post Illustrator Tutorial: How to Create a Folder Icon appeared first on Bittbox. Full Article How To Illustrator Adobe adobe illustrator Design Feature Featured folder folder icon icon Icon Design Vector
ow 5 Essentials To Create Your Own Website Presence By feedproxy.google.com Published On :: Wed, 15 May 2019 18:45:21 +0000 Only a website that has a well-established presence can stand out on the internet. Business owners and individuals hire web designers like yourself to create website presences for them. In order to prove yourself, you need to establish your own presence online first. Get to the point where you can showcase your own website during […] The post 5 Essentials To Create Your Own Website Presence appeared first on Bittbox. Full Article Culture
ow Illustrator Tutorial: How to Create a Watch Icon By feedproxy.google.com Published On :: Mon, 29 Jul 2019 17:02:39 +0000 Welcome back to another Illustrator based tutorial, in which we’re going to learn how to create a simple watch icon, using nothing more than a couple of basic geometric shapes and tools. So, assuming you already have the software running in the background, bring it up and let’s jump straight into it! 1. Set Up […] The post Illustrator Tutorial: How to Create a Watch Icon appeared first on Bittbox. Full Article How To Illustrator Adobe adobe illustrator Feature Featured Icon Design vector icon watch watch icon