PrePAN

Sign in to PrePAN

PrePAN provides a place
to discuss your modules.

CLOSE

Requests for Reviews Feed

Apache::Inject Apache directive for injecting HTML headers and footers

Apache::Inject is a mod_perl module that adds an Apache directive called Inject.

The Inject directive takes one or two arguments, which correspond to the file names of two HTML files in the document root. The contents of these files are then inserted into any requested HTML file. The first file (the header) is inserted at the top of the body of the requested HTML file, while the second, optional file (the footer) is inserted at the bottom of the body.

The directive is smart enough to place the header and footer in the proper places. The contents of the header file is inserted after any elements belonging to <head> and before any elements belonging to <body> (regardless of whether any explicit <head> or <body> tag is present in the source of the requested HTML page). Likewise, the contents of the second file is placed before any potential final </html>.

The Inject directive serves a much more specific purpose than server-side includes. It is designed for injecting headers and footers that belong in the <body> element, such as headings, menu bars and copyright notices. While you can technically include <head> elements in your header file, Apache::Inject will place them in the body of the HTML page and not in the head.

The main benefit over server-side includes is that the header and footer is specified in the server configuration instead of the HTML files themselves. Thus, it is useful for adding headers and footers to a large number of pre-existing static HTML pages. Furthermore, this means that the headers and footers on all pages can be changed at once by a single change in the server configuration.

Please note:

  • The Inject directive is valid only inside directory sections, such as <Directory>, <Location> and <FilesMatch> blocks. It is valid in .htaccess files if AllowOverride Limit/AuthConfig/All is enabled.

  • The file paths given to Inject are relative to the document root of the current server or virtual server -- not the directory to which the current directory section or .htaccess file applies. They should be specified without a leading slash.

jocap@github 4 comments

JSON::Delimited Provide stream and codec agnostic delimited JSON routines

Provides a handful of different Delimited JSON methods operating on buffers:

  • JSONL (Newline delimited JSON)
  • JSONSeq (JSON Sequence)
  • PrefixedJSON (JSON with length prefixed)

Stream and codec agnostic

Handles the buffer manipulation to extract one or more JSON strings. Does not perform the JSON decoding itself, rather it utilises the modules specified by the user.

  • Users choice of JSON encoder/decoder
  • Users choice of data stream reading and writing.

Raw JSON or decoded data API

Either the JSON strings or the decoded objects can be extracted

Use cases

Intended to be used outside of HTTP/RPC (which also delimits JSON) in such use places as:

  • File storage
  • Pipe and socket IPC
  • Instead of a streaming decoder/encoder

Proposed Delimiting API (object to JSON string)

  • delimitMessage
  • delimitMessages
  • delimitMessagesTo
  • encodeMessage
  • encodeMessages
  • encodeMessagesTo

Proposed Extraction/Decoding API (JSON string to object)

  • extractNextMessage
  • extractMessages
  • extractMessagesTo
  • decodeNextMessage
  • decodeMessages
  • decodeMessagesTo

drclaw1394@github 0 comments

Unicode::Confuse Deal with confusable unicode characters

Parser/interface to

https://www.unicode.org/Public/security/latest/confusablesSummary.txt

Probably would parse the above file into JSON, and distribute the JSON file with it.

benkasminbullock@github 0 comments

CSS::Parser::Regexp a regexp-based CSS parser with at-rule support

A regexp-based CSS parser with at-rule support

Key features:

  • only core dependencies
  • support for nested at-rules
  • tree and list structure output
  • stringification (and as a consequence, de-obfuscation)
  • tested against bootstrap.css, normalize.css, pure.css

I'd welcome feedback and comments. I'm especially interested to know if this group feels it's good enough to upload to CPAN, and if there is a better name I should use (see briandfoy's comment here

simonecesano@github 2 comments

Lingua::StarDict::Writer A module that allows to create a StarDict dictionary

StarDict is a popular dictionary format, supported by many dictionary and book reading programs.

StarDict entry may consist of several parts of various text or media types.

This module allows to create a new StarDict dictionary with entries consisting of parts of arbitrary types.

nataraj-hates-MS-for-stealing-github@github 12 comments

Net::OBS::Client simple OBS API calls

Net::OBS::Client aims to simplify usage of OBS (https://openbuildservice.org) API calls in perl.

M0ses@github 0 comments

BookBot Collates text files into a single file

Asking for wisdom on whether or not an application should go on CPAN. I write science fiction, and keep each scene in a text file. BookBot collates the files into one larger file, and inserts section break markers that can be replaced with page breaks in LibreOffice. Future state includes LaTeX output, grade level reporting, and repeated word counts.

Is that something anyone besides me finds useful?

LeamHall@github 4 comments

Finance::IG Module gor using IG Markets REST API.

The sample code lists your positions and prints them out in a 1 line per position format.

Transactions and accounts can be listed in a similar way.

This code is at an early stage and should serve as a framework for further additions.

I invite anyone who has an IG account and uses the REST API with an api key to try it and advise how you get on.

TheDoktar@github 0 comments

Promise::Syntax async/await comprehension syntax in pure perl

This is a 'bicycle' i use for some time in my system tests.

allter@github 4 comments

Log::CJournald C-Style Journald access

Journald access c-style. Provides structured logging via sendv, log opening, seeking + retrieval.

devcon2012@github 0 comments