You are on page 1of 54

Building React Apps with Server Side

Rendering Use React Redux and Next


to Build Full Server Side Rendering
Applications Thakkar Mohit
Visit to download the full and correct content document:
https://textbookfull.com/product/building-react-apps-with-server-side-rendering-use-re
act-redux-and-next-to-build-full-server-side-rendering-applications-thakkar-mohit-2/
More products digital (pdf, epub, mobi) instant
download maybe you interests ...

Building React Apps with Server Side Rendering Use


React Redux and Next to Build Full Server Side
Rendering Applications Thakkar Mohit

https://textbookfull.com/product/building-react-apps-with-server-
side-rendering-use-react-redux-and-next-to-build-full-server-
side-rendering-applications-thakkar-mohit-2/

Exploring Blazor: Creating Hosted, Server-side, and


Client-side Applications with C# Taurius Litvinavicius

https://textbookfull.com/product/exploring-blazor-creating-
hosted-server-side-and-client-side-applications-with-c-taurius-
litvinavicius/

Programming Kotlin Applications Building Mobile and


Server Side Applications with Kotlin 1st Edition Brett
Mclaughlin

https://textbookfull.com/product/programming-kotlin-applications-
building-mobile-and-server-side-applications-with-kotlin-1st-
edition-brett-mclaughlin/

React Quickly: Painless web apps with React, JSX,


Redux, and GraphQL 1st Edition Azat Mardan

https://textbookfull.com/product/react-quickly-painless-web-apps-
with-react-jsx-redux-and-graphql-1st-edition-azat-mardan/
Server Side Swift with Vapor Building Web APIs and Web
Apps in Swift 3rd Edition Raywenderlich.Com Tutorial
Team

https://textbookfull.com/product/server-side-swift-with-vapor-
building-web-apis-and-web-apps-in-swift-3rd-edition-
raywenderlich-com-tutorial-team/

Server Side Swift Paul Hudson

https://textbookfull.com/product/server-side-swift-paul-hudson/

Learning React A Hands On Guide to Building Web


Applications Using React and Redux 2nd Edition Kirupa
Chinnathambi

https://textbookfull.com/product/learning-react-a-hands-on-guide-
to-building-web-applications-using-react-and-redux-2nd-edition-
kirupa-chinnathambi/

Practical React Native: Build Two Full Projects and One


Full Game using React Native 1st Edition Frank Zammetti

https://textbookfull.com/product/practical-react-native-build-
two-full-projects-and-one-full-game-using-react-native-1st-
edition-frank-zammetti/

Node js Design Patterns Master best practices to build


modular and scalable server side web applications 2nd
Edition Casciaro

https://textbookfull.com/product/node-js-design-patterns-master-
best-practices-to-build-modular-and-scalable-server-side-web-
applications-2nd-edition-casciaro/
Mohit Thakkar

Building React Apps with Server-Side


Rendering
Use React, Redux, and Next to Build Full Server-Side
Rendering Applications
Mohit Thakkar
Vadodara, Gujarat, India

Any source code or other supplementary material referenced by the


author in this book is available to readers on GitHub via the book’s
product page, located at www.​apress.​com/​9781484258682 . For more
detailed information, please visit http://​www.​apress.​com/​source-code
.

ISBN 978-1-4842-5868-2 e-ISBN 978-1-4842-5869-9


https://doi.org/10.1007/978-1-4842-5869-9

© Mohit Thakkar 2020

This work is subject to copyright. All rights are reserved by the


Publisher, whether the whole or part of the material is concerned,
specifically the rights of translation, reprinting, reuse of illustrations,
recitation, broadcasting, reproduction on microfilms or in any other
physical way, and transmission or information storage and retrieval,
electronic adaptation, computer software, or by similar or dissimilar
methodology now known or hereafter developed.

Trademarked names, logos, and images may appear in this book. Rather
than use a trademark symbol with every occurrence of a trademarked
name, logo, or image we use the names, logos, and images only in an
editorial fashion and to the benefit of the trademark owner, with no
intention of infringement of the trademark. The use in this publication
of trade names, trademarks, service marks, and similar terms, even if
they are not identified as such, is not to be taken as an expression of
opinion as to whether or not they are subject to proprietary rights.

While the advice and information in this book are believed to be true
and accurate at the date of publication, neither the authors nor the
editors nor the publisher can accept any legal responsibility for any
errors or omissions that may be made. The publisher makes no
warranty, express or implied, with respect to the material contained
herein.

Distributed to the book trade worldwide by Springer Science+Business


