#edit: i fixed the font size oops >.>
Explore tagged Tumblr posts
Text
Endwalker Patch 6.55 Quest: The Coming Dawn
#estinien#ffxiv#endwalker#6.55#FFXIV: Endwalker#edit: i fixed the font size oops >.>#ffxivedit#gamingedit
304 notes
¡
View notes
Photo
edit: looks like tumblr scrambles the quality anyway uhhh
Whee I can finally post this! My contribution to mxtxremix 2022. I remixed @ehydeâ âs threadfic Carrying you
This Version is slightly different from the one posted on AO3 because I made some minor fixes, I wonât replace the AO3 one though because idk if all those changes are actually for the better. It wasnât an easy choice which work to remix but this one gave me immediately a concrete visual of what i wanted to do, and then I... uh messed up. See I mixed up the creator reveal date(13th march) with the submission deadline( 26th february)
Then I didnât check my mails around the actual submission date due to stuff happening, so on March 1st I checked my mails mortified realising I missed not only the actual deadline but even the time window to get a 1-2 day extension. *clown-emoji* But hey reveal is on the 6th, and even if I defaulted Iâm still allowed to submit something, just means my target gets 2 works so good fine.
6 days, we can do this? Right? I only had some barely legible written notes(If you can read this, congrats, because I canât) and 1 key visual sketch for the 2nd and 3rd image. (I scrapped the other sketches)
So I did pretty much the entirety of this in 5 days. (Because I canât do math and fortunately realised early enough that if the 6th is reveal day I need to post on the 5th)
Iâm not gonna pretend I had most of it done and only had to finish it because doing all this in such a short stime is a nice flex and reminds me that when I do can focus I can get things done rather fast. Shoutout to my bro  @the-archangel-of-saltâ who was a big help for parallel working with me helping a lot to prevent me from just (mentally or physically) wandering off in the middle of to do something else and forgetting what I was doing.
I guess ultimately the time constraint was a good thing because it didnât leave me time to waffle around and instead have to settle on a style that both fits the content but also is doable.Â
So lines and flat colors it is. Thereâs been a bit back and forth on the panels since some looked too similar or werenât interesting or didnât go well with the way I wanted to place the text.
It was originally supposed to be divided into 4 A6 pages but due to the time limit I couldnât match the panel sizes to fit that, so itâs just A6 width with lenght going for âwhatever matchesâ
I guess we got some guests...
References are your friend, even if you end up ignoring most of them. (sshhh no you didnât notice I mixed up the arms at one point)
I also lost one text panel so I had to frankenstein things in Indesign when placing the text so the comic file is now linked 4 times just to insert 2 additional simple black panels... oops
Also fun fact, the font was chosen last minute and happens to not have an â so those are actually all ,âs Iâve moved up.
Have some more sketches
#mo dao zu shi#nie huaisang#nie mingjue#mxtxremix2022#long post#body horror#sorry for new post i hope the images aren't screwed up this time#tarr post
32 notes
¡
View notes
Text
LinkedUniverse Fanfic Ch. 10: Noontime Nightmares (pt. 1)
Stop! Youâve Violated the Law!
So, youâve stumbled upon this original post for my Linked Universe fanfiction. Thatâs okay, it happens to everyone. As of March 2021, Iâve uploaded the entirety of this fanfic to my Archive of Our Own page. Along with finally giving the story a nameâOops! All Links: A Linked Universe StoryâI made substantial edits to some of the chapters. These range from minor stylistic revisions to fixing a gaping plot hole that kinda completely broke the character conflict in the earlier chapters. I also renamed and renumbered (but not reordered) the chapters. Specifically, this is now Chapter 12: Noontime Nightmares.
The AO3 iterations of these chapters are the definitive versions. So, if you would like to read this fanfiction, please do so on AO3, right here. With this embedded link. Hehe. Geddit? Link?
Note: My screen name on AO3 is FrancisDuFresne. Yes, that is me. I am not plagiarizing myself.
Anyway, for posterityâs sake, the rest of the original post is below the cut.
That dark forest the Links entered last chapter of my @linkeduniverse fan narrative? Yeah, itâs pretty dark. Part 1 of 2. Word Count: 2418
Nearly all light was blocked by the forestâs dense tree canopy. The heroes were glad they decided to light their lanterns, but even they seemed to not be able to pierce more than a few yards into the darkness. Wild was reminded of a similar forest north of his Hyrule Castle. He hoped they would not encounter the monsters he did there here, too.
The Links spent two uneasy hours walking through the woods. Twilight hadnât sensed anything strange in his wolf form, but that didnât sate their feeling they were being watched. Wild still had two arrows nocked on his bow; Warrior instructed him to fire at Twilightâs signal. Warrior was determined to neither get ambushed nor be defeated in one.
âI donât like this,â Hyrule whispered. Holding his lantern at armâs length, he still could barely see Legend ahead of him.
âNone of us do,â Legend replied. âUnless one of us does. Does anyone like this?â
Time smiled. At least one of them was trying to keep the mood light. âNo, I canât say Iâm very fond of this.â
Wind, used to sunny days on the high seas and night sky starlight playing off the water, agreed. âYeah, not the biggest fan.â
Twilight was put on edge by the suffocating darkness. His heightened senses as a wolf could barely pierce it. It brought to mind the dark cloud that sent the group out of the illusory world of the burning village. That thought unnerved him even more. There was nothing except the faint scent of his friends behind him and darkness ahead.
Three more hours of this? He thought. I almost want something to happen⌠Wait.
A new scent appeared. It was familiar. The stench of rot and death, a few yards ahead and to the right. Looks like I jinxed it.
The Wolf barked and pointed his head in the direction. With no hesitation, Wild loosed his arrows. The THWIP of the them hitting a target bounced and echoed off the trees. Now fully alert, the others clipped their lanterns of their belts and drew their weapons. Wild nocked two more arrows as Sky moved ahead of him and Twilight.
They walked slowly towards what may be a slain monster. The light of their lanterns fell upon a stag pinned to a tree. It was dead. Two arrows stuck out of its neck; that they expected. What they didnât anticipate was a massive spear skewering the poor animal through its side. The weapon was long as Time would be tall with Twilight standing on his shoulders, and nearly as thick as a small birch tree. From what was exposed of the head, it seemed to be a jagged, razor sharp rock of some kind. It was shoddily tied together with old ropes.
The stag, pinned to the tree by the spear, seemed to have been dead for a week at least. Flies buzzed around it, and it reeked horribly. Hesitantly approaching it, Skyâs lantern showed it was missing its hind legs. He gagged. He turned back to the group and shook his head as if to say, this isnât good.
âWhat theâŚâ Hyrule said as he inched toward the carrion. âWhat could have done this?â
Wildâs thoughts raced. âSomething big. Hinox, maybe?â
âHinox arenât that big,â Four said. âOnly ten feet, max.â
âYours, maybe,â Wild replied. âMine are giants. Five times my height, easy.â
âOh.â
âWhatâs a Hinox?â Wind asked. He said it almost as if not wanting an answer.
âBig, muscle-y creatures,â Legend explained. âOne-eyed, love bombsâŚâ
âLove bombs?â Wild scoffed. âWhat kind of Hinox are you guys used to?â
âSomething more explosive than yours, apparently.â
Time didnât like this one bit. âCut the chatter. We need to be on guard. This thing probably likes prey that stand around and talk.â
âAnd something tells me weâre the perfect prey,â Hyrule muttered.
Suddenly, Twilight barked again. Following the wolfâs snout, Wild pulled his bowâs string and let two arrows fly. Another THWIP. The heroes warily followed the sound. Their lanternsâ light fell upon a what looked like a fox, again affixed to a tree. The entire font half of its body seemed to have been torn off. This time, a man-sized halberd held it in place. Time pulled it free. He shook off the fox and held the weapon out to the others.
It was finely made, with smooth curves, a polished head, and stained wood. The blacksmith who made it was clearly a skilled one. The materials looked expensive. âThis is no travelerâs spear,â Four observed. âThis belonged to a knight.â
âSo,â Wind ventured, âwhereâs the knight?â
Warrior looked down at him with one eyebrow raised. âDo you really have to ask?â
âNot really.â
âFigured. Well, it looks like whatever thing is, itâs several yards tall, can use weapons, and has a taste for raw meat.â
âHmâŚâ Wild put all these pieces together in his head. âIâm definitely thinking a hinox like the ones Iâve seen. Funny, I had to fight one in a forest like this.â
âAt least youâll have experience, then,â Hyrule said. âPlus, you have us now.â
Twilight was still transformed. He was trying to pick up any other scents. As his companions were talking, he picked something faint up. Whatâs more, he felt a soft rumbling under his paws. Almost like multiple sets of footsteps⌠He tried to pinpoint where it was coming from, but it was all around them. He looked to the others. They hadnât noticed any of it. He transformed back.
âGuys, we have company,â he said. âFrom all directions. Sounds like footsteps and smells⌠not good. Worse than this carrion.â
âYep,â Wild confirmed. âHinox.â
âIs that plural?â Legend asked Twilight.
âYes.â
âGreat.â
Warrior looked to the resident amnesiac. âWhat can we expect?â
âFive times our size, fat, dim, sometimes armored around the legs. I usually used spears because itâs not safe to get too close to them. Theyâll create shockwaves by beating the ground with their hands, and like jumping and crushing people under their rears. Time, pass me that halberd.â
Time handed it over. He was better with a sword anyway. Wild took it and tossed it between his hands, as if checking its balance. He readied it in both hands and took a stab into the darkness. Then he twirled it into one hand, then the next, then back. The hero nodded, evidently pleased with the quality of the weapon. It also gave him an excuse not to use his shield, which he stole from a Stalfos and wasnât comfortable at all.
âTwilight?â Warrior asked. âHow many did you sense?â
âI couldnât tell for sure. Four or more.â
âThen Iâm not sure if we should split up.â
âI should be able to take one myself,â Wild pointed out.
âRight. Pairs for the rest of us, then?â
Before anyone could respond, the footsteps Twilight heard began to become audible to them. A few seconds later, the stench hit them too. Twilight was right, it was coming from all directions. âWeâre being surrounded,â Sky said. âWe might want to get creative with our weapons.â
âI agree,â Time assented. âIf swords arenât working, donât hesitate to use anything you need.â
Now the footsteps were growing louder. In a few seconds, the monsters would be upon them. The heroesâ lanterns were infuriatingly dim in the oppressing darkness. Warrior pulled out his Fire Rod. âI canât take these shadows, weâre sitting ducks!â
He held the Fire Rod aloft and ignited the tip with a layer of flame. The firelight illuminated not four, not five, but nine Hinox less than ten yards away. Wildâs description of them was accurate, the others silently confirmed. The reek of the monsters filled the heroesâ nostrils, forcing them to hold back gags. They readied their weapons. Swords and shields glinted from the fire. âNew plan,â Warrior whispered. âOne-on-one. Got it? Break.â
In a flash, Wild stowed his halberd and drew his bow. He nocked three arrows and fired them straight into the nearest Hinoxâs single eye. The giant monster recoiled with a deafening roar, reached up to its face, and tore the arrows out of its eye. Blood splattered the ground, but the injury didnât seem to bother the Hinox. It kept moving forward. Wild gaped at it. That usually did some serious damage. Only nine arrows left... Wild thought. Got to conserve them.
The others saw this and stared at the monster. Not many creatures can take three arrows in the eye and keep going. Wild slung his bow over his shoulder and drew his new halberd. He rushed at the Hinox. It stared down at this tiny man sprinting at it, confused by the sight. Most things ran from it. Undeterred, it raised its hand to squish the puny thing. As it was about to bring the three-fingered hand down, Wild jumped to the side. He readied the spear.
The young heroâs feet skidded on the leafy forest floor. Taking a half-second to ground his feet, he stared down his target. Aiming straight at the Hinoxâs fat gut, he let loose a flurry of stabs. Again and again, the finely-crafted halberd pierced the monsterâs tough skin, sending blood into the air. Wild felt flecks hit his face as he attacked. He worked his fingers furiously, turning the spear slightly with each stab, the axe-like head digging in and tearing flesh as it exited.
The monster roared in either fury or agony, Wild didnât care. Its entrails torn, it stumbled onto its back with a deafening THUD. Wild ran around to its side and jammed the halberd between the Hinoxâs ribs. He used the spearâs handle to vault onto the monster, pounded his boot into its chin, and leapt upward. He twirled the weapon above his hand, secured his grip on it, and spiraled downward.
The halberdâs head bored straight into the Hinoxâs eye. After three rotations, Wild righted himself, dug his boot into the monsterâs forehead, and jumped to the ground. The roaring stopped. The felled monster ceased its writhing and went limp. Wild cast a look at it to ensure it was dead. Satisfied with his work, he went on to help his friends.
âŚ
By now, Sky was working on his own Hinox. He drew his Beetle and shot it to the side. The flying weapon distracted the brute. It swiped its hands through the air, trying to swat it down. The hero saw a moment to strike. He rushed to the monsterâs leg, hoping to cripple it. He raised the Master Sword and made an inward slash. The blade struck the wooden guard the Hinox wore on its leg. It was stuck.
Sky yanked on the handle to free the blade from the wood. One tug didnât work. Two. Three. The blade came free and Sky stumbled backward. By now, the monster remembered its prey. It turned back around to face Sky. Spotting the puny Hylian, it crouched down. It was preparing to jump. Sky remembered Wildâs words and turned tail.
He was several yards away by the time the Hinoxâs enormous behind slammed into the ground. The shockwave still threw him forward. Narrowly dodging a faceplant, Sky managed to get back on his feet. The Hinox was coming for him again. Skyâs eyes darted around the monster, trying to find a weak point. There! he thought. Found one!
The young swordsman spotted what he was looking for. The wooden guards the Hinox was wearing were held in place by some frayed ropes. That was something Sky could work with. He drew his scattershot and filled the its pocket with pellets. He pulled back, aimed for the eye, and let go. He knew it wouldnât do much to stop the brute, but it would distract it. With the monster blinking away the tiny ammunition, Sky made his move.
Taking off at a sprint, he replaced the scattershot with his sword and ran underneath the Hinox. At just the right moment, he made two deft swipes. The ropes sliced apart and their load fell to the ground. The Hinox was still trying to figure out what was happening when Sky ran back the way he came. He held the Master Sword aloft and charged a skyward strike. Lowering it to his side, he ran under the Hinox and spun on his heel. The charged spin attack sliced clean through the monsterâs legs. Sky ran clear before it collapsed in a heap on the ground. It wasnât going anywhere anytime soon.
âŚ
The world froze. Wind was holding the Phantom Sword aloft, using its time-stop ability. All sound and breeze stopped as he dashed around the Hinox. He had to make the most of this moment. He took his hookshot out mid-step, held it in his right hand, and readied it. He aimed up and chose his target.
With a squeeze of the trigger, the chained weapon fired out into the stagnant air. It dug itself into the side of the monsterâs head. Wind knew it wouldnât dig deep enough to do any serious damage, but he wasnât planning on it. He picked up more speed as he sprinted. By now he was directly behind the Hinox.
The hero kicked his feet off the ground into a high leap. At the apex of his jump, he squeezed the trigger on the hookshot again. The chain retracted, shooting Wind into the air. Using the momentum of his leap, he rushed up to the monsterâs neck. He raised his sword. A split second from hitting the Hinox, he swung the Phantom Sword.
SWISH! The blade cut straight through the nape of monsterâs neck, severing its spinal cord. Wind felt time begin to restart. He planted his feet on the slowly collapsing Hinoxâs neck and pushed off into a backflip. He landed on the ground and was just retracting the hookshotâs tip as time resumed fully. The titan collapsed on forest floor. In quite literally no time, the young hero had felled the giant.
The Phantom Sword was exhausting to use without the fairy Cielaâs help, so Wind took a moment to recover his strength. He looked up at the rest of the fight. The others were still working on their Hinox. He could just barely see them through the darkness. He smiled at the sight. The Hinox looked tough, but his friends seemed to be having an easy enough time fighting them. Nice, he thought. Gimme a sec, boys. Iâll be right there.
299 notes
¡
View notes
Text
I just noticed some of my posts have weird formatting on mobile (like some parts of the quotes having a different font / font size). Oops. Might be because some parts of the quotes are taken from asearchoficeandfire and others from the kindle version of the books. Thereâs no difference in font on PC though.
Sorry for the weird reading experience.
Apparently copy-pasting in word and copy-pasting it again works. So, Iâll be fixing the posts. (Edit: it worked... once, so I guess Iâll have to come up with a better strategy -__-)
I guess I should prepare my posts in word directly to avoid the problem.
1 note
¡
View note
Text
Get Google Play Redeem Codes 2017 Worth $25, $50 Now
Google Play Redeem Codes 2017 Worth $25, $50
Hello, We hope you had fun spending your last year, we had too, the great thing about last year especially for us was the huge response we got from our users like you. We can't thank you enough for that, The primary reason for that, was our Google play codes guide which didn't help users only, in fact, It provided free google play codes to each and every user who engaged with us. Although we think we had some problems too last year with our system because we found few peoples confirming that our free google play credit codes stopped working for few or more days & unfortunately we were out of town, We could not Fix it But do not worry about the same thing this year. We entirely transferred our system to the latest and newest technology, and we assure you this time you won't face any of those problems. Oops, I almost let it slip. Let me tell you now.
--->>> This is the direct link: Click here to Get yours $25 Google play redeem code. <<----
We just released latest Google Play Code Generator 2017, and it is totally great, Well, I mean I don't like to brag about it because we own it, But that is what our beta users are saying. We took almost 200 old users from last year as well as 250 new users & 99% of the codes were working for them. I didn't count 1% because according to the policy we have to mention like that. Otherwise, that could cause trouble.
2016 was indeed a great year for all our users and our services we have offered & Once again we would like to thank you all for making it possible. Now, this service is released for free, and initially, we are offering Google Play Redeem Codes Generator. So,
How to get free google play redeem codes
Well, There is no rocket science in here. Let us tell you something about it, We created it last year and it has been successfully generating the working as well as valid codes till then. You just simply need to visit our codes portal. I am keeping a direct link here, You just need to visit there and Choose the google play code starting from $10 to $50 max. Then you can click on generate button & that's it.
--->>> Here is the direct link: Click here to Get your $25 Google play redeem code. <<----
This is the first snapshot of our Google play redeem code service.
===)) Visit This link: CLICK HERE TO GET YOUR $50 GOOGLE PLAY REDEEM CODE. <==
This is simple, See didn't I tell you that there is no rocket science here. However, We keep on updating the play store codes with new databases every month while fixing any bug or error our users spot and inform us about it. But we ensure that there could be no bug in this latest released version Because we have already checked it and tested it with more than 500 users. So, This is it, Just go and get it.
How to redeem Google play gift card code on play store
Here is a thing, Many people face this while redeeming their free Google play card code. They think it is easy, but it is not that easy as you think it is. Because we still have the record from one of our member telling us, that he did something wrong which is why his google play code was not valid anymore. I know that it is not because of official play store authority, but he might have posted his code somewhere on the internet asking for help or a guide to redeem codes for google play. So, Here is a short tutorial explaining it.
Once you get the code from our free Google play gift card generator, Follow this.
If you are redeeming through mobile or tablet device:-
Firstly, I suppose you are doing it from your mobile device So, Open the play store app and Swipe from left to right from the edge of a corner then you must see your Google account profile picture and its cover photo as well, Now scroll down a bit, and you will see options such as Account, Redeem, Wishlist, and Settings. Well, tap on Redeem, and you should see a quick popped up small sized window, Titled "Redeem Your Code" and an Empty field showing 'Enter code' That is it. Enter your code there simply by copy pasting from our service and inserting it, Then tap on Redeem button and It will take a second and will let you know your updated google play balance for free, I mean because of the use of our service.
If you are redeeming through the desktop:-
You should follow this link to playstore, then on the left side you should see few tabs as "Entertainment, Apps, Movies, Music" Just below those tabs, there is another Tab tagged "Redeem", Click on it now, A small pop-up will appear titled as "Redeem Code" and underneath the title there is an empty field showing some texts "Enter Gift card or promo code" You can enter the code you copied from our system and click on Redeem. This is a manageable short guide.
Also, I'm linking a youtube video down below, In case anybody did not understand this guide.
youtube
Where do we get these Google play redeem codes from?
If you are familiar with our website or if you are our one of the old user as expected then you must already know how our previous system and database for free google play gift card codes worked. And for a new user, let me break it down into pieces and tell you the process. I'm sure that you guys have already known the fact that, many products are affiliated with offers that insist customers to buy that instead of the nearly same product from other brands priced approximately same, These offers could be anything. any promotion, boosting of an ad campaign or anything you can think of. So there are an endless amount of products which are affiliated with play store, You grab them you turn them around and there you see in small sized fonts, That it comes with a free google play gift card code worth $10, $25, or any other amount, Depends on the price actually. just like this image below.
A promotional free google play gift card with the product bought at Walmart as claimed by one of our users.
Did you see the pic? Of course, This is a free google play gift card. you can see the picture above unscratched google play store redeemable code. so what I'm trying to explain you here is that these type of promotions are still there. Like literally Infinite amounts of products with this promotion are present all around the world. but not everybody is Either smart enough to know that they got a code with their product Or they don't want it and this is not the only thing our system considers. These all promotion and codes exist with an expiry date of promotion. when there are less than 10 days remaining for an expiry date. Our system digs that. So no one is going to use these codes anyway. Sounds fair enough. we have the contacts with the promotion holders as well as the retailers who manage the promotions. so sometimes we have to buy from them. it's very cheap too but it's just that they don't provide each code individually. You can subscribe their service or bulk order for promotion, Not only google play redeem codes but other promotions as well. We have that too & that is coming soon. we buy 1500 codes each time. now according to the policy, we can not disclose their store name or the price we deal for. You must be wondering now. 'Why these guys provide codes for free?', 'Why can't they just use codes and have fun?', 'these guys are nuts they buy these google play codes and giveaway for free' If you think so. keep reading ;)
Why do we provide free google play redeem codes and How do we earn?
It's not weird, we knew that we had it coming. By the way, it's not play store hack 2017, You can say it is, indirectly we are giving away free google play credit but not affiliate with any play store hack. Coming back to your concern So here is something we have to say about your question. Technically nobody giveaways something and expects nothing in return. But the truth here is, We want to build an audience first for our network and site, We are trying to seek members as much as possible, That is why we are giving these codes away. Maybe we could use some limitations on this service and launch the paid plans in future. but not possible right now, So enjoy as long as free service is available to all users. Now Let's talk about earning. We earn through ads shown on our site, service. However, these ads do not earn us much money but it adds in the sum collected for the maintenance for the server, hosting, services etc. I just want to mention that, while you spent some time reading this so far, somebody might have grabbed a free google play redeem code from our service and redeemed it too. you must know that audience is huge and the numbers of google play redeem codes is limited. So, why don't you go ahead get a code for your google wallet & see the updated balance?
What Can Be done with this service?
Currently, Our team has released the google play redeem codes generator 2017 edition So, let us talk about it only. By using this service, You can have the free google play redeem codes which you can use it in the playstore to buy anything they offer, Such as Games, Applications, Ebooks, Music & Movies. I hope I didn't miss anything, I mean to say you can literally use these google play gift codes to buy anything that they have in the official playstore. mostly users go with the games because 95% of android games are inbuilt with in-app purchases, Means you have to purchase something within a game, e.g, You installed a new zombie game but in order to move to next level you need to have upgraded weapons, Now you have to buy it else enjoy old levels. admit it, we all hate it when it happens. that's where these google play redeem codes come handy. just generate the play store gift card, Redeem it and Enjoy.
Google play promo code / free google play gift card
Google play redeem code worth $25
Earlier article for free google play credit
Many people get confused over google play promo codes, Google play redeem codes, google play gift card codes, free google play codes, free google play redeem codes, google play code generator, free google play gift card codes, google play redemption code, google play redeemable codes, google play voucher, free google play gift card redeem code, free google play money, free google play credit & google play redeem code gratis. They often ask us, If these all terms are same or the balance for google play gift card is any different than google play redeem codes. but I want to tell you all, that they are all same, it is just various terms created by people because they ask us how to get free google play money or something like gratis kode reedem google wallet. So, they all mean same, they just going to update your google wallet balance. I think all you need is google play gift card codes, That is it. Now don't ask why do you need google play gift card codes.
History about our google play redeem code free service
Last year in January we started our site with 4 team members, We had this idea in our mind about giveaways, coupon & gifts based subject. So we gathered some data about the market and based on the research we come up with the google play redeem code service. We thought we can provide google play redeem code for free to each individual because an android market has a lot of app-in purchases on large scale. so we had released google play redeem code generator last year. but it had many bugs, we did not fix them and launched another service titled as Google play credit code generator, but then it too had bugs, so We decided later, We will fix them and fortunately our team did it. This year we come up with google play redeem code 2.1 version, It has a database of google play redeem codes worth $25, $10 and $50 as well. Now, It is working fine than ever and no bug so far. Many users confirmed that it is the most stable version we have built so far. So, Keep visiting our Homepage & be updated. We thank everybody.
#google play redeem codes#google play redeem code#google play gift card codes#Google Play Code#free google play codes#free google play credit#google play codes#free google play money#free google play cards#google play credit#google play gift card generator#free google play redeem codes#google play code generator#free google play gift card#guide#homepage#thankyou
4 notes
¡
View notes
Text
Visually Testing React Components using the Eyes Storybook SDK
Guest post by Gil Tayar, Senior Architect at Applitools
React is, first and foremost, a library for creating reusable components. But until React Storybook came along, reusability of components between applications was very limited. While a library of common components could be created, it was very difficult to use, as there was no useful way of documenting it.
Yes, documenting the common components via a Readme file is possible, even useful. But a component is, in its essence, something visual. A Readme file just doesnât cut it, neither for a developer and definitely not for a designer that wants to browse a library of shared components and choose the one that fits their purpose.
This limited the usefulness of Reactâs component reusability .
And then React Storybook came along. React Storybook has changed the way many companies approach React by allowing them to create a library of components that can be visually browsed so as to be able to pick and choose the component they want:
React Storybook
Finally, a real library of shared components can be created and reused across the company. And examples abound, some of them open-source: from airbnbâs set of date components to Wixâs styled components.
But a library of widely used company-wide components brings its own set of problems: how does one maintain the set of components in a reliable way? Components that are internal to one application are easily maintainedâââthey are part of the QA process of that application, whether manual or automated. But how does one change the code of a shared component library in a reliable manner? Any bug introduced into the library will immediately percolate to all the applications in the company. And in these agile days of continuous delivery, this bug will quickly reach production without anybody noticing.
Moreover, everyone in the company assumes that these shared components are religiously tested, but this is not always the matter. And even when they are tested, it is usually their functional aspect that is tested, while testing how they look is largely ignored.
Testing a Shared Library
So how does one go about writing tests for a library of shared components? Letâs look at one of the Shared Components libraries out thereâââAirbnbâs React Dates. I have forked it for the purpose of this article, so that we can look look at a specific version of that library, frozen in time.
Letâs git clone this fork:
$ git clone [email protected]:applitools/eyes-storybook-example.git $ cd eyes-storybook-example
To run the storybook there, just run npm run storybook, and open your browser to http://localhost:6006.
To run the tests, run the following:
$ npm install $ npm test
This runs the tests, which generate the following output:
Airbnb React Dates test output
Wow! 750 tests. I have to say that this component library is very well tested. And how do I know that it is very well tested? Itâs not just because there are a lot of tests, but also (and mainly!) because I randomly went into some source file, changed something, and ran the tests again.Â
Letâs try it. Change line 77 in file: src/components/CalendarDay.jsx to:
if (!onDayMouseEnter) onDayMouseEnter(day, e);
(I just added the if to the line). Now letâs run the tests again using npm test:
Tests failing due to a change in the code
Perfect! The tests failed, as they should. Really great engineering from the Airbnb team.
(if youâre following with your own repository, please undo the change you just made to the file.)
Functional Testing Cannot Catch Visual Problems
Letâs try again. Edit line 6 in the file src/svg/arrow-right.svg, by changing the first M694 to M94, thus:
Now letâs run the tests again using npm test:
Oops. Theyâre passing. Weâve changed the source code for the components, and yet the tests pass.
Why did this happen? Because we changed only the visual aspect of the components, without changing any of the functional aspect of it. And Airbnb does only functional testing.
This is not to denigrate the wonderful engineers at Airbnb who have given us this wonderful libraries (and other open-source contributions). This library is tested in a way that should make Airbnb proud. And I am sure that manual testing of the components is done from time to time to ensure that the components are OK.
(if youâre following with your own repository, please undo the change you just made to the file.)
Visual Testing of a Shared Library
So how does one go about testing the visual aspects of the components in a shared library? Well, if youâre using React Storybook, youâre in luck (and if youâre building a shared component library, you should be using React Storybook). You are already using React Storybook to visually display the components and all their variants, so testing them automatically is just a simple step (are you listening, Airbnb? đ).
Weâll be using Applitools Eyes, which is a suite of SDKs that enable Visual Testing inside a variety of frameworks. In this case, weâll use the Applitools Eyes SDK For React Storybook (yes, I know, a big mouthfulâŚ)
(full disclosureâ I am a developer advocate and architect for Applitools. But I love the product, so I have no problem promoting it!)
To install the SDK in the project, run:
npm install @applitools/eyes.storybook --save-dev
This will install the Eyes SDK for Storybook (locally for this project). If youâre following with your own repository, please undo the changes you made to the files. or otherwise you will get failures. To run the test, just run:
./node_modules/.bin/eyes-storybook
You will get this error:
Yup. To use the Eyes SDK, you need an API Key, which you can get by registering at the Applitools site, here. Once you have that, login and go to the Eyes admin tool, here. You will find the API using the following menu:
Getting the Applitools APIÂ Key
To make Eyes Storybook use the API key, set the environment key APPLITOOLS_API_KEY to the key you have:
// Mac, Linux: $ export APPLITOOLS_API_KEY=your-api-key
// Window C:\> set APPLITOOLS_API_KEY=your-api-key
Now run it again:
./node_modules/.bin/eyes-storybook
Eyes storybook will run Chrome headless, open your storybook, take a screenshot of all your components and variants, and send them to the Applitools service. When the test ends, as this is the first test, it will establish that these screenshots are the baseline against which all other tests will be checked against. You can check the results with the link it adds to the end of the tests, or just go to http://eyes.applitools.com:
Visual testing results
Failing the Test
So letâs test if the change we made to the SVG will fail the test. Re-edit line 6 in the file src/svg/arrow-right.svg, by changing the first M694 to M94, thus:
Now letâs run the test again using ./node_modules/.bin/eyes-storybook.
Failing Eyes Storybook test
Success! Or rather failure! The test recognized that some of the component screenshots differed from the baseline ones we created earlier. We can see the result of the diffs in the Applitools Eyes management UI:
Showing diffs of components in Storybook
We can either select these changes as the new baseline (which in this case we donât want to!) or fix the bug and run the test again, in which case it will be green.
And that is the beauty of Storybook. Because it enables you to create a central repository of components, it feeds three birds with one bird feed (Iâm sorry, I canât kill three birds, even if it is with one stoneâŚ):
Creating and documenting a shared React components library, with little effort.
Testing that the functionality of the components works (albeit with lots of effort)
Visually testing the components with literally zero code.
Summary
React Storybook is a game changer for frontend developmentâ it enables the creation and maintenance of a shared component library for the whole company.
And the best thing about React Storybook is that if youâve already invested the effort to set it up, you get a suite of tests that check the visual look of your components⌠for free!
h2, h3, h4, h5 { font-weight: bold } figcaption { font-size: 10px; line-height: 1.4; color: grey; letter-spacing: 0; position: relative; left: 0; width: 100%; top: 0; margin-bottom: 15px; text-align: center; z-index: 300; } figure img { margin: 0; }
About the Author: 30 years of experience have not dulled the fascination Gil Tayar has with software development. From the olden days of DOS, to the contemporary world of Software Testing, Gil was, is, and always will be, a software developer. He has in the past co-founded WebCollage, survived the bubble collapse of 2000, and worked on various big cloudy projects at Wix. His current passion is figuring out how to test software, a passion which he has turned into his main job as Evangelist and Senior Architect at Applitools. He has religiously tested all his software, from the early days as a junior software developer to the current days at Applitools, where he develops tests for software that tests software, which is almost one meta layer too many for him. In his private life, he is a dad to two lovely kids (and a cat), an avid reader of Science Fiction, (he counts Samuel Delany, Robert Silverberg, and Robert Heinlein as favorites) and a passionate film buff. (Stanley Kubrick, Lars Von Trier, David Cronenberg, anybody?) Unfortunately for him, he hasnât really answered the big question of his life - he still doesn't know whether static languages or dynamic languages are best.
0 notes