<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>http://www.willmaster.com/atom.xml</id>
  <title>Will Bontrager Blogs Web Site Techniques</title>
  <updated>2026-03-28T19:28:32Z</updated>
  <link rel="self" href="http://www.willmaster.com/atom.xml" type="application/atom+xml" />
  <author>
    <name>Will Bontrager</name>
    <uri>http://www.willmaster.com/blog/</uri>
  </author>
  <entry>
    <category term="CSS"/>
    <id>https://www.willmaster.com/blog/css/using-transparent-text.php</id>
    <published>2026-03-28T19:28:32Z</published>
    <updated>2026-03-28T19:28:32Z</updated>
    <title>Using Transparent Text</title>
    <link href="https://www.willmaster.com/blog/css/using-transparent-text.php"/>
    <summary type="html"><![CDATA[ <p>
My most-often use for transparent text is for centering text. Let's suppose a headline needs to be centered without considering a note appended to it.
</p>
<p>
Here is a simple demonstration of a headline that is not centered the way I want it.
</p>
<p>
</p>
<h1 >
Who is<br>
best? 
<span >(Will!)</span>
</h1> (The complete article is at <a href="https://www.willmaster.com/blog/css/using-transparent-text.php">https://www.willmaster.com/blog/css/using-transparent-text.php</a>)]]></summary>
  </entry>
  <entry>
    <category term="CSS"/>
    <id>https://www.willmaster.com/blog/css/custom-list-markers.php</id>
    <published>2026-03-21T20:12:38Z</published>
    <updated>2026-03-21T20:12:38Z</updated>
    <title>Custom List Markers</title>
    <link href="https://www.willmaster.com/blog/css/custom-list-markers.php"/>
    <summary type="html"><![CDATA[ <p>
Unordered lists in HTML web pages generally use bullets to begin list items. Sometimes circles or squares. But it doesn't have to be that way.
</p>
<p>
You can use an image instead of bullets.
</p> (The complete article is at <a href="https://www.willmaster.com/blog/css/custom-list-markers.php">https://www.willmaster.com/blog/css/custom-list-markers.php</a>)]]></summary>
  </entry>
  <entry>
    <category term="Managing Website Forms"/>
    <id>https://www.willmaster.com/library/manage-forms/easier-field-information-change.php</id>
    <published>2026-03-14T14:19:46Z</published>
    <updated>2026-03-14T14:19:46Z</updated>
    <title>Easier Field Information Change</title>
    <link href="https://www.willmaster.com/library/manage-forms/easier-field-information-change.php"/>
    <summary type="html"><![CDATA[ <p>
Some things happen so automatically that we tend not to notice.
</p>
<p>
The address bar of browsers is an example. When you've loaded a web page and then you tap the URL in the address bar, the editable URL is selected. You can type a new URL without having to erase the old one (it's erased automatically when you begin to type). If you do that a lot, you tend to take the convenience for granted.
</p>
<p>
It's a bit unhandy when you only want to change something in the current URL (requires an extra tap to deselect). Still, it is easier to unselect with a tap than it is to erase all the data before typing a new URL.
</p>
<p>
This article describes how to do a "select the field when the field is tapped" for your forms.
</p> (The complete article is at <a href="https://www.willmaster.com/library/manage-forms/easier-field-information-change.php">https://www.willmaster.com/library/manage-forms/easier-field-information-change.php</a>)]]></summary>
  </entry>
  <entry>
    <category term="Website Owner Tools"/>
    <id>https://www.willmaster.com/library/tools/file-uploader.php</id>
    <published>2026-03-09T13:28:46Z</published>
    <updated>2026-03-09T13:28:46Z</updated>
    <title>File Uploader</title>
    <link href="https://www.willmaster.com/library/tools/file-uploader.php"/>
    <summary type="html"><![CDATA[ <p>
If you have wanted a self-contained PHP script for file uploading on your website, here it is.
</p>
<p>
Optionally, it can be customized to require login.
</p>
<p>
Tell the script which directory to use for storing uploaded files. Upload the script to your website. You're good to go.
</p>
<p>
Uploaded files will not overwrite each other. If a file is uploaded with the name of a file already in the directory, the new file gets a number appended to its file name.
</p> (The complete article is at <a href="https://www.willmaster.com/library/tools/file-uploader.php">https://www.willmaster.com/library/tools/file-uploader.php</a>)]]></summary>
  </entry>
  <entry>
    <category term="Web Content Preparation"/>
    <id>https://www.willmaster.com/library/web-content-prep/fun-jumper.php</id>
    <published>2026-02-27T18:01:38Z</published>
    <updated>2026-02-27T18:01:38Z</updated>
    <title>Fun Jumper</title>
    <link href="https://www.willmaster.com/library/web-content-prep/fun-jumper.php"/>
    <summary type="html"><![CDATA[ <p>
Just for fun, let's put a div on the web page that jumps. The div can contain any valid HTML content. For this article, the div will contain an image.
</p>
<p>
When the mouse pointer moves over the image, the image jumps to a new location. For devices without a mouse, tapping the image makes it jump.
</p>
<p>
The demonstration image is an outline of an envelope within a colored circle. The image has the word "Possibilities" above the envelope.
</p>
<p>
If you're using a laptop or desktop computer to read this article, try putting the mouse pointer on the demonstration image. The image will jump to a new location.
</p>
<p>
On the other hand, if you are using a phone or tablet to read the article, tap the image to make it jump.
</p>
<p>
When the image jumps, it relocates itself to a random location within the browser window (the viewport). The window can be scrolled, and the image remains at its viewport location.
</p>
<p>
Fun ideas include an image of a squirrel, a small video playing, the words "May problems elude you", a laughing cartoon face, or an eagle in flight. You're probably thinking of something right now that would be fun on your web page.
</p> (The complete article is at <a href="https://www.willmaster.com/library/web-content-prep/fun-jumper.php">https://www.willmaster.com/library/web-content-prep/fun-jumper.php</a>)]]></summary>
  </entry>
  <entry>
    <category term="Web Content Preparation"/>
    <id>https://www.willmaster.com/library/web-content-prep/the-html-optgroup-tag.php</id>
    <published>2026-02-24T13:37:49Z</published>
    <updated>2026-02-24T13:37:49Z</updated>
    <title>The HTML optgroup Tag</title>
    <link href="https://www.willmaster.com/library/web-content-prep/the-html-optgroup-tag.php"/>
    <summary type="html"><![CDATA[ <p>
When you need to group certain items in a dropdown list, use the &lt;optgroup&gt; tag. Here is a demonstration.
</p>

<div >
<p >
Please select a tree or a bird:
</p>
<select>
<optgroup label="Trees">
	<option>Maple</option>
	<option>Oak</option>
	<option>Sycomore</option>
	<option>Magnolia</option>
</optgroup>
<optgroup label="Birds">
	<option>Robin</option>
	<option>Bluebird</option>
	<option>Oriole</option>
	<option>Meadowlark</option>
</optgroup>
</select>
</div>

<p>
When you view the dropdown list, you'll see how your browser divides things up. Each browser has it's own style for dropdown lists.
</p> (The complete article is at <a href="https://www.willmaster.com/library/web-content-prep/the-html-optgroup-tag.php">https://www.willmaster.com/library/web-content-prep/the-html-optgroup-tag.php</a>)]]></summary>
  </entry>
  <entry>
    <category term="Tutorials and Answers"/>
    <id>https://www.willmaster.com/library/tutorials/determining-div-location.php</id>
    <published>2026-02-17T15:31:53Z</published>
    <updated>2026-02-17T15:31:53Z</updated>
    <title>Determining Div Location</title>
    <link href="https://www.willmaster.com/library/tutorials/determining-div-location.php"/>
    <summary type="html"><![CDATA[ <p>
This is a techy how-to article about measurements related to div locations and dimensions.
</p>
<p>
Listing all the reasons to know the information would be a long list. Getting the dimensions of a div element for use when centering the div within the viewport is one reason. It is also how I used it just yesterday.
</p>
<p>
There are various ways to try to determine the location of a div in the viewport (browser window, generally, but might also be an iframe). Similar to its dimension, there are various ways to determine the width or the height of a div.
</p>
<p>
The ways are JavaScript methods. PHP doesn't work for this functionality because PHP runs <span class="italic">before</span> the web page is loaded into a browser window.
</p>
<p>
The JavaScript function I prefer to use provides the viewport location and the dimensions of a div all in one function call. <code>getBoundingClientRect</code> is the name of the function.
</p> (The complete article is at <a href="https://www.willmaster.com/library/tutorials/determining-div-location.php">https://www.willmaster.com/library/tutorials/determining-div-location.php</a>)]]></summary>
  </entry>
  <entry>
    <category term="Security and Blocking"/>
    <id>https://www.willmaster.com/library/security/site-wide-login-system.php</id>
    <published>2026-02-10T12:46:30Z</published>
    <updated>2026-02-10T12:46:30Z</updated>
    <title>Site-wide Login System</title>
    <link href="https://www.willmaster.com/library/security/site-wide-login-system.php"/>
    <summary type="html"><![CDATA[ <p>
At Willmaster and some other sites, we use a site-wide One Login System. The system can protect any directory that contains a customizable .htaccess file.
</p>
<p>
</p>
<h3>
How the One Login System Works
</h3>
<p>
There is one log-in page. After logging in, a cookie is set.
</p>
<p>
Directories are protected with entries in the .htaccess file. If the cookie is set, the browser is allowed to access the directory. Otherwise, the browser gets a "not authorized" message.
</p>
<h3>
Why?
</h3>
<p>
For Willmaster.com, we use the One Login System to protect various scripts on the domain. The Possibilities emailing software is an example. Others are syndication, web content updating, server monitoring, and backup software.
</p>
<p>
Some of those are in separate directories. Some share the same directory. So long as the directory has the customized .htaccess file, we're good.
</p>
<p>
For better security, either or both the username and the password may contain embedded spaces.
</p>
<p>
The source code provided in this article is an updated version of what we are using. It was updated for easier customization and to allow more than one username/password set to be specified. (With a separate username for each person allowed access, removing a username later won't affect anybody else's log-in.)
</p> (The complete article is at <a href="https://www.willmaster.com/library/security/site-wide-login-system.php">https://www.willmaster.com/library/security/site-wide-login-system.php</a>)]]></summary>
  </entry>
  <entry>
    <category term="Website Owner Tools"/>
    <id>https://www.willmaster.com/library/tools/image-show.php</id>
    <published>2026-02-02T13:51:50Z</published>
    <updated>2026-02-02T13:51:50Z</updated>
    <title>Image Show</title>
    <link href="https://www.willmaster.com/library/tools/image-show.php"/>
    <summary type="html"><![CDATA[ <p>
Here are the steps to make an image show available on your web page.
</p>
<ol>
<li>
<p>
Put some images into a directory on your server.
</p>
</li>
<li>
<p>
Upload the "Image Show" PHP script into the same directory. (The script comes with this article. No customization is required.)
</p>
</li>
<li>
<p>
On a separate web page, call Image Show.
</p>
</li>
</ol> (The complete article is at <a href="https://www.willmaster.com/library/tools/image-show.php">https://www.willmaster.com/library/tools/image-show.php</a>)]]></summary>
  </entry>
  <entry>
    <category term="Website Owner Tools"/>
    <id>https://www.willmaster.com/library/tools/a-variables-dump.php</id>
    <published>2026-01-27T12:07:35Z</published>
    <updated>2026-01-27T12:07:35Z</updated>
    <title>A Variables Dump</title>
    <link href="https://www.willmaster.com/library/tools/a-variables-dump.php"/>
    <summary type="html"><![CDATA[ <p>
If you program in PHP, you know it is a fairly common need to peek into variables and see what they contain. It can be especially needful when one is chasing a bug.
</p>
<p>
If you have programmed with PHP for a long time, you no doubt have developed ways to view the content of variables without affecting the flow of the software's execution.
</p>
<p>
Here is another way, or perhaps a way you are already using. This method publishes the variable name, its length, and its content on the web page. The dumped information can be viewed on the web page where the PHP is running.
</p> (The complete article is at <a href="https://www.willmaster.com/library/tools/a-variables-dump.php">https://www.willmaster.com/library/tools/a-variables-dump.php</a>)]]></summary>
  </entry>
  <entry>
    <category term="Miscellaneous"/>
    <id>https://www.willmaster.com/library/misc/handling-csv-files-with-php.php</id>
    <published>2026-01-20T15:48:11Z</published>
    <updated>2026-01-20T15:48:11Z</updated>
    <title>Handling CSV Files With PHP</title>
    <link href="https://www.willmaster.com/library/misc/handling-csv-files-with-php.php"/>
    <summary type="html"><![CDATA[ <p>
As a programmer, you are likely to be tasked with reading and writing CSV files.
</p>
<p>
CSV (Comma-Separated Values) used to be the most popular format for data files compatible with various types of software. It may still be the most popular. Other popular formats are XML and JSON. This article is dedicated to CSV.
</p>
<p>
If you are not a programmer, you may want to skip this article.
</p>
<p>
But if you are a programmer, I'll describe how to read and write CSV files with PHP.
</p>
<p>
I'll first describe how to write a CSV file. Then, how to read it.
</p> (The complete article is at <a href="https://www.willmaster.com/library/misc/handling-csv-files-with-php.php">https://www.willmaster.com/library/misc/handling-csv-files-with-php.php</a>)]]></summary>
  </entry>
</feed>