Media New York, 1 New York Plaza, New York, NY 10004. Phone 1-800-
SPRINGER, fax (201) 348-4505, e-mail orders-ny@springer-sbm.com,
or visit www.springeronline.com. Apress Media, LLC is a California LLC
and the sole member (owner) is Springer Science + Business Media
Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware
corporation.
Dedicated to Richard Matthew Stallman, the man who started the free
software movement in order to give software users the freedom to use the
software, to study and modify the software, and to redistribute copies of it
with or without modification. His work on the GNU project is highly
appreciated by the open source community.
Introduction
With the popularity of frameworks such as Node, React, and Angular,
web developers tend to render everything on the client-side, but there
are several disadvantages to this approach. To protect sensitive
information and optimize response times, developers might want to
add server-side rendering to their applications. This book
demonstrates how a React application can be rendered on the server-
side using frameworks such as Next and Redux.
The book starts with the basic introduction to JavaScript, followed
by the introduction to React. Once the reader is aware of both these
concepts, the Next framework is introduced. The reader will then learn
how to integrate Next to a React application in order to render content
on the server-side. The reader will also learn about state management
using Redux, unit testing using Jest, and deployment using Docker. At
the end of this book, the reader will have all the knowledge necessary
to build and deploy a fully server-side rendered application with scripts
for unit testing.
To learn more, start reading right away.
Acknowledgments
The completion of this book could not have been possible without the
contribution of numerous people whose names may not all be cited.
Their contributions are sincerely appreciated and acknowledged.
However, I would like to take this opportunity to express my gratitude
particularly to the following:
Louise Corrigan , Senior Editor at Apress, andJames Markham ,
Development Editor at Apress, who saw potential in the idea behind the
book. They helped kick-start the book with their intuitive suggestions
and made sure that the content quality of the book remains
uncompromised.
Alexander Nnakwue , Technical Reviewer of the book, who made
sure that the practical aspects of the book are up to the mark. His
insightful comments have been of great help in the refinement of the
book.
Nancy Chen , Coordinating Editor at Apress, who made sure that
the process from penning to publishing the book remains smooth and
hassle-free.
Family, friends, and mentors , who have always been supportive of
my aspirations and have guided me throughout my journey.
You , who wish to refine your skills by reading this book so that you
can make a difference in the lives of those around you. You encourage
me to contribute toward collaborative education.
Thank you!
Table of Contents
Chapter 1:​JavaScript Prerequisites
Introduction to JavaScript
Setting Up the Environment
Constants and Variable Declaration
Rest Parameter
Destructuring and Spread Syntax
Control Loops
for
forEach
while
do.​.​.​while
Type Conversion
Operators
Arithmetic Operators
Comparison Operators
Assignment Operators
Logical Operators
Ternary Operator
Functions
Closures
Arrays
Classes and Modules
Creating a Local Server
DOM Modification
Error Handling
HTTP Requests
Promises
Summary
Chapter 2:​Introducing React.​js
Setting Up the Environment
Installing Node.​js
Installing React
Basic Concepts of React
Single-Page Applications
Immutability
Purity
Composition
Creating Your First React Component
Creating Elements Using JavaScript
Creating Elements Using JSX
Function vs.​Class Component
Passing Props
Stateless and Stateful React Components
Working with the State Object
React Lifecycle
Mounting
Updating
Unmounting
Hooks
State Hook
Effect Hook
Custom Hooks
Working with Data
AJAX Calls
Styling React Components
CSS in React
SASS and SCSS in React
Babel and Webpack
Summary
Chapter 3:​Next.​js
Introduction to Next.​js
Features of Next.​js
Getting Started
Routing in Next.​js
Dynamic Pages
Adding Multimedia Content Using CSS
Getting Data from Remote Server
Creating Interactive App Using Next.​js
Using Redux with Next.​js
Store
Actions
Reducers
Using GraphQL with Next.​js
Summary
Chapter 4:​Adding Server-Side Rendering to Your React
Application
Importance of Server-Side Rendering
Building a Simple React App
Creating Functional React Component
Passing Props to Functional React Component
Converting Functional Component to Class Component
Using Next.​js for Server-Side Rendering
Adding CSS to Next.​js
Integrating Bootstrap to Your App
Summary
Chapter 5:​Unit Testing Using Jest
Setting Up Jest
Writing Your First Test Using Jest
Matchers
Common Matchers
Truth Matchers
Comparison Matchers
String Matcher
Matcher for Iterables
Exception Matcher
Testing a React Component Using Jest and Enzyme
Summary
Chapter 6:​Deploying Your App to a Server
Deployment Process
Setting Up Environment Variables
Introduction to Docker
Creating a Docker Container for Your App
Hosting the Container
Summary
Index
About the Author
Mohit Thakkar
is a software engineer with a
multinational company. He has a
bachelor’s degree in computer
engineering and is the author of several
independently published titles,
includingArtificial Intelligence ,Beginning
Machine Learning in iOS ,Data Mining &
Business Intelligence ,iOS Programming ,
andMobile Computing & Wireless
Communication . He has also published a
research paper titled “Remote Health
Monitoring using Implantable Probes to
Prevent Untimely Death of Animals” in
theInternational Journal of Advanced
Research in Management, Architecture,
Technology and Engineering .
About the Technical Reviewer
Alexander Chinedu Nnakwue
has a background in mechanical
engineering from the University of
Ibadan, Nigeria, and has been a front-end
developer for over three years working
on both web and mobile technologies. He
also has experience as a technical author,
writer, and reviewer. He enjoys
programming for the Web, and
occasionally, you can also find him
playing soccer. He was born in Benin City
and is currently based in Lagos, Nigeria.
© Mohit Thakkar 2020
M. Thakkar, Building React Apps with Server-Side Rendering
https://doi.org/10.1007/978-1-4842-5869-9_1

1. JavaScript Prerequisites
Mohit Thakkar1
(1) Vadodara, Gujarat, India

This chapter provides insight on JavaScript fundamentals that are


necessary in order to start working with React. The purpose of this
chapter is to introduce you to the basic programming paradigm
followed in JavaScript so that you can better understand React when it
is introduced in the following chapter.
Even if you are new to JavaScript, you need not worry as this
chapter shall provide you with all the knowledge you need to get
started. You will begin with learning simpler concepts such as
constants, variables, and control loops and will go all the way learning
sophisticated topics such as rest parameters, spread syntax, HTTP
requests, and promises. By the end of this chapter, you will have a
thorough understanding of the language and will be able to start
building web applications with JavaScript.

Introduction to JavaScript
JavaScript is one of the most popular languages for web development,
and it is essential to learn this language in order to create applications
that run on web browsers. Apart from web applications, JavaScript can
also be used to create desktop, mobile, as well as server-side
applications using various frameworks like Meteor, React Native, and
Node.js. However, we will focus on web applications for the scope of
this chapter.
JavaScript was created by Brendan Eich in the year 1995 and was
standardized by ECMA (European Computer Manufacturers
Association) in 1997. As a result, JavaScript is also known as
ECMAScript (ES) . As the web browsers developed over time, so did
JavaScript with the release of ES3 in 1999, ES5 in 2009, and ES6 in
2015. After ES6, there have been minor updates to JavaScript every
year, but ES6 is by far the latest major release.
Let us now set up our development environment so that we can
begin with practical examples on JavaScript programming.

Setting Up the Environment


In order to start programming with JavaScript, I’ll be using the Visual
Studio Code editor which can be downloaded from
https://code.visualstudio.com/download. However, you
can use any editor of your choice.
Once the editor is up and running, we will create our starter
workspace with index.html file. This file will contain our page template
and a reference to our JavaScript file (index.js) which will reside in
scripts folder. We will use <script> tag to link our JavaScript file with
our HTML template. If you want to add styling to your page template,
you can also add a css file (style.css) under the css folder and add a
reference to it in index.html file using <Link> tag. Your folder structure
should look similar to that shown in Figure 1-1.
Figure 1-1 Folder Structure for Starter Workspace
Talking about individual files, index.html should contain the
following code:

<html>
<head>
<title>intro-to-js</title>
<link rel="stylesheet" type="text/css"
href="css/style.css"></script>
</head>
<body>
<h1>Introduction to JavaScript</h1>
<hr/>
<div id="ResultContainer"></div>
<script type="text/javascript"
src="scripts/index.js"></script>
</body>
</html>

Here, we have added reference to our JavaScript file (index.js) and


css file (style.css). Other than that, the template contains a page header
and a section that we will manipulate using JavaScript code. Let us now
check if the reference to JavaScript file is working. To do so, add the
following code to index.js file:

var ResultContainer =
document.getElementById("ResultContainer");

ResultContainer.innerHTML = "Setting up the


environment!";

Note that we have used JavaScript’s getElementById() method to


fetch a section from the template and then altered its text by setting the
innerHTML property. You can also use getElementsByClassName()
method and getElementsByTagName() method in order to access
elements by class name and tag name. Since we already set the ID
property of the <div> element in our HTML template, we used
getElementById() method to fetch the section. We initially stored a
reference to this section in a variable and then accessed its property
using the variable. This is particularly useful when we have multiple
properties to alter. You might not want to go and search for the section
every time you want to modify a property. Hence, it is always a good
programming practice to store references in variables if you are going
to need it multiple times.
You can add the following code to the css file (style.css) in order to
apply styling to the HTML template:

body{
margin-top:20px;
margin-left:20px;
}

h1{
font-size:50px;
}

#ResultContainer{
margin-top:30px;
padding:10px;
width:450px;
height:200px;
border:1px solid black;
font-size:30px;
}

