This is an automated email from the ASF dual-hosted git repository.

lprimak pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/shiro-site.git


The following commit(s) were added to refs/heads/main by this push:
     new 037c766c9 chore: remove unneeded trailing whitespace (#232)
037c766c9 is described below

commit 037c766c93c533366f41144a16c5686bf941bacc
Author: John Bampton <[email protected]>
AuthorDate: Tue Jul 1 12:19:29 2025 +1000

    chore: remove unneeded trailing whitespace (#232)
---
 .github/workflows/publish.yml                    |  2 +-
 .github/workflows/staging.yml                    |  2 +-
 src/site/assets/highlight.js-11.2.0/highlight.js |  2 +-
 src/site/content/authentication.adoc             |  2 +-
 src/site/content/authorization.adoc              |  2 +-
 src/site/content/configuration.adoc              |  2 +-
 src/site/content/forums.adoc                     |  2 +-
 src/site/content/graduation-resolution.adoc      |  6 +++---
 src/site/content/how-to-contribute.adoc          |  4 ++--
 src/site/content/integration.adoc                |  4 ++--
 src/site/content/java-authentication-guide.adoc  | 16 +++++++--------
 src/site/content/java-authorization-guide.adoc   |  2 +-
 src/site/content/java-cryptography-guide.adoc    |  6 +++---
 src/site/content/jaxrs.adoc                      |  2 +-
 src/site/content/realm.adoc                      | 18 ++++++++--------
 src/site/content/security-reports.adoc           |  2 +-
 src/site/content/securitymanager.adoc            |  4 ++--
 src/site/content/subject.adoc                    | 26 ++++++++++++------------
 src/site/content/testing.adoc                    |  2 +-
 src/site/content/tutorial.adoc                   |  2 +-
 src/site/content/webapp-tutorial.adoc            | 18 ++++++++--------
 src/site/templates/post.ftl                      |  2 +-
 src/site/templates/tags.ftl                      |  8 ++++----
 23 files changed, 68 insertions(+), 68 deletions(-)

diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index a45b9348f..2f14ac28b 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -59,6 +59,6 @@ jobs:
           git config user.name "GitHub Actions Bot"
           git config user.email "<>"
           git add .
-          git commit -m "publishing $(date -Is)" 
+          git commit -m "publishing $(date -Is)"
           git push
         shell: bash
diff --git a/.github/workflows/staging.yml b/.github/workflows/staging.yml
index 4a066d529..98109e6d3 100644
--- a/.github/workflows/staging.yml
+++ b/.github/workflows/staging.yml
@@ -68,7 +68,7 @@ jobs:
           git config user.name "GitHub Actions Bot"
           git config user.email "<>"
           git add .
-          git commit -m "staging $(date -Is)" 
+          git commit -m "staging $(date -Is)"
           git push
         shell: bash
 
diff --git a/src/site/assets/highlight.js-11.2.0/highlight.js 
b/src/site/assets/highlight.js-11.2.0/highlight.js
index 4bd5a12b6..a3d85345c 100644
--- a/src/site/assets/highlight.js-11.2.0/highlight.js
+++ b/src/site/assets/highlight.js-11.2.0/highlight.js
@@ -39,7 +39,7 @@ var hljs = (function () {
 
     var deepFreeze$1 = deepFreezeEs6.exports;
 
-    
+
     /** @typedef {import('highlight.js').CompiledMode} CompiledMode */
     /** @implements CallbackResponse */
 
diff --git a/src/site/content/authentication.adoc 
b/src/site/content/authentication.adoc
index 69fc1eb22..cdf09cb10 100644
--- a/src/site/content/authentication.adoc
+++ b/src/site/content/authentication.adoc
@@ -53,7 +53,7 @@ The following code demonstrates how Shiro's API reflects 
these steps:
 //Example using most common scenario of username/password pair:
 UsernamePasswordToken token = new UsernamePasswordToken(username, password);
 
-//"Remember Me" built-in: 
+//"Remember Me" built-in:
 token.setRememberMe(true);
 
 ----
diff --git a/src/site/content/authorization.adoc 
b/src/site/content/authorization.adoc
index 9a6df0c75..d24d11732 100644
--- a/src/site/content/authorization.adoc
+++ b/src/site/content/authorization.adoc
@@ -635,7 +635,7 @@ realm.rolePermissionResolver = $rolePermissionResolver
 [#Authentication-AuthorizingSubjects-CustomAuthorizer]
 === Custom Authorizer
 
-If your application uses more than one realm to perform authorization and the 
`ModularRealmAuthorizer` is default simple 
+If your application uses more than one realm to perform authorization and the 
`ModularRealmAuthorizer` is default simple
 iteration-based, short-circuiting authorization behavior does not suit your 
needs, you will probably want to create a custom `Authorizer` and configure the 
`SecurityManager` accordingly.
 
 For example, in `shiro.ini`:
diff --git a/src/site/content/configuration.adoc 
b/src/site/content/configuration.adoc
index 417fcee54..9e9c169d5 100644
--- a/src/site/content/configuration.adoc
+++ b/src/site/content/configuration.adoc
@@ -27,7 +27,7 @@ The absolute simplest way to create a SecurityManager and 
make it available to t
 Realm realm = //instantiate or acquire a Realm instance.  We'll discuss Realms 
later.
 SecurityManager securityManager = new DefaultSecurityManager(realm);
 
-//Make the SecurityManager instance available to the entire application via 
static memory: 
+//Make the SecurityManager instance available to the entire application via 
static memory:
 SecurityUtils.setSecurityManager(securityManager);
 
 ----
diff --git a/src/site/content/forums.adoc b/src/site/content/forums.adoc
index a207a02e2..6202f54f1 100644
--- a/src/site/content/forums.adoc
+++ b/src/site/content/forums.adoc
@@ -5,7 +5,7 @@
 :jbake-tags: documentation, community
 :idprefix:
 
-For users that prefer to use browse the mailing lists with a browser can use 
https://lists.apache.org/[ASF Lists] (Pony Mail). 
+For users that prefer to use browse the mailing lists with a browser can use 
https://lists.apache.org/[ASF Lists] (Pony Mail).
 
 * link:++https://lists.apache.org/[email protected]++[Shiro User 
Forum]
 
diff --git a/src/site/content/graduation-resolution.adoc 
b/src/site/content/graduation-resolution.adoc
index 55e0d4055..e2691fcdd 100644
--- a/src/site/content/graduation-resolution.adoc
+++ b/src/site/content/graduation-resolution.adoc
@@ -15,7 +15,7 @@ WHEREAS, the Board of Directors deems it to be in the best
 interests of the Foundation and consistent with the Foundation's
 purpose to establish a Project Management Committee charged with
 the creation and maintenance of open-source software related to
-application security, for distribution at no charge to the 
+application security, for distribution at no charge to the
 public.
 
 NOW, THEREFORE, BE IT RESOLVED, that a Project Management
@@ -30,8 +30,8 @@ project related to application security; and be it further
 RESOLVED, that the office of "Vice President, Shiro" be and
 hereby is created, the person holding such office to serve at the
 direction of the Board of Directors as the chair of The Apache
-Shiro Project, and to have primary responsibility for management 
-of the projects within the scope of responsibility of 
+Shiro Project, and to have primary responsibility for management
+of the projects within the scope of responsibility of
 The Apache Shiro Project; and be it further
 
 RESOLVED, that the persons listed immediately below be and
diff --git a/src/site/content/how-to-contribute.adoc 
b/src/site/content/how-to-contribute.adoc
index f520e8286..1fc06756c 100644
--- a/src/site/content/how-to-contribute.adoc
+++ b/src/site/content/how-to-contribute.adoc
@@ -161,7 +161,7 @@ After a developer has consistently provided contributions 
such as code, document
 
 == Contributing as a Non-Committer
 
-Non-committers have to submit patches for review. Apache Shiro accepts GitHub 
pull requests. 
+Non-committers have to submit patches for review. Apache Shiro accepts GitHub 
pull requests.
 
 Apache Shiro has a read-only mirror on GitHub that is kept in sync with the 
canonical Git repo maintained by the Apache Software Foundation. For detailed 
instructions see the 
https://github.com/apache/shiro/blob/master/CONTRIBUTING.md[GitHub Contribution 
Guidelines].
 
@@ -174,7 +174,7 @@ This is a collection of tips for contributing to the 
project in a manner that is
 * https://www.apache.org/dev/contrib-email-tips.html[Tips for email 
contributors].
 * Old questions and answers in 
https://shiro.apache.org/mailing-lists.html[archives].
 
-There are no dumb questions. But browse, search and learn from mailing list 
archives. Research your topic thoroughly before beginning to discuss a new 
development issue. 
+There are no dumb questions. But browse, search and learn from mailing list 
archives. Research your topic thoroughly before beginning to discuss a new 
development issue.
 
 === Emails
 
diff --git a/src/site/content/integration.adoc 
b/src/site/content/integration.adoc
index ef0a22693..02bc8d4f9 100644
--- a/src/site/content/integration.adoc
+++ b/src/site/content/integration.adoc
@@ -7,7 +7,7 @@
 :icons: font
 :toc:
 
-Shiro has been downloaded over one million times and is in production at 
thousands of companies. One reason: it integrates well with other technologies 
and frameworks. 
+Shiro has been downloaded over one million times and is in production at 
thousands of companies. One reason: it integrates well with other technologies 
and frameworks.
 
 == Officially Supported Integrations
 
@@ -39,7 +39,7 @@ An easy and powerful security library for Shiro web 
applications and web service
 +
 from https://nerderg.com/[nerdEng].
 +
-Adds easy authentication and access control to Grails applications. 
+Adds easy authentication and access control to Grails applications.
 
 * *https://isis.apache.org[Apache Isis]*
 +
diff --git a/src/site/content/java-authentication-guide.adoc 
b/src/site/content/java-authentication-guide.adoc
index 52479ce83..9c94a7808 100644
--- a/src/site/content/java-authentication-guide.adoc
+++ b/src/site/content/java-authentication-guide.adoc
@@ -44,12 +44,12 @@ Here is some code on how you do this in Shiro Specifically.
 
 [source,java]
 ----
-//Example using most common scenario: 
-//String username and password.  Acquire in 
+//Example using most common scenario:
+//String username and password.  Acquire in
 //system-specific manner (HTTP request, GUI, etc)
 UsernamePasswordToken token = new UsernamePasswordToken( username, password );
 
-//”Remember Me” built-in, just do this: 
+//”Remember Me” built-in, just do this:
 token.setRememberMe(true);
 
 ----
@@ -76,13 +76,13 @@ In Shiro, we try to make this part as quick and easy as 
humanly possible. We hav
 
 [source,java]
 ----
-//With most of Shiro, you'll always want to make sure you're working with the 
currently 
-//executing user, referred to as the subject 
+//With most of Shiro, you'll always want to make sure you're working with the 
currently
+//executing user, referred to as the subject
 Subject currentUser = SecurityUtils.getSubject();
 
-//Authenticate the subject by passing 
-//the user name and password token 
-//into the login method 
+//Authenticate the subject by passing
+//the user name and password token
+//into the login method
 currentUser.login(token);
 ----
 
diff --git a/src/site/content/java-authorization-guide.adoc 
b/src/site/content/java-authorization-guide.adoc
index a663eaa1c..4cc5e16ed 100644
--- a/src/site/content/java-authorization-guide.adoc
+++ b/src/site/content/java-authorization-guide.adoc
@@ -81,7 +81,7 @@ First we get access to the current user, the 
link:subject.html[Subject]. Then we
 
 [source,java]
 ----
-//get the current Subject 
+//get the current Subject
 Subject currentUser = SecurityUtils.getSubject();
 
 if (currentUser.hasRole("administrator")) {
diff --git a/src/site/content/java-cryptography-guide.adoc 
b/src/site/content/java-cryptography-guide.adoc
index bfb8976d9..5f11899ed 100644
--- a/src/site/content/java-cryptography-guide.adoc
+++ b/src/site/content/java-cryptography-guide.adoc
@@ -79,12 +79,12 @@ public interface Hash {
 
 [source,java]
 ----
-//some examples: 
+//some examples:
 new Md5Hash("foo").toHex();
 
-//File MD5 Hash value for checksum: 
+//File MD5 Hash value for checksum:
 new MD5Hash( aFile ).toHex();
 
-//store a password, but not raw: 
+//store a password, but not raw:
 new Sha256(aPassword, salt, 1024).toBase64();
 ----
diff --git a/src/site/content/jaxrs.adoc b/src/site/content/jaxrs.adoc
index e6390e3ae..917bb459d 100644
--- a/src/site/content/jaxrs.adoc
+++ b/src/site/content/jaxrs.adoc
@@ -85,7 +85,7 @@ public class HelloShiro {
   public String sayHelloShiro() {
       return "Hello!";
   }
-  
+
   @GET
   @Path("define")
   @RequiresPermissions("hello:define")
diff --git a/src/site/content/realm.adoc b/src/site/content/realm.adoc
index 627bd4c2e..cb8008e62 100644
--- a/src/site/content/realm.adoc
+++ b/src/site/content/realm.adoc
@@ -210,22 +210,22 @@ import org.apache.shiro.crypto.RandomNumberGenerator;
 import org.apache.shiro.crypto.SecureRandomNumberGenerator;
 ...
 
-//We'll use a Random Number Generator to generate salts.  This 
-//is much more secure than using a username as a salt or not 
-//having a salt at all.  Shiro makes this easy. 
+//We'll use a Random Number Generator to generate salts.  This
+//is much more secure than using a username as a salt or not
+//having a salt at all.  Shiro makes this easy.
 //
-//Note that a normal app would reference an attribute rather 
-//than create a new RNG every time: 
+//Note that a normal app would reference an attribute rather
+//than create a new RNG every time:
 RandomNumberGenerator rng = new SecureRandomNumberGenerator();
 Object salt = rng.nextBytes();
 
-//Now hash the plain-text password with the random salt and multiple 
-//iterations and then Base64-encode the value (requires less space than Hex): 
+//Now hash the plain-text password with the random salt and multiple
+//iterations and then Base64-encode the value (requires less space than Hex):
 String hashedPasswordBase64 = new Sha256Hash(plainTextPassword, salt, 
1024).toBase64();
 
 User user = new User(username, hashedPasswordBase64);
-//save the salt with the new account.  The HashedCredentialsMatcher 
-//will need it later when handling login attempts: 
+//save the salt with the new account.  The HashedCredentialsMatcher
+//will need it later when handling login attempts:
 user.setPasswordSalt(salt);
 userDAO.create(user);
 ----
diff --git a/src/site/content/security-reports.adoc 
b/src/site/content/security-reports.adoc
index 07614b18d..449e3f7b5 100644
--- a/src/site/content/security-reports.adoc
+++ b/src/site/content/security-reports.adoc
@@ -55,7 +55,7 @@ Apache Shiro would like to thank *swifty tk* for reporting 
this issue.
 When using Apache Shiro before 1.11.0 together with Spring Boot 2.6+, a 
specially crafted HTTP request may cause an authentication bypass.
 The authentication bypass occurs when Shiro and Spring Boot are using 
different pattern-matching techniques. Both Shiro and Spring Boot < 2.6 default 
to Ant style pattern matching.
 
-**Mitigation:** Update to Apache Shiro 1.11.0, or set the following Spring 
Boot configuration value:  
+**Mitigation:** Update to Apache Shiro 1.11.0, or set the following Spring 
Boot configuration value:
 
 ```properties
 spring.mvc.pathmatch.matching-strategy = ant_path_matcher
diff --git a/src/site/content/securitymanager.adoc 
b/src/site/content/securitymanager.adoc
index c8133b67a..15f55415a 100644
--- a/src/site/content/securitymanager.adoc
+++ b/src/site/content/securitymanager.adoc
@@ -59,9 +59,9 @@ The absolute simplest way to create a SecurityManager and 
make it available to t
 
 [source,java]
 ----
-Realm realm = //instantiate or acquire a Realm instance.  We'll discuss Realms 
later. 
+Realm realm = //instantiate or acquire a Realm instance.  We'll discuss Realms 
later.
 SecurityManager securityManager = new DefaultSecurityManager(realm);
-//Make the SecurityManager instance available to the entire application: 
+//Make the SecurityManager instance available to the entire application:
 SecurityUtils.setSecurityManager(securityManager);
 ----
 
diff --git a/src/site/content/subject.adoc b/src/site/content/subject.adoc
index aa438a368..c37a09202 100644
--- a/src/site/content/subject.adoc
+++ b/src/site/content/subject.adoc
@@ -111,7 +111,7 @@ Let's say who they are:
 
 [source,java]
 ----
-//print their identifying principal (in this case, a username): 
+//print their identifying principal (in this case, a username):
 log.info( "User [" + currentUser.getPrincipal() + "] logged in successfully." 
);
 ----
 
@@ -210,7 +210,7 @@ The default, no-arg `Subject.Builder()` constructor shown 
above will use the app
 
 [source,java]
 ----
-SecurityManager securityManager = //acquired from somewhere 
+SecurityManager securityManager = //acquired from somewhere
 Subject subject = new Subject.Builder(securityManager).buildSubject();
 ----
 
@@ -219,7 +219,7 @@ For example, if you have a session ID and want to acquire 
the `Subject` that 'ow
 
 [source,java]
 ----
-Serializable sessionId = //acquired from somewhere 
+Serializable sessionId = //acquired from somewhere
 Subject subject = new Subject.Builder().sessionId(sessionId).buildSubject();
 ----
 
@@ -227,7 +227,7 @@ Similarly, if you want to create a `Subject` instance that 
reflects a certain id
 
 [source,java]
 ----
-Object userIdentity = //a long ID or String username, or whatever the 
"myRealm" requires 
+Object userIdentity = //a long ID or String username, or whatever the 
"myRealm" requires
 String realmName = "myRealm";
 PrincipalCollection principals = new SimplePrincipalCollection(userIdentity, 
realmName);
 Subject subject = new Subject.Builder().principals(principals).buildSubject();
@@ -265,7 +265,7 @@ For example, let's say that you had some logic to perform 
when the system starts
 
 [source,java]
 ----
-Subject subject = //build or acquire subject 
+Subject subject = //build or acquire subject
 subject.execute( new Runnable() {
     public void run() {
         //subject is 'bound' to the current thread now
@@ -273,7 +273,7 @@ subject.execute( new Runnable() {
         //code called from here will work
     }
 });
-//At this point, the Subject is no longer associated 
+//At this point, the Subject is no longer associated
 //with the current thread and everything is as it was before
 ----
 
@@ -281,7 +281,7 @@ Of course `Callable` instances are supported as well, so 
you can have return val
 
 [source,java]
 ----
-Subject subject = //build or acquire subject 
+Subject subject = //build or acquire subject
 MyResult result = subject.execute( new Callable<MyResult>() {
     public MyResult call() throws Exception {
         //subject is 'bound' to the current thread now
@@ -293,7 +293,7 @@ MyResult result = subject.execute( new Callable<MyResult>() 
{
         return myResult;
     }
 });
-//At this point, the Subject is no longer associated 
+//At this point, the Subject is no longer associated
 //with the current thread and everything is as it was before
 ----
 
@@ -356,11 +356,11 @@ Callable example:
 [source,java]
 ----
 Subject subject = new Subject.Builder()...
-Callable work = //build/acquire a Callable instance. 
-//associate the work with the built subject so SecurityUtils.getSubject() 
calls works properly: 
+Callable work = //build/acquire a Callable instance.
+//associate the work with the built subject so SecurityUtils.getSubject() 
calls works properly:
 work = subject.associateWith(work);
 ExecutorService executor = 
java.util.concurrent.Executors.newCachedThreadPool();
-//execute the work on a different thread as the built Subject: 
+//execute the work on a different thread as the built Subject:
 executor.execute(work);
 ----
 
@@ -369,8 +369,8 @@ Runnable example:
 [source,java]
 ----
 Subject subject = new Subject.Builder()...
-Runnable work = //build/acquire a Runnable instance. 
-//associate the work with the built subject so SecurityUtils.getSubject() 
calls works properly: 
+Runnable work = //build/acquire a Runnable instance.
+//associate the work with the built subject so SecurityUtils.getSubject() 
calls works properly:
 work = subject.associateWith(work);
 ExecutorService executor = 
java.util.concurrent.Executors.newCachedThreadPool();
 //execute the work on a different thread as the built Subject:
diff --git a/src/site/content/testing.adoc b/src/site/content/testing.adoc
index 78e446893..e1f745e2e 100644
--- a/src/site/content/testing.adoc
+++ b/src/site/content/testing.adoc
@@ -149,7 +149,7 @@ import org.junit.Test;
 import static org.easymock.EasyMock.*;
 
 /**
- * Simple example test class showing how one may perform unit tests for 
+ * Simple example test class showing how one may perform unit tests for
  * code that requires Shiro APIs.
  */
 public class ExampleShiroUnitTest extends AbstractShiroTest {
diff --git a/src/site/content/tutorial.adoc b/src/site/content/tutorial.adoc
index 55dab772b..8419c411b 100644
--- a/src/site/content/tutorial.adoc
+++ b/src/site/content/tutorial.adoc
@@ -342,7 +342,7 @@ Let's say who they are:
 
 [source,java]
 ----
-//print their identifying principal (in this case, a username): 
+//print their identifying principal (in this case, a username):
 log.info( "User [" + currentUser.getPrincipal() + "] logged in successfully." 
);
 ----
 
diff --git a/src/site/content/webapp-tutorial.adoc 
b/src/site/content/webapp-tutorial.adoc
index 5c12dcbb3..8cc364e92 100644
--- a/src/site/content/webapp-tutorial.adoc
+++ b/src/site/content/webapp-tutorial.adoc
@@ -63,7 +63,7 @@ Now that you have forked the repository to your own GitHub 
account, clone it on
 
 [source,bash]
 ----
-$ git clone 
[email protected]:$YOUR_GITHUB_USERNAME/apache-shiro-tutorial-webapp.git    
+$ git clone 
[email protected]:$YOUR_GITHUB_USERNAME/apache-shiro-tutorial-webapp.git
 
 ----
 
@@ -124,7 +124,7 @@ Now that you've cloned the project, you can run the web 
application by executing
 $ mvn jetty:run
 ----
 
-Next, open your web browser to http://localhost:8080[localhost:8080], and 
you'll see the home page with a *Hello, World!* greeting. 
+Next, open your web browser to http://localhost:8080[localhost:8080], and 
you'll see the home page with a *Hello, World!* greeting.
 
 Hit `ctl-C` to shut down the web app.
 
@@ -237,13 +237,13 @@ Before we can log in, or logout, or perform role-based or 
permission-based acces
 
 We will need to configure Shiro to access a _User Store_ of some type, so it 
can look up users to perform login attempts, or check roles for security 
decisions, etc. There are many types of user stores that any application might 
need to access: maybe you store users in a MySQL database, maybe in MongoDB, 
maybe your company stores user accounts in LDAP or Active Directory, maybe you 
store them in a simple file, or some other proprietary data store.
 
-Shiro does this via what it calls a 
https://shiro.apache.org/architecture.html[`Realm`]. From Shiro's 
documentation: 
+Shiro does this via what it calls a 
https://shiro.apache.org/architecture.html[`Realm`]. From Shiro's documentation:
 
 ____
 
-Realms act as the ‘bridge’ or ‘connector’ between Shiro and your application’s 
security data. When it comes time to actually interact with security-related 
data like user accounts to perform authentication (login) and authorization 
(access control), Shiro looks up many of these things from one or more Realms 
configured for an application. 
+Realms act as the ‘bridge’ or ‘connector’ between Shiro and your application’s 
security data. When it comes time to actually interact with security-related 
data like user accounts to perform authentication (login) and authorization 
(access control), Shiro looks up many of these things from one or more Realms 
configured for an application.
 
-In this sense a Realm is essentially a security-specific 
https://en.wikipedia.org/wiki/Data_access_object[DAO]: it encapsulates 
connection details for data sources and makes the associated data available to 
Shiro as needed. When configuring Shiro, you must specify at least one Realm to 
use for authentication and/or authorization. The SecurityManager may be 
configured with multiple Realms, but at least one is required. 
+In this sense a Realm is essentially a security-specific 
https://en.wikipedia.org/wiki/Data_access_object[DAO]: it encapsulates 
connection details for data sources and makes the associated data available to 
Shiro as needed. When configuring Shiro, you must specify at least one Realm to 
use for authentication and/or authorization. The SecurityManager may be 
configured with multiple Realms, but at least one is required.
 
 Shiro provides out-of-the-box Realms to connect to a number of security data 
sources (aka directories) such as LDAP, relational databases (JDBC), text 
configuration sources like INI and properties files, and more. You can plug in 
your own Realm implementations to represent custom data sources if the default 
Realms do not meet your needs.
 
@@ -342,7 +342,7 @@ curl -u $API_KEY_ID:$API_KEY_SECRET \
      '$TENANT_HREF/applications?name=My%20Application'
 ----
 
-where: 
+where:
 
 * $YOUR_API_KEY_ID is the apiKey.id value in apiKey.properties and
 * $YOUR_API_KEY_SECRET is the apiKey.secret value in apiKey.properties
@@ -400,7 +400,7 @@ Once you choose at least one user store to connect to for 
Shiro's needs, we'll n
 
 If you've checked out the `step2` branch, you'll notice the 
`src/main/webapp/WEB-INF/shiro.ini` file's `[main]` section now has the 
following additions:
 
-Note the optional lines: 
+Note the optional lines:
 
 * If you have been using Stormpath for a while, and you have more than one 
Stormpath application, the `stormpathRealm.applicationRestUrl` property must be 
set.
 
@@ -735,7 +735,7 @@ We update the `/home.jsp` page to let the user know what 
roles they have and whi
 
 <p>Here are the roles you have and don't have. Log out and log back in under 
different user
     accounts to see different roles.</p>
-    
+
 <h3>Roles you have:</h3>
 
 <p>
@@ -813,7 +813,7 @@ This adds two permissions directly to the Stormpath Account:
 * `ship:NCC-1701-D:command`
 * `user:jlpicard:edit`
 
-These use Shiro's 
https://shiro.apache.org/permissions.html[WildcardPermission] syntax. 
+These use Shiro's 
https://shiro.apache.org/permissions.html[WildcardPermission] syntax.
 
 The first basically means _the ability to 'command' the 'ship' with identifier 
'NCC-1701-D'_. This is an example of an _instance-level_ permission: 
controlling access to a specific _instance_ `NCC-1701-D` of a resource `ship`. 
The second is also an instance-level permission that states _the ability to 
`edit` the `user` with identifier `jlpicard`_.
 
diff --git a/src/site/templates/post.ftl b/src/site/templates/post.ftl
index 3319dc6b2..b3daa227c 100644
--- a/src/site/templates/post.ftl
+++ b/src/site/templates/post.ftl
@@ -40,5 +40,5 @@
        ${content.body}
 
        <hr />
-       
+
 <#include "footer.ftl">
diff --git a/src/site/templates/tags.ftl b/src/site/templates/tags.ftl
index 382213ce7..c08cfeec5 100644
--- a/src/site/templates/tags.ftl
+++ b/src/site/templates/tags.ftl
@@ -1,9 +1,9 @@
 <#include "header.ftl">
-       
+
        <div class="page-header">
                <h1>Tag: ${tag}</h1>
        </div>
-       
+
        <!--<ul>-->
                <#list tag_posts as post>
                <#if (last_month)??>
@@ -16,10 +16,10 @@
                        <h4>${post.date?string("MMMM yyyy")}</h4>
                        <ul>
                </#if>
-               
+
                <li>${post.date?string("dd")} - <a 
href="${content.rootpath}${post.uri}">${post.title}</a></li>
                <#assign last_month = post.date?string("MMMM yyyy")>
                </#list>
        </ul>
-       
+
 <#include "footer.ftl">
\ No newline at end of file

Reply via email to