Package org.apache.wiki.plugin

## Class WeblogPlugin

- java.lang.Object
- - org.apache.wiki.plugin.WeblogPlugin

All Implemented Interfaces:
  `ParserStagePlugin`, `Plugin`

    public class WeblogPlugin
    extends java.lang.Object
    implements Plugin, ParserStagePlugin

Builds a simple weblog. The pageformat can use the following params:

%p - Page name

Parameters:

- page - which page is used to do the blog; default is the current page.
- entryFormat - how to display the date on pages, using the J2SE SimpleDateFormat syntax. Defaults to the current locale's DateFormat.LONG format for the date, and current locale's DateFormat.SHORT for the time. Thus, for the US locale this will print dates similar to this: September 4, 2005 11:54 PM
- days - how many days the weblog aggregator should show. If set to "all", shows all pages.
- pageformat - What the entry pages should look like.
- startDate - Date when to start. Format is "ddMMyy."
- maxEntries - How many entries to show at most.
- preview - How many characters of the text to show on the preview page.

The "days" and "startDate" can also be sent in HTTP parameters, and the names are "weblog.days" and "weblog.startDate", respectively.

The weblog plugin also adds an attribute to each page it is on: "weblogplugin.isweblog" is set to "true". This can be used to quickly peruse pages which have weblogs.

Since:
  1.9.21

### Field Summary

Fields
`static java.lang.String` `ATTR_ISWEBLOG` The attribute which is stashed to the WikiPage attributes to check if a page is a weblog or not.
`static java.lang.String` `DEFAULT_DATEFORMAT` The default date format used in the blog entry page names.
`static java.lang.String` `PARAM_ALLOWCOMMENTS` Parameter name for the allowComments.
`static java.lang.String` `PARAM_DAYS` Parameter name for the days.
`static java.lang.String` `PARAM_ENTRYFORMAT` Parameter name for the entryFormat.
`static java.lang.String` `PARAM_MAXENTRIES` Parameter name for the maxEntries.
`static java.lang.String` `PARAM_PAGE` Parameter name for the page.
`static java.lang.String` `PARAM_PREVIEW` Parameter name for the preview.
`static java.lang.String` `PARAM_STARTDATE` Parameter name for the startDate.

### Fields inherited from interface org.apache.wiki.api.plugin.Plugin

`CORE_PLUGINS_RESOURCEBUNDLE`

### Constructor Summary

Constructors
`WeblogPlugin()`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`java.lang.String` `execute​(Context context, java.util.Map<java.lang.String,​java.lang.String> params)`
`void` `executeParser​(PluginElement element, Context context, java.util.Map<java.lang.String,​java.lang.String> params)` Mark us as being a real weblog.
`java.util.List<Page>` `findBlogEntries​(Engine engine, java.lang.String baseName, java.util.Date start, java.util.Date end)` Attempts to locate all pages that correspond to the blog entry pattern.
`static java.lang.String` `makeEntryPage​(java.lang.String pageName)` Return just the basename for entires without date and entry numebr.
`static java.lang.String` `makeEntryPage​(java.lang.String pageName, java.lang.String date)` Returns the entry page without the entry number.
`static java.lang.String` `makeEntryPage​(java.lang.String pageName, java.lang.String date, java.lang.String entryNum)` Create an entry name based on the blogname, a date, and an entry number.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### DEFAULT_DATEFORMAT

    public static final java.lang.String DEFAULT_DATEFORMAT

The default date format used in the blog entry page names.

See Also:
  Constant Field Values

#### PARAM_STARTDATE

    public static final java.lang.String PARAM_STARTDATE

Parameter name for the startDate. Value is `"startDate"`.

See Also:
  Constant Field Values

#### PARAM_ENTRYFORMAT

    public static final java.lang.String PARAM_ENTRYFORMAT

Parameter name for the entryFormat. Value is `"entryFormat"`.

See Also:
  Constant Field Values

#### PARAM_DAYS

    public static final java.lang.String PARAM_DAYS

Parameter name for the days. Value is `"days"`.

See Also:
  Constant Field Values

#### PARAM_ALLOWCOMMENTS

    public static final java.lang.String PARAM_ALLOWCOMMENTS

Parameter name for the allowComments. Value is `"allowComments"`.

See Also:
  Constant Field Values

#### PARAM_MAXENTRIES

    public static final java.lang.String PARAM_MAXENTRIES

Parameter name for the maxEntries. Value is `"maxEntries"`.

See Also:
  Constant Field Values

#### PARAM_PAGE

    public static final java.lang.String PARAM_PAGE

Parameter name for the page. Value is `"page"`.

See Also:
  Constant Field Values

#### PARAM_PREVIEW

    public static final java.lang.String PARAM_PREVIEW

Parameter name for the preview. Value is `"preview"`.

See Also:
  Constant Field Values

#### ATTR_ISWEBLOG

    public static final java.lang.String ATTR_ISWEBLOG

The attribute which is stashed to the WikiPage attributes to check if a page is a weblog or not. You may check for its presence.

See Also:
  Constant Field Values

### Constructor Detail

#### WeblogPlugin

    public WeblogPlugin()

### Method Detail

#### makeEntryPage

    public static java.lang.String makeEntryPage​(java.lang.String pageName,
                                                 java.lang.String date,
                                                 java.lang.String entryNum)

Create an entry name based on the blogname, a date, and an entry number.

Parameters:
  `pageName` - Name of the blog
  `date` - The date (in ddMMyy format)
  `entryNum` - The entry number.
Returns:
  A formatted page name.

#### makeEntryPage

    public static java.lang.String makeEntryPage​(java.lang.String pageName)

Return just the basename for entires without date and entry numebr.

Parameters:
  `pageName` - The name of the blog.
Returns:
  A formatted name.

#### makeEntryPage

    public static java.lang.String makeEntryPage​(java.lang.String pageName,
                                                 java.lang.String date)

Returns the entry page without the entry number.

Parameters:
  `pageName` - Blog name.
  `date` - The date.
Returns:
  A base name for the blog entries.

#### execute

    public java.lang.String execute​(Context context,
                                    java.util.Map<java.lang.String,​java.lang.String> params)
                             throws PluginException

Specified by:
  `execute` in interface `Plugin`
Throws:
  `PluginException`

#### findBlogEntries

    public java.util.List<Page> findBlogEntries​(Engine engine,
                                                java.lang.String baseName,
                                                java.util.Date start,
                                                java.util.Date end)

Attempts to locate all pages that correspond to the blog entry pattern. Will only consider the days on the dates; not the hours and minutes.

Parameters:
  `engine` - Engine which is used to get the pages
  `baseName` - The basename (e.g. "Main" if you want "Main_blogentry_xxxx")
  `start` - The date which is the first to be considered
  `end` - The end date which is the last to be considered
Returns:
  a list of pages with their FIRST revisions.

#### executeParser

    public void executeParser​(PluginElement element,
                              Context context,
                              java.util.Map<java.lang.String,​java.lang.String> params)

Mark us as being a real weblog.

Specified by:
  `executeParser` in interface `ParserStagePlugin`