Now let us run our project and see the output. Visual Studio Code
does not have a built-in method to run HTML files in browser. Hence,
we will have to do some configurations to run our project. Check the
documentation for the editor that you are using to find help on launch
configurations. If you are using Visual Studio Code, the following steps
should help you get started:
1. Press Ctrl+Shift+P to open the Command Palette.

2. Type “config” and select the “Tasks: Configure Task” command to


open tasks.json.
3. If tasks.json file does not exist, the editor will ask you to create one
with default template. Go ahead with “others” template.

4. Replace the tasks.json file content with following code:

{
"version": "2.0.0",
"command": "Chrome",
"windows": {
"command": "C:\\Program Files
(x86)\\Google\\Chrome\\Application\\chrome.exe"
},
"args": ["${file}"],
"group": {
"kind": "build",
"isDefault": true
}
}

The preceding process is shown graphically in Figure 1-2. Note that


the figure shows the code that is generated by default. We will need to
change it to the abovementioned code to configure the launch setting
for our application.
Figure 1-2 Launch Configuration
To test the configuration, open index.html file and press
Ctrl+Shift+B. The file should open in Chrome, and you should see the
output similar to that shown in Figure 1-3.

Figure 1-3 Output for Starter Project


Now that our development environment is up and running, let’s
explore some basic JavaScript concepts.

Constants and Variable Declaration


Constants are identifiers whose value remains same throughout the
scope of the program. On the other hand, variables are identifiers
whose value can be changed at any time. One thing to note is that you
can declare a variable and initialize it later in the code, but in case of
constants, you have to assign a value during the declaration itself. A
constant can be declared by using “const” keyword. For example:

const weightInKilos = 100;

Variables in JavaScript can be declared using either “let” or “var”


keyword. While both of these keywords are used for variable
declaration, there is a significant difference in scope of variables
declared using each of these keywords. Variables declared with “var”
keyword are accessible throughout the program, whereas variables
declared using “let” keyword are only available in the block in which
they are declared. Let us understand this with an example:

...
if(true){
let letVariable = "Variable using let";
}
ResultContainer.innerHTML = letVariable;
If you try to execute the preceding piece of code, you might get an
error in the console stating that “letVariable is not defined”. This is
because you are trying to access letVariable outside its scope. Change
the code to the following and you should see the output similar to
Figure 1-4:

...
if(true){
var varVariable = "Variable using var";
}
ResultContainer.innerHTML = varVariable;

Figure 1-4 Variable Declaration Using let and var


Another difference between let and var is that if you try to access a
“let” variable before its declaration, the system will throw an undefined
error, but in case of a “var” variable, the system will not throw any
error. For example, consider the piece of code in Figure 1-5. The last
two lines might give you error for accessing a variable that’s never
declared. However, the first two lines will give you no errors. We would
always want the system to throw us an error when we are trying to
access a variable before its declaration. Thus, it is always a good
practice to use the “let” keyword instead of “var” keyword to declare
variables.

Figure 1-5 let vs. var

Rest Parameter
Rest parameter is a feature of JavaScript that was introduced in ES6. It
lets us handle multiple function input parameters as an array. It is
particularly helpful in scenarios where the number of input parameters
to a function is indefinite.

Note ES6 is the sixth version of ECMAScript and was created to


standardize JavaScript. Since it was published in 2015, it is also
known as ECMAScript 2015.

Let us understand this with the help of the following example:

...
function sum(...inputs) {
var result = 0;
for(let i of inputs){
result += i;
}
return result;
}
ResultContainer.innerHTML = sum(5, 10, 5, 5);
This should give you an output of “25” on your HTML template. Now
let us understand what is happening here. When we declare a function
with rest parameter and invoke it, JavaScript automatically takes in all
the arguments we pass to the function and clubs it into an array. The
function can then iterate through the array and perform operations on
all the input elements supplied. Rest parameter can also be used with
regular parameters. However, rest parameter should always be the last
argument so that JavaScript can collect all the remaining elements and
club it into an array. Consider the following example:

...
function sum(input1, input2, ...remainingInputs) {
var result = input1 + input2;
for(let i of remainingInputs){
result += i;
}
return result;
}
ResultContainer.innerHTML = sum(5, 10, 5, 5);

The preceding piece of code will also give you an output of “25” on
your HTML template. The only difference here is that only the last two
input parameters will be considered as rest parameters, whereas the
first two are regular parameters. One of the major benefits of rest
parameter is that array operations such as filter, sort, pop, push,
reverse, and so on can easily be performed on input parameters.

Destructuring and Spread Syntax


Destructuring is another feature of JavaScript that was introduced in
ES6 and is exactly opposite of rest parameter. While rest parameter is
about assigning multiple values to a single array, destructuring is about
fetching values from a single array or an object and assigning it to
multiple variables. Let us understand this with the help of an example:

...
let fruits = ['Apple', 'Watermelon', 'Grapes'];
let [fruit1, fruit2, fruit3] = fruits;

ResultContainer.innerHTML = fruit2;
The preceding piece of code will give you “Watermelon” as output.
This is because when we use destructuring syntax (variables in square
brackets separated by commas on left and an array or object on right),
JavaScript automatically extracts values from the array on the right-
hand side and starts assigning them to the variables on the left-hand
side. Note that the values are assigned from left to right. So, for
instance, if there are two variables on the left-hand side and four array
elements on the right-hand side, then the first two values from the
array will be assigned to the variables and the last two values will be
left out. On the contrary, if there are four variables on the left-hand side
and just two array elements on the right-hand side, the values will be
assigned to the first two variables and the last two variables will be
undefined.
We can also skip some array elements while assigning it to
variables. To do so, add an extra comma separator on the left-hand side.
Consider the following example:

...
let fruits = ['Apple', 'Watermelon', 'Grapes'];
let [fruit1, , fruit2] = fruits;

ResultContainer.innerHTML = fruit2;

This time, the output that will be displayed on your HTML template
will be “Grapes”. This is because when JavaScript tries to find the
second variable for assigning second array element, it finds a null entry
because of the comma separator and skips that particular array
element. Another interesting thing you can do with destructuring is
that you can assign first few array elements to separate variables and
assign remaining array elements to a single variable using the rest
parameter syntax. Have a look at the following example to get a better
understanding:

...
let fruits = ['Apple', 'Watermelon', 'Grapes',
'Guava'];
let [fruit1, ...OtherFruits] = fruits;
ResultContainer.innerHTML = OtherFruits;
The preceding piece of code will give you “Watermelon, Grapes,
Guava” as output because the rest parameter syntax will assign all the
remaining array elements to the “OtherFruits” variable.
Objects can be destructured in a similar way to arrays with the only
exception being the use of curly brackets instead of square brackets on
the left-hand side to specify variables. Consider the following example
of destructuring object:

...
let Fruits = {Fruit1: 'Apple', Fruit2:
'Watermelon'};
let {Fruit1, Fruit2} = Fruits;

ResultContainer.innerHTML = Fruit1;

The preceding piece of code will give you “Apple” as output. Let us
now try to use destructuring in functions. We will try to pass an array
as input parameter and destructure it in the function definition. Please
look at the following piece of code:

...
function sum(a, b, c){
return a+b+c;
}

