Saravanan666/pypi-org huggingface dataset:
Package: pelican-meetup-info
A Pelican plugin for including Meetup group and event information on generated pages and articles.InstallationInstall this package:pipinstallpelican_meetup_infoAdd the following to yourpelicanconf.pyto activate the plugin:PLUGINS=['pelican_meetup_info']Then add one of the following pairs of configs:If you keep your config file private:MEETUP_API_KEY='your key here'MEETUP_URLNAME='Cleveland-Area-Python-Interest-Group'Get your API key here:https://www.google.com/search?q=meetup+api+key&ie=utf-8&oe=utf-8Or if you expose your config file to the public (like in a public repo):MEETUP_GROUP_SIGNED_URL='https://api.meetup.com/Cleveland-Area-Python-Interest-Group?photo-host=public&sig_id=1442&sig=3c0d385c607d27a7bd3ae14f220f17856eb163c1'MEETUP_EVENTS_SIGNED_URL='https://api.meetup.com/Cleveland-Area-Python-Interest-Group/events?photo-                                                          host=public&page=20&sig_id=1442&sig=3dcd3aa3bfacf17cb45302a722ced9727e99cd37'More info about signed URLs here:https://www.meetup.com/meetup_api/auth/#keysignUsageWith the plugin installed and properly configured, new dictionaries namedmeetup_groupandmeetup_eventscontaing the Meetup API responses will be availabe in your page/article context. You may reference them in templates like this:meetup_group:{% if page.meetup_group %}<h2>Meetup Info</h2><h3><ahref="{{ page.meetup_group.link }}">{{ page.meetup_group.name }}</a></h3>{{ page.meetup_group.description }}
{% endif %}More info about group data:https://secure.meetup.com/meetup_api/console/?path=/:urlnamemeetup_events:{% if page.meetup_events %}<h2>Upcoming Meetups</h2><ul>{% for meetup_event in page.meetup_events[:3] %}<li><h3><ahref="{{ meetup_event.link }}">{{ meetup_event.name }}</a></h3><p>{{ meetup_event.local_date }} at {{ meetup_event.local_time }}</p><p>{{ meetup_event.description }}</p><p>At {{ meetup_event.venue.name }} - {{ meetup_event.venue.address_1 }}, {{ meetup_event.venue.city }}, {{ meetup_event.venue.state }} {{meetup_event.venue.zip }}</p></li>{% endfor %}</ul>{% endif %}More info about events data:https://secure.meetup.com/meetup_api/console/?path=/:urlname/events
Package: pelican-metadata-generator
Pelican Metadata GeneratorGraphical application that createsPelicanpost metadata. Written in Python 3.x and Qt 5.x (PyQt). Works on Linux,
Windows and Mac.RationalePelican is static website generator that does not provide any way of
accessing existing content at new page creation. Simple typo in category
name or tag name will create spurious entity that you might not catch in
time and push to live site.This application tries to prevent these mistakes from happening by
exposing existing Pelican data in graphical user interface. Re-using
previous name is as easy as picking it up from GUI. Creation of new
categories or tags must be opted-in.Added value is that slug will be generated automatically from post title
and will serve as post file name, if you decide to save data on disk.DependenciesPython 3.xhttps://www.python.org/PyQt5https://www.riverbankcomputing.com/software/pyqt/intro|https://pypi.python.org/pypi/PyQt5slugifyhttps://pypi.python.org/pypi/python-slugifyInstallationThis application is now published onPyPI.
You can install it using pip:pip install pelican-metadata-generatorI recommend usingpipxfor automatic management of isolated virtual environments:pipx install pelican-metadata-generatorInstallation (Windows)Download and install Python 3 Miniconda fromhttps://conda.io/miniconda.htmlOpen command prompt (cmd.exe) and run following commands:
conda create -n pmg python=3
activate pmg
pip install pelican-metadata-generatorTo run application:Open command prompt (cmd.exe)Runactivate pmgRunpelican-metadata-generator -d <path_to_pelican_content_dir>Adding to menu (Linux only)Copypelican-metadata-generator.desktopfile into$HOME/.local/share/applications/. If you haven't put executable
somewhere in$PATH, modifyExec=line to include absolute path.
You probably also want to specify location of your Pelican content.If you want your menu entry to have an icon, first you must obtain it.
There don't seem to be any "official" icon in Pelican sources. Personally,
I have used image from@getpelican Twitter account.
Then, modifyIcon=line to provide absolute path to icon on your disk.You might need to refresh menu database for your desktop environment
to pick up changes. KDE SC 4 users may usekbuildsycoca4.CopyingDistributed under GNU AGPLv3, the same as Pelican. See LICENSE file.
Package: pelican-metadataparsing
A plugin forPelicanthat
allows the easy definition of custom metadata parsers.InstallTo install the library, you can usepip$pipinstallpelican-metadataparsingUsageUpdatepelicanconf.py:AddmetadataparsingtoPLUGINS.You should add it before any metadata-affecting plugins.PLUGINS=[...,'metadataparsing',...]Define your custom metadata parsers through theMETADATA_PARSERSsetting:METADATA_PARSERS={"<metadata-field-name1>":<functionparser1(x)>,"<metadata-field-name2>":<functionparser2(x)>}Corresponding fields of thepage,articleorentityobject will have the value returned from the respective parser
function.ExampleGallery Metadatapelicanconf.py:importcollectionsimportsixGalleryItem=collections.namedtuple("GalleryItem",["url","description"])defparse_gallery(string):ifstringisNoneornotisinstance(string,collections.Iterable):returnNoneifnotisinstance(string,six.string_types):string='\n'.join(string)items=[]forlineinstring.split('\n'):ifnotline:continueparts=line.split("||")url=parts[0].strip()iflen(parts)==1:description=Noneelse:description=parts[1].strip()items.append(GalleryItem(url,description))returnitemsMETADATA_PARSERS={"Gallery":parse_gallery}Theme:{% if article.gallery %}<divclass="article-gallery"><h3>Gallery:</h3><ul>{% for image in article.gallery %}<li>{{ colorbox(image.url, image.description) }}</li>{% endfor %}</ul></div>{% endif %}Multi-line metadata to simple stringimportcollectionsimportsixdefparse_description(string):ifstringisNoneorisinstance(string,six.string_types):returnstringifisinstance(string,collections.Iterable):string=" ".join(string)returnstringMETADATA_PARSERS={"Description":parse_description}For a working example checkmy siteandmy site’s source code.
Package: pelican-microdata
Microdata plugin for PelicanMicrodatasemantic markups support forPelicanstatic blog generator.InstallationInstall the plugin viapip:~$pipinstallpelican-microdataUsageTo load the plugin, you have to add it in your settings file.PLUGINS=('microdata',)Once loaded you have access to microdata rst directives.DirectivesMicrodata plugin provides two directives:itemscope, a block directive allowing to declare an itemscope block:..itemscope::<Schema type>:tag:element type (default: div):itemprop:optionnal itemprop attribute:compact:optionnalNested contentitemprop, an inline directive/role allowing to annotate some text with an itemprop attribute.:itemprop:`Displayed text <itemprop name>`:itemprop:`Displayed text <itemprop name:http://some.url/>`SettingsYou can define a vocabulary to use with theMICRODATA_VOCABULARYsetting.MICRODATA_VOCABULARY='http://data-vocabulary.org'If not set,schema.org <http://schema.org>is the default value.ExampleThis reStructuredText document:..itemscope::Person:tag:pMy name is:itemprop:`Bob Smith <name>`but people call me:itemprop:`Smithy <nickanme>`.Here is my home page::itemprop:`www.exemple.com <url:http://www.example.com>`I live in Albuquerque, NM and work as an:itemprop:`engineer <title>`at:itemprop:`ACME Corp <affiliation>`.will result in:<pitemscopeitemtype="http://schema.org/Person">My name is<spanitemprop="name">Bob Smith</span>but people call me<spanitemprop="nickname">Smithy</span>.
    Here is my home page:<ahref="http://www.example.com"itemprop="url">www.example.com</a>I live in Albuquerque, NM and work as an<spanitemprop="title">engineer</span>at<spanitemprop="affiliation">ACME Corp</span>.</p>Changelog0.3.0 (2017-02-02)Support for Pelican 2.7 and Python 3.3+Drop support for Python 3.2Use schema.org as default vocabulary prefixMake vocabulary prefix configurable withMICRODATA_VOCABULARY0.2 (2013-06-21)Start working on Python 3 compatibilityAddedcompactoption toItemScopeblockConsider nested<p>tags ascompact0.1 (2013-03-25)Initial implementation