let input = [5,9,6];


ResultContainer.innerHTML = sum(...input);
The output of the preceding code should be “20”. What we are doing
here is exactly opposite of rest parameter. We are creating a single array
of input elements and passing it directly into a function that takes in
three different parameters. The function declaration will be similar to
that of a regular function. However, notice the syntax that we are using
while calling the function (the three dots before the parameter name).
This is known as spread syntax and this will do all the work for us. It is
identical to the syntax of rest parameter. However, if you use it while
calling the function, it will work in an opposite manner. So, instead of
collecting input parameters and clubbing it into an array, it will
destructure the array of input parameters and assign the values to the
variables mentioned in the function declaration. You can also use the
rest parameter and spread syntax at the same time. The manner in
which it will behave will depend on the context. Let us now look at
control loops.

Control Loops
JavaScript provides multiple ways to iterate through loops. Let us look
at each one of them with examples.

for
The for loop takes in three parameters: the first parameter is for the
initialization of the control variable, the second one is the condition
that provides entry to the loop if true, and the last one is increment or
decrement parameter that will modify the value of control variable in
each loop. These three parameters are followed by the body of the loop:

...
for(let i=0;i<8;i++){
if(i==1){
continue;
}
console.log("i: " + i);
if(i==4){
break;
}
}
We can use break and continue operators with all kinds of
JavaScript loops. The continue operator is used to skip the remaining
statements from the body of the loop and skip to the next iteration,
whereas the break operator is used to terminate all the remaining
iterations of the loop.
Notice the preceding piece of code and its output in Figure 1-6. The
loop is conditioned to run for eight iterations and print the number of
iteration in each execution. However, for the second iteration, the if
condition before the print statement in the body of the loop will
evaluate to true and the execution of continue operator will make the
loop jump to the next iteration. Hence, we do not see the value “1” in
the output. Similarly, for the fifth iteration, the if condition after the
print statement will evaluate to true and the execution of break
operator will terminate the remaining iterations of the loop. Thus, we
do not see remaining values after “4” printed in the output.

Figure 1-6 for Loop in JavaScript

forEach
forEach loop is called on an array or a list and executes a function for
each array element. The function takes in three parameters: the current
value (fruit), the index of the current value (index), and the array object
that the current value belongs to. The second and third parameters are
optional, whereas the first parameter is mandatory. One of the major
benefits of using this control loop is that the function would not be
executed for empty array elements, which results in better response
time for the end application:

...
let fruits = ['Apple','Grapes','Watermelon'];
fruits.forEach((fruit, index) => {
console.log(index + ': ' + fruit);
})

while
while loop is an entry-controlled loop similar to for loop, which means
that the condition that validates the entry to the loop is checked during
the beginning of the iteration. However, unlike for loop, you don’t have
to initialize or modify the control variable along with the condition. The
initialization is done before the beginning of the loop and its value is
modified in the loop body:

...
let fruits = ['Apple', 'Grapes', 'Watermelon'];
let i = 0;
while (i < fruits.length) {
console.log(i + ': ' + fruits[i]);
i++;
}

do...while
do...while loop is a variation of the while loop which is exit-controlled,
which means that the condition that validates the entry to the loop is
checked after the completion of an iteration. If true, the loop will
execute the next iteration:

...
let fruits = ['Apple', 'Grapes', 'Watermelon'];
Another random document with
no related content on Scribd:
The small boy knelt at his mother’s bedside, his little face against
hers. Softly he kissed the pale cheek. The boy’s heart had become a
man’s. He tried by touch and look to speak his love, his sympathy,
his admiration. His mother smiled at him as she soothed the baby,
glad to be free from pain. But presently the shouts and disorder of
the departing townspeople reached her ears. She stirred uneasily.
Fear crept into her eyes. Passionately she strained her little one to
her.
“How soon, little son, how soon?”
The lad, absorbed in his mother, had forgotten the Germans. With
a start he realized the danger. His new-born manhood took
command. His father was at the front. He must protect his mother
and tiny sister. His mother was too ill to move, but they ought to get
away. Who had a wagon? He hurried to the window, but already
even the stragglers were far down the road. All but three of the
horses had been sent to the front. Those three were now out of sight
with their overloaded wagons. The boy stood stupefied and helpless.
The woman on the bed stirred.
“My son,” she called. “My son!”
He went to her.
“You must leave me and go on.”
“I can’t, mother.”
The woman drew the boy down beside her. She knew the struggle
to come. How could she make him understand that his life and the
baby’s meant more to her than her own? Lovingly she stroked the
soft cheek. It was a grave, determined little face with very steady
eyes.
“Son, dear, think of little sister. The Germans won’t bother with
babies. There isn’t any milk. Mother hasn’t any for her. You must
take baby in your strong little arms and run—run with her right out of
this land into Holland.”
But he could not be persuaded. The mother understood that love
and a sense of duty held him. She gathered the baby in her arms
and tried to rise, but the overtaxed heart failed, and she fell back
half-fainting. The boy brought water and bathed her head until the
tired eyes opened.
“Little son, it will kill mother if you don’t go.”
The boy’s shoulders shook. He knelt by the bed. A sob broke from
him. Then there came the faint, far-distant call of the bugle.
Frantically the mother gathered up her baby and held it out to the
boy.
“For mother’s sake, son, for mother.”
In a flash the boy understood. His mother had risked her life for
the tiny sister. She wanted the baby saved more than anything else
in the world. He dashed the tears from his eyes. He wound his arms
about his mother in a long, passionate embrace.
“I’ll take her, mother; I’ll get her there safely.”
The bugle grew louder. Through the open window on the far-
distant road could be seen a cloud of dust. There was not a moment
to lose. Stooping, the boy caught up the red, squirming baby. Very
tenderly he placed the little body against his breast and buttoned his
coat over his burden.
The sound of marching feet could now be heard. Swiftly he ran to
the door. As he reached the threshold he turned. His mother, her
eyes shining with love and hope, was waving a last good-by. Down
the stairs, out of the back door, and across the fields sped the child.
Over grass and across streams flew the sure little feet. His heart
tugged fiercely to go back, but that look in his mother’s face
sustained him.
He knew the road to Holland. It was straight to the north; but he
kept to the fields. He didn’t want the baby discovered. Mile after mile,
through hour after hour, he pushed on, until twilight came. He found
a little spring and drank thirstily. Then he moistened the baby’s
mouth. The little creature was very good. Occasionally she uttered a
feeble cry, but most of the time she slept. The boy was intensely
weary. His feet ached. He sat down under a great tree and leaned
against it. Was it right to keep a baby out all night? Ought he to go to
some farmhouse? If he did, would the people take baby away? His
mother had said, “Run straight to Holland.” But Holland was twenty
miles away. He opened his coat and looked at the tiny creature. She
slept peacefully.
The night was very warm. He decided to remain where he was. It
had grown dark. The trees and bushes loomed big. His heart beat
quickly. He was glad of the warm, soft, live little creature in his arms.
He had come on this journey for his mother, but suddenly his boy’s
heart opened to the tiny, clinging thing at his breast. His little hand
stroked the baby tenderly. Then he stooped, and softly his lips
touched the red, wrinkled face. Presently his little body relaxed, and
he slept. He had walked eight miles. Through the long night the deep
sleep of exhaustion held him. He lay quite motionless, head and
shoulders resting against the tree-trunk, and the new-born babe
enveloped in the warmth of his body and arms slept also. The feeble
cry of the child woke him. The sun was coming over the horizon and
the air was alive with the twitter of birds.
At first he thought he was at home and had awakened to a long
happy summer’s day. Then the fretful little cries brought back
memory with a rush. His new-born love flooded him. Tenderly he laid
the little sister down. Stretching his stiff and aching body, he hurried
for water. Very carefully he put a few drops in the little mouth and wet
the baby’s lips with his little brown finger. This proved soothing and
the cries ceased. The tug of the baby’s lips on his finger clutched his
heart. The helpless little thing was hungry, and he too was
desperately hungry. What should he do? His mother had spoken of
milk. He must get milk. Again he gathered up his burden and
buttoned his coat. From the rising ground on which he stood he
could see a farmhouse with smoke issuing from its chimney. He
hurried down to the friendly open door. A kind woman gave him food.
She recognized him as a little refugee bound for Holland. He had
difficulty in concealing the baby, but fortunately she did not cry. The
woman saw that he carried something, but when he asked for milk
she concluded he had a pet kitten. He accepted this explanation.
Eagerly he took the coveted milk and started on.
But day-old babies do not know how to drink. When he dropped
milk into the baby’s mouth she choked and sputtered. He had to be
content with moistening her mouth and giving her a milk-soaked
finger.
Refreshed by sleep and food, the boy set off briskly. Holland did
not now seem so far off. If only his mother were safe! Had the
Germans been good to her? These thoughts pursued and tormented
him. As before, he kept off the beaten track, making his way through
open meadows and patches of trees. But as the day advanced, the
heat grew intense. His feet ached, his arms ached, and, worst of all,
the baby cried fretfully.
At noon he came to a little brook sheltered by trees. He sat down
on the bank and dangled his swollen feet in the cool, fresh stream.
But his tiny sister still cried. Suddenly a thought came to him. Placing
the baby on his knees, he undid the towel that enveloped her. There
had been no time for clothes. Then he dipped a dirty pocket-
handkerchief in the brook and gently sponged the hot, restless little
body. Very tenderly he washed the little arms and legs. That
successfully accomplished, he turned the tiny creature and bathed
the small back. Evidently this was the proper treatment, for the baby
grew quiet. His heart swelled with pride. Reverently he wrapped the
towel around the naked little one and, administering a few drops of
milk, again went on.
All through that long, hot afternoon he toiled. His footsteps grew
slower and slower; he covered diminishing distances. Frequently he
stopped to rest, and now the baby had begun again to cry fitfully. At
one time his strength failed. Then he placed the baby under a tree
and rising on his knees uttered a prayer:
“O God, she’s such a little thing, help me to get her there.”
Like a benediction came the cool breeze of the sunset hour,
bringing renewed strength.

In the afternoon of the following day a wagon stopped before a


Belgian refugee-camp in Holland. Slowly and stiffly a small boy slid
to the ground. He had been picked up just over the border by a
friendly farmer, and driven to camp. He was dirty, bedraggled and
footsore. Very kindly the ladies’ committee received him. He was
placed at the table and a bowl of hot soup was set before him. He
ate awkwardly with his left hand. His right hand held something
beneath his coat, which he never for a moment forgot. The women
tried to get his story, but he remained strangely silent. His eyes
wandered over the room and back to their faces. He seemed to be
testing them. Not for an hour, not until there was a faint stirring in his
coat, did he disclose his burden. Then, going to her whom he had
chosen as most to be trusted, he opened his jacket. In a dirty towel
lay a naked, miserably thin, three-days’-old baby.
Mutely holding out the forlorn object, the boy begged help. Bit by
bit they got his story. Hurriedly a Belgian refugee mother was sent
for. She was told what had happened, and she took the baby to her
breast. Jealously the boy stood guard while his tiny sister had her
first meal. But the spark of life was very low.
For two days the camp concentrated on the tiny creature. The boy
never left his sister’s side. But her ordeal had been too great. It was
only a feeble flicker of life at best, and during the third night the little
flame went out. The boy was utterly crushed. He had now but one
thought—to reach his mother. It was impossible to keep the news
from him longer. He would have gone in search. Gently he was told
of the skirmish that had destroyed the Belgian hamlet. There were
no houses or people in the town that had once been his home.

“That is his story,” ended the friendly little Dutch woman.


“And his father?” I inquired.
“Killed at the front,” was the reply.
I rose to go, but could not get the boy out of my mind. What a
world! What intolerable suffering! Was there no way out? Then the
ever-recurring phrase of the French and Belgian soldiers came to
me. When I had shuddered at ghastly wounds, at death, at
innumerable white crosses on a bloody battlefield, invariably, in dry,
cynical, hopeless tones, the soldier would make the one comment,—
“C’est la guerre; que voulez-vous?”—“It is war; what would you?”
DRAMATIC SELECTIONS