Package: pelican-micropub
Micropub Reader for PelicanA pelican plugin for reading json-formattedmicropubentries, like the
ones produced frommicropub-git-server.The micropub-git-server will commit plain, minimally processed JSON files,
representing micropub entries, into a configured location of your choice.
If that configured location is part of a pelican content folder, then you
can use this plugin to display those entries in a pelican blog.BackgroundA micropub server allows users to post content on their own website by means
of an associated micropub client, and forms one part of theIndieWebecosystem, a decentralized alternative to corporate social networks, based
on open standards, where users post andcontroltheir own content.Micropub is based heavily on the idea ofmicroformats- little pieces
of metadata sprinkled in an HTML document that give some clues as to what
the content is supposed to represent.  Examples of different types of
content include:h-entry - an authored bit of online content, like a blog post, tweet,
comment or reply.h-event - a calendar eventh-card - contact information about a personPlease consult thewikifor information on the IndieWeb and how to
join.Article Types and CategoryThe h-entry type is by far the most common type of content, and the only one
that pelican-micropub supports at this time.  The IndieWeb community defines
several different types of h-entry:articles(not to be confused with pelican articles), otherwise known as blog postsshort, titlelessnotes, similar to tweets or status updatesbookmarksreplieslikesThe pelican micropub plugin will identify the type of h-entry and assign the
pelican article to a category based on the classification.  This means that
if you are using the concept of categories for some other form of
classification, then this plugin will not work for you out of the box.By way of advice, I have found that categories, as a general classification
scheme, are really only useful when applied to blog entries, or what the
IndieWeb community calls articles; the whole point of things like notes and
likes is that they are meant to be quick, one off pieces of content, and
categorizing them tends to get in the way of that.For categorizing pelican articles within each category, I have found thesubcategoryplugin useful.
Package: pelican-minification
⚠️⚠️⚠️IMPORTANT⚠️⚠️⚠️The plugin was moved to the official Pelican plugin organization.You can now find it here:https://github.com/pelican-plugins/minifyAlso the package name changed topelican-minify. Please read the docs.New PyPI place ishttps://pypi.org/project/pelican-minify/.⚠️⚠️⚠️IMPORTANT⚠️⚠️⚠️
Package: pelican-minify
Minify: A Plugin for PelicanThis Pelican plugin can compress HTML & CSS files as well as inline CSS and JavaScript in HTML files.RequirementsBecause this plugin depends on theminify-htmlPython package, which in turn utilizes the Rust-basedminify-htmlproject, you must have Cargo (the Rust package manager) installed and available on yourPATH. Rust and Cargo can be installed on Mac systems via Homebrew:brew install rustAlternatively, Rust and Cargo can be installed via your particular system’s package manager or via:https://rustup.rs/InstallationThis plugin can be installed via:python -m pip install pelican-minifyAs long as you have not explicitly added aPLUGINSsetting to your Pelican settings file, then the newly-installed plugin should be automatically detected and enabled. Otherwise, you must addminifyto your existingPLUGINSlist. For more information, please see theHow to Use Pluginsdocumentation.UsageBy default, all HTML and CSS files will be compressed, including inline JavaScript and CSS rules in<script>and<style>tags.To configure the behavior of the plugin, add the following variables in your Pelican settings file (values shown here are the default values):CSS_MIN=TrueHTML_MIN=TrueINLINE_CSS_MIN=TrueINLINE_JS_MIN=TruePlease note thatINLINE_CSS_MINandINLINE_JS_MINrequire thatHTML_MINbe enabled.ContributingContributions are welcome and much appreciated. Every little bit helps. You can contribute by improving the documentation, adding missing features, and fixing bugs. You can also help out by reviewing and commenting onexisting issues.To start contributing to this plugin, review theContributing to Pelicandocumentation, beginning with theContributing Codesection.LicenseThis project is licensed under the MIT license.
Package: pelican-mini-wiki
Pelican Mini Wiki: A Plugin for PelicanPelican Mini Wiki allows you to add a minimal wiki to any Pelican theme and website.NOTE:still under development, will not currently work or be useful.InstallationThis plugin can be installed via:python -m pip install pelican-mini-wikiUsageInstructions coming soon. Configuration settings are available below.# pelicanconf.py...MINI_WIKI=True# Required, enables the plugin.MINI_WIKI_PATH='wiki'# Path to wiki files, relative to `content/pages/` directory....ContributingContributions are welcome and much appreciated. Every little bit helps. You can contribute by improving the documentation, adding missing features, and fixing bugs. You can also help out by reviewing and commenting onexisting issues.To start contributing to this plugin, review theContributing to Pelicandocumentation, beginning with theContributing Codesection.LicenseThis project is licensed under the MIT license.
Package: pelican-more-categories
more-categoriesThis plugin adds support for multiple categories per article, and for nested
categories. It requires Pelican 4.0.0 or newer.Multiple categoriesTo indicate that an article belongs to multiple categories, use a
comma-separated string:Category: foo, bar, bazzThis will add the article to the categoriesfoo,barandbazz.TemplatesExisting themes that usearticle.categorywill display only the first of
these categories,foo. This plugin addsarticle.categoriesthat you can
loop over instead. To accomodate this plugin in a theme whether it is present
or not, use:{% for cat in article.categories or [article.category] %}
    <a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a>{{ ', ' if not loop.last }}
{% endfor %}Nested categories(This is a reimplementation of thesubcategoryplugin.)To indicate that a category is a child of another category, use a
slash-separated string:Category: foo/bar/bazzThis will add the article to the categoriesfoo/bar/bazz,foo/barandfoo.TemplatesExisting themes that usearticle.categorywill display the full path to the
most specific of these categories,foo/bar/bazz. For any categorycat, this
plugin addscat.shortname, which in this case isbazz,cat.parent, which
in this case is the categoryfoo/bar, andcat.ancestors, which is a list of
the category's ancestors, ending with the category itself. For instance, to
also include a link to each of the ancestor categories on an article page, in
case this plugin in present, use:{% for cat in article.category.ancestors or [article.category] %}
    <a href="{{ SITEURL }}/{{ cat.url }}">{{ cat.shortname or cat }}</a>{{ '/' if not loop.last }}
{% endfor %}Likewise,category.shortname,category.parentandcategory.ancestorscan
also be used on the category template.Additionally, this plugin addscategory.children: alistof categories
that havecategoryas a parent.{% for child in category.children %}
    <a href="{{ SITEURL }}/{{child.url}}">{{child.shortname|capitalize}}</a>
{% endfor %}If you need all descendents and not just the immediate children, you can use thelistof descendents:category.descendents.SlugThe slug of a category is generated recursively by slugifying the shortname of
the category and its ancestors, and preserving slashes:slug-of-(foo/bar/baz) := slug-of-foo/slug-of-bar/slug-of-bazCategory foldersTo specify categories using the directory structure, you can configurePATH_METADATAto extract the article path into thecategorymetadata. The
following settings would use the entire structure:PATH_METADATA = '(?P<category>.*)/.*'If you store all articles in a singlearticles/folder that you want to
ignore for this purpose, use:PATH_METADATA = 'articles/(?P<category>.*)/.*'Categories in templatesThe listcategoriesof all pairs of categories with their corresponding
articles, which is available in the context and can be used in templates (e.g.
to make a menu of available categories), is ordered lexicographically, so
categories always follow their parent:aba
aba/dat
abaala
Package: pelican-next-meetup
Pelicanplugin to retrieve
information about your group’s next meetup by callingMeetup.comAPI.InstallRunpip installpelican-next-meetup, then addnext_meetuptopelicanconf.pyconfiguration’sPLUGINSlist:PLUGINS=[# all other plugins'next_meetup',]Set it upFor plugin to call the Meetup.com API, a valid meetup group’s URL must
be specified inpelicanconf.py, such as:MEETUP_URL='python-lv'Plugin will fetch the data of the first upcoming meetup and store data
tonext_meetupvariable for use in templates;
if no next meetup is scheduled, variable will be falsy.
If code other than HTTP200 OKis returned,
an exception will be raised byrequestslibrary.Example of data returned:{'time':1452704400000,'url':'http://www.meetup.com/python-lv/events/227548959/','utc_offset':7200000,'name':'Months 1st #PyNight'}
Package: pelican-nginx-alias-map
nginx_alias_map: A Plugin for PelicanThis Pelican plugin creates an nginx-compatible map between the final page locations
and prior locations, defined in the "Alias" attribute for any article or page.Loosely based onpelican-aliasby Chris Williams,
which itself was inspired by jekyll_alias_generator.InstallationThis plugin can be installed via:python -m pip install pelican-nginx-alias-mapUsageAdd the directory to the base plugins directory toPLUGIN_PATHSinpelicanconf.py, and then addnginx_alias_mapto thePLUGINSlist. For example,PLUGIN_PATHS = ["plugins"]
PLUGINS = ['nginx_alias_map']Definable parameters (with defaults in brackets) allow some configuration of the output
of the plugin.There are two definable parameters, one from Chris's code (ALIAS_DELIMITER), which
defines the delimiter for multiple aliases for the same item; andALIAS_FILE, which
defines the final name of the output file containing the map; andALIAS_DELIMITER : Delimeter between multiple aliases for the same item [","]
ALIAS_FILE : Name of map file to be placed in `output` ['alias_map.txt']
ALIAS_MAP : Name of the map used in the alias file ['redirect_uri']
ALIAS_MAP_TEMP: Name of the map used in the alias file when 2-stage lookup is needed ['redirect_uri_1']Support for URLs with query stringsIn the event that you need to redirect a URI that contains a query string, a separate
map block will be created to map the$request_uriagainst an re.escaped version of your
alias that contains the?character. Otherwise, when no query string is present, the
test is made against$uri, which has much more processing done with it (query string
removal, removal of unnecessary '/'s, and so forth).NGINX configurationThe resulting file (stored inoutput/$(ALIAS_FILE)) is ready to be included into
your nginx configuration file (in an http stanza). Once the map is created, use theALIAS_MAPvariable in your processing.include /opt/web/output/alias_map.txt;

server {
  listen       *:80 ssl;
  server_name  example.server;


    # Redirection logic
    if ( $redirect_uri ) {
        return 301 $redirect_uri;
    }

    location / {
        alias /opt/web/output;
    }
}This configuration uses the evilifstatement, but it's concise.  If you have a better
approach, please create a pull request, and I'll add it to this doc (or replace it if it
makes more sense).I've chosen to use a 301 redirect here, because I'm confident of the permanency.  During
testing, you may want to use a 302.ContributingContributions are welcome and much appreciated. Every little bit helps. You can contribute by improving the documentation, adding missing features, and fixing bugs. You can also help out by reviewing and commenting onexisting issues.To start contributing to this plugin, review theContributing to Pelicandocumentation, beginning with theContributing Codesection.LicenseThis project is licensed under the MIT license.
Package: pelican-pagination
Pelican pagination: A Plugin for PelicanSane pagination for PelicanInstallationThis plugin can be installed via:python-mpipinstallpelican-paginationUsageContributingContributions are welcome and much appreciated. Every little bit helps. You can contribute by improving the documentation, adding missing features, and fixing bugs. You can also help out by reviewing and commenting onexisting issues.To start contributing to this plugin, review theContributing to Pelicandocumentation, beginning with theContributing Codesection.LicenseThis project is licensed under the BSD-3-Clause license.
Package: pelican-pdf
PDF Generator: A Plugin for PelicanThe PDF Generator plugin automatically exports articles and pages as PDF files as part of the site generation process.
PDFs are saved to:output/pdf/InstallationThis plugin can be installed via:python -m pip install pelican-pdfUsageTo customize the PDF output, you can use the following settings in your Pelican configuration file:PDF_STYLE = ""
PDF_STYLE_PATH = ""PDF_STYLE_PATHdefines a new path whererst2pdfwill look for style sheets, whilePDF_STYLEspecifies the style you want to use.
For a description of the available styles, please read therst2pdf documentation.ContributorsContributors include: Dominik Wombacher, Justin Mayer, Kyle Mahan, Renato Cunha, dpetzel, and Lucas CimonContributingContributions are welcome and much appreciated. Every little bit helps. You can contribute by improving the documentation, adding missing features, and fixing bugs. You can also help out by reviewing and commenting onexisting issues.To start contributing to this plugin, review theContributing to Pelicandocumentation, beginning with theContributing Codesection.LicenseThis project is licensed under the AGPL 3.0 license.
Package: pelican-po4a
pelican-po4a: Pelican plugin for managing l10n with po4aPelican plugin for managing l10n with po4aInstallationThis plugin can be installed via:python -m pip install pelican-po4aUsage<>ContributingContributions are welcome and much appreciated. Every little bit helps. You can contribute by improving the documentation, adding missing features, and fixing bugs. You can also help out by reviewing and commenting onexisting issues.To start contributing to this plugin, review theContributing to Pelicandocumentation, beginning with theContributing Codesection.LicenseThis project is licensed under the Apache-2.0 license.
Package: pelican-provisioner
This package creates a working environment for a static blog that is generated by Pelican.Installationmkvirtualenv pelican-provisioner
pip install pelican-provisionerCreate a blogworkon pelican-provisioner
new-blog.sh ~/Work/my-blogUsing the blogworkon my-blog
cd ~/Work/my-blog
make regenerate # to develop locally
make serve # to test it locally at http://localhost:8000
make deploy # to make the changes publicRationaleI want a blog that is rock-solid.When I sit down to do some writing, I don’t want to spend any time on maintenance.I want to leave the blog alone, come back to it after 1 year, I expect everything to work.I want to install this from scratch without depending upon online packages.I don’t want future work to be contingent upon the any third party.To meet these goals, I am bundling everything; this is a self-contained static blog generator without any external dependencies.  I can create any number of blogs, which are managed as independent packages, and I can generally count upon them to keep working.