BROWN WOLF
By Jack London
The Klondiker’s face took on a contemptuous expression as he
said finally, “I reckon there’s nothin’ in sight to prevent me takin’ the
dog right here an’ now.”
Walt’s face reddened, and the striking-muscles of his arms and
shoulders seemed to stiffen and grow tense. His wife fluttered
apprehensively into the breach.
“Maybe Mr. Miller is right,” she said. “I’m afraid that he is. Wolf
does seem to know him, and certainly he answers to the name of
Brown. He made friends with him instantly, and you know that’s
something he never did with anybody before. Besides, look at the
way he barked. He was bursting with joy. Joy over what? Without
doubt at finding Mr. Miller.”
Walt’s striking-muscles relaxed, and his shoulders seemed to
droop with hopelessness.
“I guess you’re right, Madge,” he said. “Wolf isn’t Wolf, but Brown,
and he must belong to Mr. Miller.”
“Perhaps Mr. Miller will sell him?” she suggested. “We can buy
him.”
Skiff Miller shook his head, no longer belligerent, but kindly, quick
to be generous in response to generousness.
“I had five dogs,” he said, casting about for the easiest way to
temper his refusal. “He was the leader. They was the crack team of
Alaska. Nothin’ could touch ’em. In 1898 I refused five thousand
dollars for the bunch. Dogs was high then anyway; but that wasn’t
what made the fancy price. It was the team itself. Brown was the
best in the team. That winter I refused twelve hundred for him. I
didn’t sell ’m then an’ I ain’t a-sellin’ ’m now. Besides, I think a mighty
lot of that dog. I’ve ben lookin’ for ’m for three years. It made me fair
sick when I found he’d ben stole—not the value of him, but the—
well, I liked ’m. I couldn’t believe my eyes when I seen ’m just now. I
thought I was dreamin’. It was too good to be true. Why, I was his
wet-nurse. I put ’m to bed, snug every night. His mother died, and I
brought ’m up on condensed milk at two dollars a can when I
couldn’t afford it in my own coffee. He never knew any mother but
me.”
Madge began to speak:
“But the dog,” she said. “You haven’t considered the dog.”
Skiff Miller looked puzzled.
“Have you thought about him?” she asked.
“Don’t know what you’re drivin’ at,” was the response.
“Maybe the dog has some choice in the matter,” Madge went on.
“Maybe he has his likes and desires. You have not considered him.
You give him no choice. It had never entered your mind that possibly
he might prefer California to Alaska. You consider only what you like.
You do with him as you would with a sack of potatoes or a bale of
hay.”
This was a new way of looking at it, and Miller was visibly
impressed as he debated it in his mind. Madge took advantage of his
indecision.
“If you really love him, what would be happiness to him would be
your happiness also,” she urged.
Skiff Miller continued to debate with himself, and Madge stole a
glance of exultation to her husband, who looked back warm
approval.
“What do you think?” the Klondiker suddenly demanded.
It was her turn to be puzzled. “What do you mean?” she asked.
“D’ye think he’d sooner stay in California?”
She nodded her head with positiveness. “I’m sure of it.”
Skiff Miller again debated with himself, though this time aloud, at
the same time running his gaze in a judicial way over the mooted
animal.
“He was a good worker. He’s done a heap of work for me. He
never loafed on me, an’ he was a joe-dandy at hammerin’ a raw
team into shape. He’s got a head on him. He can do everything but
talk. He knows what you say to him. Look at ’m now. He knows we’re
talkin’ about him.”
The dog was lying at Skiff Miller’s feet, head close down on paws,
ears erect and listening, and eyes that were quick and eager to
follow the sound of speech as it fell from the lips of first one and then
the other.
“An’ there’s a lot of work in ’m yet. He’s good for years to come.
An’ I do like him.”
Once or twice after that Skiff Miller opened his mouth and closed it
again without speaking. Finally he said:
“I’ll tell you what I’ll do. Your remarks, ma’am, has some weight in
them. The dog’s worked hard, and maybe he’s earned a soft berth
an’ has got a right to choose. Anyway, we’ll leave it up to him.
Whatever he says goes. You people stay right here settin’ down; I’ll
say ‘good-by’ and walk off casual-like. If he wants to stay, he can
stay. If he wants to come with me, let ’m come. I won’t call ’m to
come an’ don’t you call ’m to come back.”
He looked with sudden suspicion at Madge, and added, “Only you
must play fair. No persuadin’ after my back is turned.”
“We’ll play fair,” Madge began, but Skiff Miller broke in on her
assurances.
“I know the ways of women,” he announced. “Their hearts is soft.
When their hearts is touched they’re likely to stack the cards, look at
the bottom of the deck, an’ lie—beggin’ your pardon, ma’am—I’m
only discoursin’ about women in general.”
“I don’t know how to thank you,” Madge quavered.
“I don’t see as you’ve got any call to thank me,” he replied; “Brown
ain’t decided yet. Now, you won’t mind if I go away slow. It’s no
more’n fair, seein’ I’ll be out of sight inside a hundred yards.”
Madge agreed and added, “And I promise you faithfully that we
won’t do anything to influence him.”
“Well, then, I might as well be gettin’ along,” Skiff Miller said, in the
ordinary tones of one departing.
At this change in his voice Wolf lifted his head quickly, and still
more quickly got to his feet when the man and woman shook hands.
He sprang up on his hind legs, resting his fore-paws on her hip and
at the same time licking Skiff Miller’s hand. When the latter shook
hands with Walt, Wolf repeated his act, resting his weight on Walt
and licking both men’s hands.
“It ain’t no picnic, I can tell you that,” were the Klondiker’s last
words, as he turned and went slowly up the trail.
For the distance of twenty feet Wolf watched him go, himself all
eagerness and expectancy, as though waiting for the man to turn
and retrace his steps. Then, with a quick, low whine, Wolf sprang
after him, overtook him, caught his hand between his teeth with
reluctant tenderness and strove gently to make him pause.
Failing in this, Wolf raced back to where Walt Irvine sat, catching
his coat-sleeve in his teeth and trying vainly to drag him after the
retreating man.
Wolf’s perturbation began to wax. He desired ubiquity. He wanted
to be in two places at the same time, with the old master and the
new, and steadily the distance was increasing. He sprang about
excitedly, making short, nervous leaps and twists, now toward one,
now toward the other, in painful indecision, not knowing his own
mind, desiring both and unable to choose, uttering quick, sharp
whines and beginning to pant.
He sat down abruptly on his haunches, thrusting his nose upward,
his mouth opening and closing with jerky movements, each time
opening wider. The jerking movements were in unison with the
recurrent spasms that attacked the throat, each spasm severer and
more intense than the preceding one. And in accord with jerks and
spasms the larynx began to vibrate, at first silently, accompanied by
the rush of air expelled from the lungs, then sounding a low, deep
note, the lowest in the register of the human ear. All this was the
nervous and muscular preliminary to howling.
But just as the howl was on the verge of bursting from the full
throat, the wide open mouth was closed, the paroxysms ceased, and
he looked long and steadily at the retreating man. Suddenly Wolf
turned his head, and over his shoulder just as steadily regarded
Walt. The appeal was unanswered. Not a word nor a sign did the
dog receive, no suggestion and no clew as to what his conduct
should be.
A glance ahead to where the old master was nearing the curve of
the trail excited him again. He sprang to his feet with a whine, and
then, struck by a new idea, turned his attention to Madge. Hitherto
he had ignored her, but now, both masters failing him, she alone was
left. He went over to her and snuggled his head in her lap, nudging
her arm with his nose—an old trick of his when begging for favors.
He backed away from her and began writhing and twisting playfully,
curveting and prancing, half rearing and striking his fore-paws to the
earth, struggling with all his body, from the wheedling eyes and
flattening ears to the wagging tail, to express the thought that was in
him and that was denied him utterance.
This too he soon abandoned. He was depressed by the coldness
of these humans who had never been cold before. No response
could he draw from them, no help could he get. They did not
consider him. They were as dead.
He turned and silently gazed after the old master. Skiff Miller was
rounding the curve. In a moment he would be gone from view. Yet he
never turned his head, plodding straight onward; slowly and
methodically, as though possessed of no interest in what was
occurring behind his back.
And in this fashion he went out of view. Wolf waited for him to
reappear. He waited a long minute, quietly, silently without
movement as though turned to stone—withal stone quick with
eagerness and desire. He barked once, and waited. Then he turned
and trotted back to Walt Irvine. He sniffed his hand and dropped
down heavily at his feet, watching the trail where it curved emptily
from view.
The tiny stream slipping down the mossy-lipped stone seemed
suddenly to increase the volume of its gurgling noise. Save for the
meadow larks, there was no other sound. The great yellow butterflies
drifted silently through the sunshine and lost themselves in the
drowsy shadows. Madge gazed triumphantly at her husband.
A few minutes later Wolf got upon his feet. Decision and
deliberation marked his movements. He did not glance at the man
and woman. His eyes were fixed up the trail. He had made up his
mind. They knew it. And they knew, so far as they were concerned,
that the ordeal had just begun.
He broke into a trot and Madge’s lips pursed, forming an avenue
for the caressing sound that it was the will of her to send forth. But
the caressing sound was not made. She was impelled to look at her
husband, and she saw the sternness with which he watched her. The
pursed lips relaxed, and she sighed inaudibly.
Wolf’s trot broke into a run. Wider and wider were the leaps he
made. Not once did he turn his head, his wolf’s brush standing out
straight behind him. He cut sharply across the curve of the trail and
was gone.—From “Love of Life,” copyrighted by The Macmillan Co.,
New York, and used by their kind permission.

THE SIGN OF THE CROSS


By Wilson Barrett
It was a festival day in Rome. Nero had decreed it. In the Circus
was to be given a performance the like of which had never before
been witnessed. The whole city was excited by the rumors of the
numbers of Christians doomed to die, and of the ferocity of the
beasts they were to encounter.
The dungeon beneath the amphitheatre in which the Christians
were imprisoned was a large, gloomy, stone vault, destitute of
furniture of any kind.
Great was the contrast between the dark, damp cell and the sunlit
arena, crowded with eager, gayly dressed patricians. In the dungeon
were scores of men and women waiting for the signal to pass forth to
a certain and cruel death; in the auditorium was a seething mass of
humanity, thousands upon thousands impatiently awaiting their
coming forth, and gloating already in imagination upon the horrors
they must undergo.
The roars of the hungry beasts could be faintly heard, even when
the doors were closed; so could the equally merciless howls of the
blood-thirsty populace. How they were to die had not been told the
martyrs; only this they knew, that they were to die, and that every
endeavor would be made to make their deaths as horrible, revolting
and cruel as possible.
Among them were a few that trembled and felt sick with physical
fear, but not one murmured. Their eyes were mentally fixed upon the
Cross.
Again there was a loud call of the trumpets. The doors were
thrown open, and the arena beyond could be seen by the prisoners,
flooded with golden sunshine.
“Now, then, march!”
For a moment there was a pause, but almost before it could be
realized Mercia’s clear, sweet voice rang out the first words of their
beloved hymn:

“Shepherd of souls that stumble by the way,


Pilot of vessels storm-tossed in the night,
Healer of wounds, for help to Thee we pray.”

Singing these words with uplifted eyes and undaunted hearts,


those noble martyrs went calmly and resignedly through the dark
Valley of the Shadow of Death to the everlasting peace that awaited
them beyond.
Mercia, a beautiful girl, was left alone in the dungeon. It was
generally understood that Marcus Superbus, the handsome, wealthy
young Prefect of Rome, was madly in love with this Christian girl,
and the adventuress who hoped to entrap Marcus prevailed upon
Nero to make Mercia’s punishment unique and horrible.
She sank upon her knees with her face pressed against the iron
bars. Presently the door leading to the corridor was unbarred. Two
officers entered, ushering in Marcus, who started on finding Mercia
alone. Dismissing the guards, he closed the door and gazed with
infinite tenderness upon the white figure at his feet—Mercia.
For a time Marcus could not speak; his heart felt like bursting with
grief for this beautiful girl. Here in this loathsome dungeon she could
still preserve her courage and could still pray for forgiveness for her
persecutors.
“Mercia! Mercia!”
“What would you with me?”
“I came to save thee. I have knelt to Nero for thy pardon. He will
grant it upon one condition—that thou dost renounce thy false
worship—”
“It is not false! It is true and everlasting.”
“Everlasting? Nothing is everlasting! There is no after-life; the end
is here. Men come and go; they drink their little cup of woe or
happiness, and then sleep—the sleep that knows no awakening.”
“Art thou sure of that? Ask thyself, are there no inward monitors
that silently teach thee there is a life to come?”
“All men have wishes for a life to come, if it could better this.”
“It will better this, if this life be well lived. Hast thou lived well?”
“No; thou hast taught me that I never knew the shame of sin until I
knew thy purity. Ah! whence comes thy wondrous grace?”
“If I have any grace it comes from Him who died on Calvary’s
cross that grace might come to all.”
“Thou dost believe this?”
“I do believe it.”
“But thou hast no proof.”
“Yes. The proof is here.”
“Oh, thou dost believe so? All men, all nations have their gods.
This one bows down to a thing of stone, and calls it his god; another
to the sun, and calls it his god. A god of brass—a god of gold—a god
of wood. Each tells himself his is the true god. All are mistaken.”
“All are mistaken.”
“And thou? What is thy God? A fantasy—a vision—a superstition.
Wilt thou die for such a thing?”
“I will die for my Master gladly.”
“Mercia, hear me! Thou shalt not die! I cannot let thee go! I love
you so! I love you so!”
“Thou hast told me so before, and wouldst have slain thy soul and
mine.”
“I grant it. I did not know. I was blind! Now I see my love for thee is
love indeed. The brute is dead in me, the man is living. Thy purity
that I would have smirched hath cleansed me. Live, Mercia! Live and
be my wife!”
“Thy wife? Thy wife? Oh, Marcus, hear me. This love I speak of
came, I know not whence, nor how, then; now I know it came from
Him who gave me life. I receive it joyfully because He gave it. Think
you He gave it to tempt me to betray Him? Nay, Marcus, He gave it
to me to uphold and strengthen me. I will be true to Him!”
“Thou wilt love?”
“I will not deny Him who died for me!”
“Mercia, if thy God exists He made us both, the one for the other.
Hearken! I am rich beyond all riches. I have power, skill, strength;
with these the world would be my slave, my vassal. Nero is hated,
loathed—is tottering on his throne. I have friends in plenty who would
help me—the throne of Cæsar might be mine—and thou shalt share
it with me if thou wilt but live. The crown of an Empress shall deck
that lovely head if thou wilt but live—only consent to live!”
“My crown is not of earth, Marcus; it awaits me there.”
“I cannot part from thee and live, Mercia! I have, to save thy
precious life, argued and spoken against thy faith, thy God, but to
speak truth to thee, I have been sorely troubled since I first saw thee.
Strange yearnings of the spirit come in the lonely watches of the
night; I battle with them, but they will not yield. I tremble with strange
fears, strange thoughts, strange hopes. If thy faith be true, what is
this world?—a little tarrying-place, a tiny bridge between two vast
eternities, that from which we have traveled, that towards which we
go. Oh, but to know! How can I know, Mercia? Teach me how to
know!”
“Look at the Cross, and pray, ‘Help Thou my unbelief.’ Give up all
that thou hast, and follow Him!”
“Would He welcome even me?”
“Yea, even thee, Marcus.”
Now there sounded on their ears another call from the trumpets.
The brazen doors slid back, the guards entered, followed this time by
Tigellinus.
“Prefect, the hour has come. Cæsar would have this maid’s
decision. Doth she renounce Christus and live, or cling to him and
die?”
“Mercia, answer him!”
“I cling to Him and die. Farewell, Marcus!”
“No, not ‘Farewell.’ Death cannot part us. I, too, am ready! My
lingering doubts are dead; the light hath come! Return to Cæsar; tell
him Christus hath triumphed. Marcus, too, is a Christian.”
His face shone with the same glorious radiance that had
transfigured the features of Mercia. They were glorified by the
presence of Him who had promised to them, even as He had
promised to the penitent thief dying on the Cross beside Him
—“Verily, I say unto thee, this day shalt thou be with me in Paradise.”

THE LITTLE FIR TREE


By Hans Christian Andersen
Once there was a Little Fir Tree, slim and pointed and shiny, which
stood in a forest in the midst of some big fir trees, broad and tall and
shadowy green. The Little Fir Tree was very unhappy because he
was not big like the others. When the birds came flying into the
woods and lit on the branches of the big trees, and built their nests
there, he used to call up to them, “Come down, come down, rest in
my branches!” But they always said, “Oh, no, no, you are too little.”
And when the splendid wind came blowing and singing through
the forest, it bent and rocked and swung the tops of the big trees and
murmured to them. Then the Little Fir Tree looked up and called
—“Oh, please, dear wind, come down and play with me!” But he
always said, “Oh, no, you are too little, you are too little.” And in the
winter the white snow fell softly, softly, and covered the great trees all
over with wonderful caps and coats of white. The Little Fir Tree close
down in the cover of the others would call up, “Oh, please, dear
snow, give me a cap too! I want to play too!” But the snow always
said—“Oh, no, no, no, you are too little, you are too little.”
The worst of all was when men came with sledges and teams of
horses. They came to cut the big trees and carry them away. And
when one had been cut down and carried away, the others talked
about it, and nodded their heads. And the Little Fir Tree listened, and
heard them say that when you were carried away so, you might
become the mast of a mighty ship and go far away over the ocean
and see many wonderful things, or you might be a part of a fine
house in a great city and see much of life. The Little Fir Tree wanted
greatly to see life but he was always too little; the men passed him
by. But, by and by, one cold winter’s morning, men came with a
sledge and horses and after they had cut here and there, they came
to the circle of trees round the Little Fir Tree and looked all about.
“There are none little enough,” they said. Oh! how the Little Fir Tree
pricked up his needles. “Here is one,” said one of the men; “it is just
little enough.” And he touched the Little Fir Tree. The little Fir Tree
was happy as a bird, because he knew they were about to cut him
down. And when he was being carried away on the sledge he lay
wondering so contentedly whether he should be the mast of a ship or
part of a fine house in the city. But when they came to the town he
was taken out and set upright in a tub and placed on the edge of a
sidewalk in a row of other fir trees all small, but none so little as he.
And then the Little Fir Tree began to see life. People kept coming to
look at the trees and take them away, but always when they saw the
Little Fir Tree, they shook their heads and said, “It is too little, too
little!” Until finally two children came along, hand in hand, looking
carefully at all the small trees. When they saw the Little Fir Tree, they
cried out, “We’ll take this one; it is just little enough!” They took him
out of his tub and carried him away between them. And the happy
Little Fir Tree spent all his time wondering what it could be that he
was just little enough for; he knew it could hardly be a mast or a
house since he was going away with children. He kept wondering
while they took him in through some big doors and set him up in
another tub on the table in a bare little room. Pretty soon they went
away and came back again with a big basket carried between them.
Then some pretty ladies, with white caps on their heads and white
aprons over their blue dresses, came bringing little parcels. The
children took things out of the basket and began to play with the
Little Fir Tree, just as he had often wished the birds and wind and
snow to do; he felt their soft little touches on his head and his twigs
and his branches, and when he looked down at himself, as far as he
could look, he saw that he was all hung with gold and silver chains!
There were strings of fluffy white stuff drooping around him. His
twigs held little gold nuts and pink rosy balls and silver stars. He had
little pink and white candles in his arms, but last and most wonderful
of all, the children hung a beautiful white floating doll angel over his
head! The Little Fir Tree could not breathe for joy and wonder. What
was it that he was now? Why was this glory for him? After a time
every one went away and left him. It grew dusk and the Little Fir Tree
began to hear strange sounds through the closed doors. Sometimes
he heard a child crying. He was beginning to be lonely. It grew more
and more shadowy. All at once the doors opened and the two
children came in. Two of the pretty ladies were with them. They
came to the Little Fir Tree and quickly lighted all the pink and white
candles. Then the two pretty ladies took hold of the table with the
Little Fir Tree on it and pushed it, very smoothly and quickly, out of
the doors, across a hall and in at another door. The Little Fir Tree
had a sudden sight of a long room with many little white beds in it, of
children propped up on pillows in the beds, and of other children in
great wheel chairs and others hobbling about or sitting in little chairs.
He wondered why all the little children looked so white and tired; he
did not know he was in a hospital. But before he could wonder any
more, his breath was quickly taken away by the shout those little
white children gave. “Oh, Oh! M—M—” they cried. “How pretty!”
“How beautiful!” “Oh, isn’t it lovely?” He knew they must mean him,
for all their shining eyes were looking straight at him. He stood
straight as a mast and quivered in every needle for joy. Presently
one weak little voice called out, “It’s the nicest Christmas tree I ever
saw!” And then, at last, the Little Fir Tree knew what he was; he was
a Christmas tree! And from his shiny head to his feet he was glad,
through and through, because he was just little enough to be the
nicest kind of a tree in the world.

A CHIP OF THE OLD BLOCK


By Juliet Wilbur Tompkins
The two were amazingly, even absurdly alike, as they faced each
other across the library table. The very scowl that lay heavy on the
girl’s forehead was an obvious inheritance from the parental scowl
opposite.
“I’m a self-made man, Paula—plain Western goods. It’s too late to
teach me fancy values. I don’t go a hang on anything but facts.
Some folks can put a paper frill around a mutton chop and call it
lamb, but that ain’t my way. I see things as they are.”
“Well, I’m the daughter of a self-made man, and of a New England
school-teacher too; if you can beat that combination for seeing
things, as they are—”
“It’s your notion that you see this young feller as he is?”
“I do. And he has got just the things that you and I haven’t and
need.”
“He has, eh? You might mention one or two.”
“Ancestry.”
“Oh, pshaw!”
“Well, then, a sense of humor.”
“A—what?” If she had said a “top-knot,” he could not have looked
more amazedly disgusted.
“A sense of humor. And he’s got common sense too. He’s poor
and alone in the world and not awfully practical, but I tell you, father,
there’s stuff in him that we hustlers have got to get into our families
sooner or later, if we’re going to the top. And—I—am.”
“H’m. On sixty dollars a month?”
“If necessary. Oh, I don’t pretend that Ralph has done much in
business yet. Few men have, at nineteen.”
“At nineteen I had been at work seven years, and had been raised
six times, both in salary and position. This young feller tells me he
has been at work three years, and has been raised once—in salary
only.”
“And that once was since he became interested in me; there is
one thing you have got to take into account, father—that Ralph with
me will have a very different career from Ralph without me.”
“But, Paula, is that just your notion of a husband?”
“Ralph is just my notion of a husband.”
“Well, I’m sorry, but he ain’t mine, and that settles it. You’ll live to
thank me for it.”
“Well, here’s fair warning: I don’t give him up.”
“Oh, I guess you will.”

You might also like