Initial commit

This commit is contained in:
2018-04-02 08:07:38 +02:00
commit 7330c1ed3e
2054 changed files with 405203 additions and 0 deletions

View File

@@ -0,0 +1,251 @@
.. ==================================================
.. FOR YOUR INFORMATION
.. --------------------------------------------------
.. -*- coding: utf-8 -*- with BOM.
.. include:: ../Includes.txt
.. _admin-manual:
Administrator Manual
====================
Installation
------------
- Install Extension via Extension Manager.
- Include “static extension template” (Template → Info/Modify → Edit the whole template record → “Include static (from extensions):” and select “MetaSEO”)
- *Optional:* If you want to import your settings from the predecessor "tq_seo" install the "metaseo_tqseo_import" extension and run the importer.
- Modify your metatags via constants editor
Indexed Sitemap
---------------
The sitemap will automatically collect all cacheable sites and provides a XML- and plaintext-output that's why it is “indexed”.
The XML-Sitemap (eg. for Google) is available with: index.php?type=841132
The TXT-Sitemap is available with: index.php?type=841131
If you have more than one tree in your TYPO3 you will have to add the root-PID to your Sitemap, e.g.:
- Tree #1 with PID 123: index.php?id=123&type=841132
- Tree #2 with PID 234: index.php?id=234&type=841132
If you have also enabled “sitemap_ObeySysLanguage” in the extension configuration you also have to add the language-id for your Sitemap - eg. for separated language-domain e.g. example.com (only english pages) and example.de (only german pages).
The sitemap will index ALL cacheable pages with full extension support (like tt_news and all other “clean” extensions).
If your extension doesn't use cHash or use no_cache the output WILL NOT be included in the sitemap (and also will not be indexed by index_search).
The sitemap indexes all generate “typolinks” (BETA).
**Warning:**
The MetaSEO Sitemap relies on the TYPO3 caching system. If an extension (or configuration e.g. RealURL configuration) breaks the caching system and makes TSFE non-cacheable (TSFE->no_cache) the sites will NOT be INDEXED!
Make sure no extension will set no_cache and the cHash of your link is valid. This is the only way to get just valid URLs into your sitemap.
This sitemap supports both, pibase and extbase extensions without problems. However the developer must take care of the cHash-handling.
Robots.txt
----------
The robots.txt can be generated with type 841133, e.g.:
index.php?type=841133
If possible and enabled the robots.txt builder will automatically add the link to the sitemap generator or the static sitemap files (will require TYPO3 scheduler task to generate the static sitemap).
Scheduler Tasks
---------------
============================================= =============================================================== ======================
Scheduler Task Description Frequency
============================================= =============================================================== ======================
MetaSEO Cleanup This task cleans up old database entries in the One run per day
tx_metaseo_sitemap table.
MetaSEO sitemap.txt builder This task builds a real sitemap.txt file in the One run per day
upload directory.
- Directory: uploads/tx_metaseo/sitemap_txt/
- Sitemap: sitemap-r{ROOTPID}.txt.gz
If language domain support is active:
- Sitemap: sitemap-r{ROOTPID}-l{LANG}.txt.gz
{ROOTPID} is the Page-UID from the root pages in
your TYPO3 installations.
{LANG} is the language id (only active if language
domains are active).
Hint: These files are already gzipped.
MetaSEO sitemap.xml builder This task builds a real sitemap.xml files in the One run per day
upload directory.
- Directory: uploads/tx_metaseo/sitemap_xml/
- Sitemap-Index: index-r{ROOTPID}.xml.gz
- Sitemap-Page: sitemap-r{ROOTPID}-p{PAGE}.xml.gz
If language domain support is active:
- Sitemap-Index: index-r{ROOTPID}-l{LANG}.xml.gz
- Sitemap-Page: sitemap-r{ROOTPID}-l{LANG}-p{PAGE}.xml.gz
{ROOTPID} is the Page-UID from the root pages in your
TYPO3 installations.
{PAGE} is the current page of the sitemap.
{LANG} is the language id (only active if language
domains are active).
The index will refer to all page sitemaps so you only
have to reference to the sitemap index.
Hint: These files are already gzipped.
============================================= =============================================================== ======================
RealURL Configuration
---------------------
If you want to activate a “real” sitemap.xml feature (eg. http://example.com/sitemap.xml), configure realurl like this:
::
<?php
$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array(
'init' => array(
// ...
),
'preVars' => array(
// ...
),
'fixedPostVars' => array(
// ...
),
'postVarSets' => array(
'_DEFAULT' => array(
// TT-NEWS (example configuration)
'date' => array(
array(
'GETvar' => 'tx_ttnews[year]' ,
),
array(
'GETvar' => 'tx_ttnews[month]' ,
'valueMap' => array(
'january' => '01',
'february' => '02',
'march' => '03',
'april' => '04',
'may' => '05',
'june' => '06',
'july' => '07',
'august' => '08',
'september' => '09',
'october' => '10',
'november' => '11',
'december' => '12',
),
),
array(
'GETvar' => 'tx_ttnews[day]',
),
),
// news pagebrowser
'browse' => array(
array(
'GETvar' => 'tx_ttnews[pointer]',
),
),
// news categories
'news-category' => array (
array(
'GETvar' => 'tx_ttnews[cat]',
'lookUpTable' => array(
'table' => 'tt_news_cat',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
// news articles
'article' => array(
array(
'GETvar' => 'tx_ttnews[tt_news]',
'lookUpTable' => array(
'table' => 'tt_news',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
// ... other extensions ...
),
),
'fileName' => array(
'defaultToHTMLsuffixOnPrev' => 1,
'index' => array(
// ...
'sitemap.xml' => array(
'keyValues' => array(
'type' => 841132,
),
),
'sitemap.txt' => array(
'keyValues' => array(
'type' => 841131,
),
),
'robots.txt' => array(
'keyValues' => array(
'type' => 841133,
),
),
'_DEFAULT' => array(
'keyValues' => array(
'type' => 0,
)
),
),
),
'pagePath' => array(
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
'segTitleFieldList' => 'tx_realurl_pathsegment,alias,nav_title,title',
'languageGetVar' => 'L',
'expireDays' => 30,
'rootpage_id' => 1,
),
);

View File

@@ -0,0 +1,60 @@
.. ==================================================
.. FOR YOUR INFORMATION
.. --------------------------------------------------
.. -*- coding: utf-8 -*- with BOM.
.. include:: ../Includes.txt
.. _backend-modules:
Backend Modules
===============
SEO Page Module (Website -> SEO)
--------------------------------
.. figure:: ../Images/Introduction/ModuleSeoMetatags.png
:scale: 80%
:alt: Backend Module - SEO Metatags
The SEO page module provides an overview for all seo relevant information (including possibility to edit this information on click).
============================== ==========================================================
Module Description
============================== ==========================================================
Metatags Overview for all relevant metatags
Geo position Overview for geo positioning
SearchEngines Overview for all relevant search engine settings
including sitemap stuff
URL Handling Overview for all relevant url handling stuff including
RealURL support and possibility to simulate the url.
Pagetitle Overview for all relevant pagetitle information and
possibility to simulate the pagetitle.
Pagetitle simulator (Slow!) Simulates the pagetitle generation for the current
selected tree.
============================== ==========================================================
SEO Control Center (SEO -> Control Center)
------------------------------------------
.. figure:: ../Images/Introduction/ModuleSeoControlCenter.png
:scale: 80%
:alt: Backend Module - SEO Control Center
The SEO control center lists all your root-pages in your TYPO3 installation. For each root page you can control specific sitemap and robots.txt settings.
SEO Sitemap (SEO -> Sitemap)
----------------------------
.. figure:: ../Images/Introduction/ModuleSeoSitemap.png
:scale: 80%
:alt: Backend Module - SEO Sitemap
The SEO sitemap module provides access to the indexed sitemap list.

View File

@@ -0,0 +1,23 @@
.. ==================================================
.. FOR YOUR INFORMATION
.. --------------------------------------------------
.. -*- coding: utf-8 -*- with BOM.
.. include:: ../Includes.txt
.. _changelog:
Changelog
=========
============= ==============================================================================
Version Changes
============= ==============================================================================
1.0.0 **Fork of Fork of predecessor "tq_seo"**
- Major improvements of features and codebase
- Fixed several major and minor bugs
- Fixed manual (now reStructuredText)
- Fixed sitemap url generation in TYPO3 scheduler
============= ==============================================================================

View File

@@ -0,0 +1,282 @@
.. ==================================================
.. FOR YOUR INFORMATION
.. --------------------------------------------------
.. -*- coding: utf-8 -*- with BOM.
.. include:: ../Includes.txt
.. _constants:
Constants
=========
MetaTags
--------
============================== ========================================================== =================
Constant Description Default
============================== ========================================================== =================
Last Update time Publish the update time of the current page *enabled*
Detect Language Publish the current TYPO3-FE-language as metatag *enabled*
Canonical Tag Publish canonical link if possible *enabled*
(TYPO3-cache is enabled and cHash is valid)
or if user entered canonical tag into page options. *disabled*
Canonical Tag (Strict mode) Enable strict mode (all wrong GET-parameters will *enabled*
generate a canonical-tag to the self without GET-params).
e.g. /index.php?id=123&foo=bar would generate a
Canonical-Tag pointing to /index.php?id=123
if the cHash is wrong or caching is disabled
Canonical Tag (No MP mode) Prevent canonical links to contain mountpoint information. *disabled*
Useful if some pages would count as duplicate content
because of mountpoints.
Publish Page Expire Time Publish expire date from the “End Date” of the page. *enabled*
Currently only used for Google.
Link generation Automatic generate index and up/next/prev-links. *enabled*
Enable Dublin Core (DC.) tags Enable/Disable output of dublin core (DC) metatags *enabled*
Description Default description of your pages.
Overwritten by description of page
Keywords Default list of keywords
Overwritten by keywords of page
Copyright info Copyright information of your page
Reply-to email E-Mail address for contact
Author Default author
Overwritten by author of page
Publisher Publisher of the website
Language Overwrite language detection
Rating Rating of the website
Distribution Distribution of your website
Revisit after Number of days between search engine visits
Geo Location Geo location of your web page with latitude,
longitude, region and placename
PICS-label Platform for Internet Content Selection
- http://www.w3.org/PICS/labels.html
P3P Compact Policy Your P3P Compact Policy.
More information about P3P:
- http://www.w3.org/P3P/
- http://www.w3.org/TR/P3P/
- https://en.wikipedia.org/wiki/P3P
- http://www.p3pwriter.com/LRN_111.asp
P3P Policy Url Link (full URL) to your P3P Policy File
============================== ========================================================== =================
Some metatags also have markers which could be build in, following metatags supports markers:
- Title
- Description
- Keywords
- Copyright
- Publisher
Following Markers are available:
============================== ========================================================== =================
Marker Description Example value
============================== ========================================================== =================
%YEAR% Replacement for the current year 2014
============================== ========================================================== =================
UserAgent
---------
============================== ========================================================== =================
Constant Description Default
============================== ========================================================== =================
IE Compatibility Mode Compatibility mode for Microsoft Internet Explorer
============================== ========================================================== =================
Crawler
-------
============================== ========================================================== =================
Constant Description Default
============================== ========================================================== =================
Crawler Robots-Tag Enable crawler "robot"-tag (and all other settings below) *enabled*
Index Should the crawler index your website? *enabled*
Follow Should the crawler follow links on your website? *enabled*
Archive Is the crawler allowed to archive the page *enabled*
(e.g. Google cache)
Snippet Should the crawler use the snippet/description *enabled*
in search results
ODP Should the crawler use the OpenDirectoryProject to *enabled*
display the description in search results
YDir Should the crawler use the YahooDirectory to *enabled*
display the description in search results
============================== ========================================================== =================
Services
--------
============================== =============================================================== =================
Constant Description Default
============================== =============================================================== =================
Crawler Verification Verification code for Google, MSN and Yahoo
webmaster tools and Web of trust
Google Analytics The google analytics code for using on your site
Multiple GA Codes possible, comma separated
(Will not be shown in frontend if BE-user is logged in,
can be re-enabled in BE-Login-Mode:
plugin.metaseo.services.googleAnalytics.showIfBeLogin = 1)
GA Cookie Domain Name If you want to limit the current google analytics to
one domain (or subdomain) set the domain name here, eg.:
- “auto” (default in google analytics)
- “none”
- single domain (eg. “example.com”)
- subdomain (eg. “.example.com”)
GA Anonymize IP Anonymize the last part of the IP *disabled*
(may be required in some countries)
GA Track Downloads Try to track downloads with google analytics. *disabled*
See res/ga-track-download.js for more details
Currently supported files:
- doc,docx,xls,ppt,odt,ods,pdf,zip,tar,gz,txt,vsd,vxd,
rar,exe,wma,mov,avi,ogg,ogm,mkv,wmv,mp3,webm
Piwik URL Url to your Piwik installation
(without http:// and https://)
Piwik ID Tracking id of your website in your piwik
Multiple Piwik IDs possible, comma separated
Piwik Download & Click Domain Specifies which domains are internal domains:
- single domain (eg. “example.com”)
- subdomain (eg. “.example.com”)
For more information visit:
- https://developer.piwik.org/api-reference/tracking-javascript
Piwik Cookie Domain Name Specifies the domain name for the tracking cookie:
- single domain (eg. “example.com”)
- subdomain (eg. “.example.com”)
For more information visit:
- https://developer.piwik.org/api-reference/tracking-javascript
Piwik DoNotTrack Opt out users with Mozilla's DoNotTrack *enabled*
browser setting
============================== =============================================================== =================
Social
------
============================== ========================================================== =================
Constant Description Default
============================== ========================================================== =================
Google+ Direct Connect Your Google+ profile page ID
see https://developers.google.com/+/web/badge/
============================== ========================================================== =================
PageTitle
---------
========================================= ========================================================== ======================
Constant Description Default
========================================= ========================================================== ======================
Apply tmpl-sitetitle to absolute <title> There is a prefix/suffix for your pagetitle defined *disabled*
in your root template settings.
If you use the SEO-Absolute-Pagetitle settings you
can disable this suffix/prefix here.
Apply tmpl-sitetitle to prefix/suffix There is a prefix/suffix for your pagetitle defined *enabled*
in your root template settings.
If you use the SEO-Pagetitle-Suffix/Prefix settings you
can disable this suffix/prefix here.
Sitetitle glue Glue between Pagetitle (from Page) and :
Sitetitle (from template)
Sitetitle glue spacer (before) Add spacer before glue string *disabled*
Sitetitle glue spacer (after) Add spacer after glue string *enabled*
Sitetitle position Position of Sitetitle (from template) Sitetitle-Pagetitle
Possible options: (0)
Sitetitle-Pagetitle (eg. Example Company: About us)
Pagetitle-Sitetitle (eg. About us: Example Company)
Sitetitle Overwrite the template sitetitle with a custom one
========================================= ========================================================== ======================
Sitemap
-------
================================= ========================================================== =================
Constant Description Default
================================= ========================================================== =================
Enable Enables output (if set on root-pid of tree) and *enabled*
indexing for the whole subtree
Page limit Limit pages on sitemap-xml-pages *10000*
Limit to current language Limit output of the sitemap to the current language. *disabled*
This will enable multi-language-domain sitemaps. eg:
- www.example.com (FE-Language is english) will output
only english pages
- www.example.de (FE-Language is german) will output
only german pages
This option was ported from the extension configuration
and will replace this configuration.
Default change frequency Default change frequency for sitemap cache
(will be cached!)
Page priority Default page priority if the page has no own 1
priority set
Page priority will be calculated by:
( [page priority] [priority modificator] ) *
( 1/[page depth] * [page multiplier] )
Page priority depth multiplier Page depth multiplier, see formula in page priority 1
Page priority depth modificator Page depth modificator, see formula in page priority 1
================================= ========================================================== =================

View File

@@ -0,0 +1,291 @@
.. ==================================================
.. FOR YOUR INFORMATION
.. --------------------------------------------------
.. -*- coding: utf-8 -*- with BOM.
.. include:: ../Includes.txt
.. _developer-manual:
Developer Manual
================
TypoScript Setup
----------------
Advanced manipulations (stdWrap support)
----------------------------------------
If you want to modify some things you can use stdWraps
MetaTags
^^^^^^^^
============================================= ========================================================== ======================
TypoScript Node Description Type
============================================= ========================================================== ======================
plugin.metaseo.metaTags.stdWrap.title Manipulation for title *stdWrap*
plugin.metaseo.metaTags.stdWrap.description Manipulation for description *stdWrap*
plugin.metaseo.metaTags.stdWrap.keywords Manipulation for keywords *stdWrap*
plugin.metaseo.metaTags.stdWrap.copyright Manipulation for copyright *stdWrap*
plugin.metaseo.metaTags.stdWrap.language Manipulation for language *stdWrap*
plugin.metaseo.metaTags.stdWrap.email Manipulation for email *stdWrap*
plugin.metaseo.metaTags.stdWrap.author Manipulation for author *stdWrap*
plugin.metaseo.metaTags.stdWrap.publisher Manipulation for publisher *stdWrap*
plugin.metaseo.metaTags.stdWrap.distribution Manipulation for distribution *stdWrap*
plugin.metaseo.metaTags.stdWrap.rating Manipulation for rating *stdWrap*
plugin.metaseo.metaTags.stdWrap.lastUpdate Manipulation for last update (date) *stdWrap*
============================================= ========================================================== ======================
PageTitle
^^^^^^^^^
============================================= ========================================================== ======================
TypoScript Node Description Type
============================================= ========================================================== ======================
plugin.metaseo.pageTitle.caching Enables caching of page title. *boolean*
If the page is fully cacheable you don't have to enable
this option.
If you use USER_INTs and one USER plugin changes page
title (eg. via Connector) than this is not working
because the output of the USER plugin is cached and
the Connector not called again with the second hit.
The caching fixes that issue.
plugin.metaseo.pageTitle.stdWrap.before Manipulation of the raw page title *stdWrap*
(before MetaSEO processing)
plugin.metaseo.pageTitle.stdWrap.after Manipulation of the processed page title *stdWrap*
(after MetaSEO processing)
plugin.metaseo.pageTitle.stdWrap.sitetitle Manipulation of the sitetitle *stdWrap*
(from the TS-Setup-Template)
============================================= ========================================================== ======================
Google Analyitics / Piwik customizations
----------------------------------------
Customization codes (fast/simple)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
You can add additional javascript code to the default Google Analytics and/or Piwik integration.
========================================================== ========================================================== ======================
TypoScript Node Description Type
========================================================== ========================================================== ======================
plugin.metaseo.services.googleAnalytics.customizationCode Customization code for Google Analytics TS-Content Object
(*TEXT*, *COA*, ...)
plugin.metaseo.services.piwik.customizationCode Customization code for Piwik TS-Content Object
(*TEXT*, *COA*, ...)
========================================================== ========================================================== ======================
Example for Google Analytics in TypoScript-Setup:
::
plugin.metaseo.services.googleAnalytics.customizationCode = COA
plugin.metaseo.services.googleAnalytics.customizationCode {
10 = TEXT
10.value (
_gaq.push(['_setClientInfo', false]);
_gaq.push(['_setAllowHash', false]);
_gaq.push(['_setDetectFlash', false]);
_gaq.push(['_setDetectTitle', false]);
)
}
Template customization (advanced)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The Google Analytics and Piwik integration is done by using a FLUIDTEMPLATE object in TypoScript. If you don't like the integration and want to modify the integration feel free to use your own templates and pass your own variables to FLUIDTEMPLATE.
========================================================== ========================================================== ======================
TypoScript Node Description Type
========================================================== ========================================================== ======================
plugin.metaseo.services.googleAnalytics.template Template rendering object for Google Analytics *COA*
(contains a FLUIDTEMPLATE)
plugin.metaseo.services.piwik.template Template rendering object for Piwik *COA*
(contains a FLUIDTEMPLATE)
========================================================== ========================================================== ======================
It's quite easy, for more information read:
- https://docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/Fluidtemplate/Index.html
- https://typo3.org/documentation/article/the-fluidtemplate-cobject
Example for your own Google Analytics Template:
::
## Google Analytics template
plugin.metaseo.services.googleAnalytics.template.10.file = fileadmin/templates/service-ga.html
## if you need some variables you also can set these:
plugin.metaseo.services.googleAnalytics.template.10.variables {
myOwnStuff = TEXT
myOwnStuff.value = foobar
}
Sitemap
-------
========================================================== ========================================================== ======================
TypoScript Node Description Type
========================================================== ========================================================== ======================
plugin.metaseo.sitemap.index.blacklist List of Regular Expression for blacklisting URLs while List
indexing, eg.
10 = /typo3/
20 = /foobar/
30 = /imprint/i
40 = /[a-z]/
plugin.metaseo.sitemap.index.pageTypeBlacklist List of blacklisted page typeNums (SetupTS PAGE objects) String, comma separated
plugin.metaseo.sitemap.index.fileExtension List of allowed file extensions for indexing List
Default:
1 = pdf
2 = doc,docx,xls,xlsx,ppt,pptx
3 = odt,odp,ods,odg
========================================================== ========================================================== ======================
Hooks
-----
All hooks are also available as Extbase Signal. Please use signals instead of hooks.
::
<?php
// ----------------------------------------------------------------------------
// Example of MetaSEO Hooks
//
// Example integrations (eg. in localconf.php or ext_localconf.php):
//
// $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['metaseo']['hooks']['metatagSetup'][] = 'EXT:metaseo/examples/hooks.php:user_metaseo_hook->hook_metatagSetup';
// $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['metaseo']['hooks']['metatagOutput'][] = 'EXT:metaseo/examples/hooks.php:user_metaseo_hook->hook_metatagOutput';
//
// $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['metaseo']['hooks']['pageTitleSetup'][] = 'EXT:metaseo/examples/hooks.php:user_metaseo_hook->hook_pagetitleSetup';
// $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['metaseo']['hooks']['pageTitleOutput'][] = 'EXT:metaseo/examples/hooks.php:user_metaseo_hook->hook_pagetitleOutput';
//
// $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['metaseo']['hooks']['pageFooterSetup'][] = 'EXT:metaseo/examples/hooks.php:user_metaseo_hook->hook_pagefooterSetup';
// $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['metaseo']['hooks']['pageFooterOutput'][] = 'EXT:metaseo/examples/hooks.php:user_metaseo_hook->hook_pagefooterOutput';
//
// $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['metaseo']['hooks']['sitemapIndexPage'][] = 'EXT:metaseo/examples/hooks.php:user_metaseo_hook->hook_sitemapIndexPage';
// $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['metaseo']['hooks']['sitemapIndexLink'][] = 'EXT:metaseo/examples/hooks.php:user_metaseo_hook->hook_sitemapIndexLink';
//
// $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['metaseo']['hooks']['sitemapSetup'][] = 'EXT:metaseo/examples/hooks.php:user_metaseo_hook->hook_sitemapSetup';
// $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['metaseo']['hooks']['sitemapTextOutput'][] = 'EXT:metaseo/examples/hooks.php:user_metaseo_hook->hook_sitemapTextOutput';
// $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['metaseo']['hooks']['sitemapXmlIndexSitemapList'][] = 'EXT:metaseo/examples/hooks.php:user_metaseo_hook->hook_sitemapXmlIndexSitemapList';
// $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['metaseo']['hooks']['sitemapXmlIndexOutput'][] = 'EXT:metaseo/examples/hooks.php:user_metaseo_hook->hook_sitemapXmlIndexOutput';
// $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['metaseo']['hooks']['sitemapXmlPageOutput'][] = 'EXT:metaseo/examples/hooks.php:user_metaseo_hook->hook_sitemapXmlPageOutput';
// $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['metaseo']['hooks']['sitemapClear'][] = 'EXT:metaseo/examples/hooks.php:user_metaseo_hook->hook_sitemapClear';
//
// $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['metaseo']['hooks']['robotsTxtMarker'][] = 'EXT:metaseo/examples/hooks.php:user_metaseo_hook->hook_robotsTxtMarker';
// $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['metaseo']['hooks']['robotsTxtOutput'][] = 'EXT:metaseo/examples/hooks.php:user_metaseo_hook->hook_robotsTxtOutput';
//
// $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['metaseo']['hooks']['httpHeaderOutput'][] = 'EXT:metaseo/examples/hooks.php:user_metaseo_hook->hook_httpHeaderOutput';
// ----------------------------------------------------------------------------
class user_metaseo_hook {
public function hook_metatagSetup(&$args, $obj) {
// Hook for metatag setup
}
public function hook_metatagOutput(&$args, $obj) {
// Hook for metatag output
}
// ------------------------------------------------------------------------
public function hook_pagetitleSetup(&$args, $obj) {
// Hook for pagetitle setup
}
public function hook_pagetitleOutput(&$args, $obj) {
// Hook for pagetitle output
}
// ------------------------------------------------------------------------
public function hook_pagefooterSetup(&$args, $obj) {
// Hook for page footer setup
}
public function hook_pagefooterOutput(&$args, $obj) {
// Hook for page footer output
}
// ------------------------------------------------------------------------
public function hook_sitemapIndexPage(&$args) {
// Hook for sitemap page indexer
}
public function hook_sitemapIndexLink(&$args) {
// Hook for sitemap link indexer
}
// ------------------------------------------------------------------------
public function hook_sitemapSetup(&$args, $obj) {
// Hook for sitemap setup
}
public function hook_sitemapTextOutput(&$args, $obj) {
// Hook for xml text output
}
public function hook_sitemapXmlIndexOutput(&$args, $obj) {
// Hook for xml index-page output
}
public function hook_sitemapXmlIndexSitemapList(&$args, $obj) {
// Hook for manipulation sitemap.xml index page sitemap list
}
public function hook_sitemapXmlPageOutput(&$args, $obj) {
// Hook for xml page output
}
public function hook_sitemapClear(&$args, $obj) {
// Hook for sitemap clearing (truncating via clear-cache hook)
}
// ------------------------------------------------------------------------
public function hook_robotsTxtMarker(&$args, $obj) {
// Hook for robots.txt marker list
}
public function hook_robotsTxtOutput(&$args, $obj) {
// Hook for robots.txt output
}
// ------------------------------------------------------------------------
public function hook_httpHeaderOutput($args, $obj) {
// Hook for http header output
}
// ------------------------------------------------------------------------
}

View File

@@ -0,0 +1,82 @@
.. ==================================================
.. FOR YOUR INFORMATION
.. --------------------------------------------------
.. -*- coding: utf-8 -*- with BOM.
.. include:: ../Includes.txt
.. _faq-manual:
Frequently Asked Questions (FAQ)
================================
General
-------
| **Problem:**
| Is this extension multi-language and/or multi-tree ready?
| **Solution:**
| Check it out, there should be no problems at all with multi-language multi-tree installations of TYPO3 CMS.
|
| **Problem:**
| In my TYPO3 the feature XYZ of this extension doesn't work. What's wrong?
| **Solution:**
| The metaseo-Extension has been written carefully. We want to deliver correct pages and extensions with the power of TYPO3's caching system (and those extensions are the fastest). For some features (e.g. sitemap, canonical-tag) we have to trust in the caching-system it's the only way to make sure that we don't deliver wrong information to search engines. If our extension doesn't work correctly, something could also be wrong with the configuration of your TYPO3 the configuration variables, setupTS or a conflict or a problem with other extensions.
Indexed Sitemap
---------------
| **Problem:**
| When I want to open my sitemap I get an error "The page is not configured! [type=841131|841132|841133][]. This means that there is no TypoScript object of type PAGE with typeNum=841131|841132|841133 configured."
| **Solution:**
| Make sure you have configured MetaSEO "Include static" as described in the installation manual.
|
| **Problem:**
| The sitemap is empty.
| **Solution:**
| Check if the “tx_metaseo_sitemap” database-table was created! We're using MySQL's InnoDB table engine so you have to make sure that your MySQL server comes with InnoDB-support (if your hoster does not provide InnoDB you should look out for another hoster!).
|
| **Problem:**
| My sitemap is still empty, but the database is ok.
| **Solution:**
| Maybe you disabled the whole TYPO3 cache (config.no_cache=1 or something else)? Enable the cache this will also speed up your TYPO3 instance.
|
| **Problem:**
| The pages which my extension created are not available in the sitemap!
| **Solution:**
| You have to make sure that all generated pages are cacheable. The extension must be able to pass a valid cHash-token!
|
| **Problem:**
| In the sitemap-database are thousands of pages but there is only one site in my XML-Sitemap.
| **Solution:**
| That's correct. MetaSEO always uses “Sitemap Groups” (as defined in http://www.sitemaps.org/protocol.html#index), each group can contain about 50.000 pages/URLs so if we have more than 50.000 URLs we have to use sitemap groups. Visit the URL defined in the LOC-tag and you will see that the sub-sitemap will contain all your stored URLs.
|
| **Problem:**
| The generated pages from my extension still are not included in the sitemap!
| **Solution:**
| Have you enabled RealURL? Please check the RealURL configuration if you have specified values that are not passed with your URL. All variables that are not passed with the URL will result in a NO-CACHE.
|
| **Problem:**
| The sitemap is still not working! No page is indexed and the table tx_metaseo_sitemap is empty!
| **Solution:**
| Double check your installation and disable all third party extensions. Make sure that no extension disables the TYPO3-cache! RealUrl (if properly configured) and TemplaVoila are working perfectly together with MetaSEO sitemap but some old extensions might break the TYPO3 caching system and you will not notice it. Our sitemap indexer relies on the indexing system to make sure that only valid urls are stored and delivered to search engines like google.
|
| **Problem:**
| I want to limit each sitemap to its domain (eg. example.com for english pages, example.de for german pages). Is this possible?
| **Solution:**
| Yes, just enable the “Enable language-domain support” in seo control center in your website/rootpage settings (replaces the old extension configuration sitemap_ObeySysLanguage and TypoScript constants setting).
|
| **Problem:**
| My tt_news entries are not indexed, what's wrong?
| **Solution:**
| You're using realurl? Then check your realurl_conf.php. Errors (or misconfiguration) in the realurl-configuration will produce uncacheable sites (and you will not notice it). The most common issue is the configuration of the parameter “tx_ttnews[swords]” in the postVarSets-area. Remove it, you don't need it.
Others
------
| **Problem:**
| I want to customize my Google Analytics and/or Piwik integration.
| **Solution:**
| You can modify the code of the Google Analytics and Piwik integration with TypoScript. Feel free to use plugin.metaseo.services.googleAnalytics.customizationCode (STDWRAP) or plugin.metaseo.services.piwik.customizationCode (STDWRAP). Also you can modify the FLUIDTEMPLATE and assign custom variables.

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,21 @@
.. ==================================================
.. FOR YOUR INFORMATION
.. --------------------------------------------------
.. -*- coding: utf-8 -*- with BOM.
.. This is 'Includes.txt'. It is included at the very top of each and
every ReST source file in this documentation project (= manual).
.. ==================================================
.. DEFINE SOME TEXT ROLES
.. --------------------------------------------------
.. role:: typoscript(code)
.. role:: ts(typoscript)
:class: typoscript
.. role:: php(code)
.. highlight:: php

View File

@@ -0,0 +1,67 @@
.. ==================================================
.. FOR YOUR INFORMATION
.. --------------------------------------------------
.. -*- coding: utf-8 -*- with BOM.
.. include:: Includes.txt
.. _start:
=============================================================
MetaSEO
=============================================================
.. only:: html
:Classification:
metaseo
:Version:
|release|
:Language:
en
:Description:
Search Engine Optimization (SEO),
Indexed Google-Sitemap (TXT- and XML-Sitemap) for all Extensions (pibase, extbase),
Metatags, Canonical-URL, Pagetitle manipulations, Crawler verification,
Piwik and Google Analytics support and some more... multi-language- and multi-tree-support
:Keywords:
metatag,metatags,seo,sitemap,google,searchengine,tqseo,tq_seo,metaseo,pagetitle
:Copyright:
2014
:Author:
Markus Blaschke
:Email:
typo3@markus-blaschke.de
:License:
This document is published under the Open Content License
available from http://www.opencontent.org/opl.shtml
:Rendered:
|today|
The content of this document is related to TYPO3,
a GNU/GPL CMS/Framework available from `typo3.org <https://typo3.org>`_.
**Table of Contents**
.. toctree::
:maxdepth: 5
:glob:
Introduction/Index
Constants/Index
BackendModules/Index
AdministratorManual/Index
DeveloperManual/Index
FaqManual/Index
ChangeLog/Index

View File

@@ -0,0 +1,142 @@
.. ==================================================
.. FOR YOUR INFORMATION
.. --------------------------------------------------
.. -*- coding: utf-8 -*- with BOM.
.. include:: ../Includes.txt
What does it do?
================
This extensions handles multiple page metatags and pagetitle manipulations in TYPO3. It's a replacement and major improvement for the “metatags” and this extension is the successor of the popular "tq_seo" extension.
The following features are supported:
- Indexed XML sitemap for Google and other search engines (with support for ALL extensions, pibase and extbase, not only tt_news)
- Real sitemap builder via TYPO3 scheduler
- Metatags
- Manipulation of Metatags via stdWrap (Beta)
- Automatic fetching metatags from tt_news (single-display module)
- Pagetitle manipulations
- Manipulation of pagetitle via stdWrap (Beta)
- Multi-language and/or multi-tree TYPO3 installations
Backend modules:
- SEO page module
- SEO control center module
- SEO sitemap module
The following metatags are supported:
- Language (auto-detected)
- Description
- Keyword
- Copyright information
- Reply-To E-Mail-Address
- Author and publisher
- Rating and distribution
- Revisit
- Geo-location information
- Searchengine crawler instructions
- Google Analytics (with anonymized IP and download link tracking, asynchronous implementation since 4.0)
- Piwik integration (asynchronous implementation since 4.0)
- Google, MSN, Yahoo and WebOfTrust Verification
- Google+ Direct Connect
- Canonical URL (Custom URL or autogenerated to current page)
- IE Compatibility-Mode
- Google Expire Date
- Index, up, prev und next link-metatags
- P3P-HTTP-Headers
- OpenGraph (WIP)
- Blacklist for sitemap, CanonicalURL and searchengine index/noindex switching
The following pagetitle transformations are supported:
- Prefix and suffix (inheritable)
- Absolute pagetitle without any prefix and suffix
- Sitetitle glue options
- Sitetitle positon
Screenshots
-----------
Backend Modules
^^^^^^^^^^^^^^^
.. figure:: ../Images/Introduction/ModuleSeoMetatags.png
:scale: 80%
:alt: Backend Module - SEO Metatags
Backend Module "SEO Metatags"
.. figure:: ../Images/Introduction/ModuleSeoControlCenter.png
:scale: 80%
:alt: Backend Module - SEO Control Center
Backend Module "SEO Control Center"
.. figure:: ../Images/Introduction/ModuleSeoSitemap.png
:scale: 80%
:alt: Backend Module - SEO Sitemap
Backend Module "SEO Sitemap"
Constants
^^^^^^^^^
.. figure:: ../Images/Introduction/ConstantsMetatags.png
:scale: 80%
:alt: Constants Editor - Metatags
Constants Editor of metatags
.. figure:: ../Images/Introduction/ConstantsPagetitle.png
:scale: 80%
:alt: Constants Editor - Pagetitle
Constants Editor of pagetitle settings
.. figure:: ../Images/Introduction/ConstantsCrawler.png
:scale: 80%
:alt: Constants Editor - Crawler
Constants Editor of crawler (google) settings
.. figure:: ../Images/Introduction/ConstantsServices.png
:scale: 80%
:alt: Constants Editor - Services
Constants Editor of services settings
Found a bug?
------------
Just send me a mail to typo3@markus-blaschke.de
or just enter the bug into the bugtracker at https://github.com/mblaschke/TYPO3-metaseo
Thanks to...
------------
- TEQneers GmbH & Co. KG for sponsoring the predecessor "tq_seo"
- jweiland.net especially Wolfgang Wagner for all the tutorials
- Pierre Arlt
- Riccardo De Contardi
- Rico Sonntag
- Ralle Büchnitz
- Manfred Egger
- Carsten Hager
- Thomas Deuling
- Thomas Mayer
- Florian Duffner
- Georg Tiefenbrunn
- Arne-Kolja Bachstein
- all other contributors and bug reporters
- famfamfam for these cool silk icons http://www.famfamfam.com/lab/icons/silk/

View File

@@ -0,0 +1,24 @@
# This is the project specific Settings.yml file.
# Place Sphinx specific build information here.
# Settings given here will replace the settings of 'conf.py'.
---
conf.py:
copyright: 2014
project: MetaSEO
version: 1.0
release: 1.0.0
html_theme_options:
github_repository: mblaschke/TYPO3-metaseo
github_branch: develop
latex_documents:
- - Index
- metaseo.tex
- MetaSEO
- Markus Blaschke
- manual
latex_elements:
papersize: a4paper
pointsize: 10pt
preamble: \usepackage{typo3}
...

View File

@@ -0,0 +1,156 @@
# You can set these variables from the command line.
SPHINXOPTS = -c . -a -E -w ./_not_versioned/warnings.txt
SPHINXBUILD = sphinx-build
PAPER = a4
BUILDDIR = build
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) ..
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) ..
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " devhelp to make HTML files and a Devhelp project"
@echo " epub to make an epub"
@echo " pdf to make PDF using rst2pdf"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " text to make text files"
@echo " man to make manual pages"
@echo " texinfo to make Texinfo files"
@echo " info to make Texinfo files and run them through makeinfo"
@echo " gettext to make PO message catalogs"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
clean:
-rm -rf $(BUILDDIR)/*
html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
singlehtml:
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
pickle:
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."
json:
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."
htmlhelp:
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."
qthelp:
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Projectname.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Projectname.qhc"
devhelp:
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/Projectname"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Projectname"
@echo "# devhelp"
epub:
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
pdf:
$(SPHINXBUILD) -b pdf $(ALLSPHINXOPTS) $(BUILDDIR)/pdf
@echo
@echo "Build finished. The PDF is in $(BUILDDIR)/pdf."
latex:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
@echo "Run \`make' in that directory to run these through (pdf)latex" \
"(use \`make latexpdf' here to do that automatically)."
latexpdf:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
text:
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
@echo
@echo "Build finished. The text files are in $(BUILDDIR)/text."
man:
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
@echo
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
texinfo:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
@echo "Run \`make' in that directory to run these through makeinfo" \
"(use \`make info' here to do that automatically)."
info:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo "Running Texinfo files through makeinfo..."
make -C $(BUILDDIR)/texinfo info
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
gettext:
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
@echo
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
changes:
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."
linkcheck:
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."
doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."

View File

@@ -0,0 +1,7 @@
# this is file .gitignore
# ignore everything in this directory
*
# but do not ignore this this file
!.gitignore

View File

@@ -0,0 +1,7 @@
# this is file .gitignore
# ignore everything in this directory
*
# but do not ignore this this file
!.gitignore

View File

@@ -0,0 +1,423 @@
# -*- coding: utf-8 -*-
#
# MetaSEO Import from tq_seo documentation build configuration file, created by
# TYPO3 extension sphinx on Tue, 01 Apr 2014 17:53:40 +0200.
#
# This file is execfile()d with the current directory set to its containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
import sys, os
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#sys.path.insert(0, os.path.abspath('.'))
# -- PHP highlighting configuration --------------------------------------------
from sphinx.highlighting import lexers
if lexers:
from pygments.lexers.web import PhpLexer
lexers['php'] = PhpLexer(startinline=True)
# -- General configuration -----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = ['sphinx.ext.intersphinx', 'sphinx.ext.todo', 'sphinx.ext.ifconfig']
# Add any paths that contain templates here, relative to this directory.
templates_path = ['../_templates']
# The suffix of source filenames.
source_suffix = '.rst'
# The encoding of source files.
#source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'Index'
# General information about the project.
project = u'MetaSEO Import from tq_seo'
copyright = u'2014, Markus Blaschke'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '1.0'
# The full version, including alpha/beta/rc tags.
release = '1.0.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#language = None
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
today_fmt = '%Y-%m-%d %H:%M'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_make']
exclude_trees = ['_make']
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# If true, keep warnings as "system message" paragraphs in the built documents.
#keep_warnings = False
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['../_static']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'metaseo_tqseo_importdoc'
# -- Options for LaTeX output --------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
'preamble': '\\usepackage{typo3}'
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('Index', 'metaseo_tqseo_import.tex', u'MetaSEO Import from tq_seo',
u'Markus Blaschke', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for rst2pdf output ------------------------------------------------
# Grouping the document tree into PDF files. List of tuples
# (source start file, target name, title, author, options).
#
# If there is more than one author, separate them with \\.
# For example: r'Guido van Rossum\\Fred L. Drake, Jr., editor'
#
# The options element is a dictionary that lets you override
# this config per-document.
# For example,
# ('index', u'MyProject', u'My Project', u'Author Name',
# dict(pdf_compressed = True))
# would mean that specific document would be compressed
# regardless of the global pdf_compressed setting.
pdf_documents = [
('Index', 'metaseo_tqseo_import', u'MetaSEO Import from tq_seo',
u'Markus Blaschke'),
]
# A comma-separated list of custom stylesheets. Example:
pdf_stylesheets = ['sphinx','kerning','a4']
# A list of folders to search for stylesheets. Example:
pdf_style_path = ['.', '_styles']
# Create a compressed PDF
# Use True/False or 1/0
# Example: compressed=True
#pdf_compressed = False
# A colon-separated list of folders to search for fonts. Example:
# pdf_font_path = ['/usr/share/fonts', '/usr/share/texmf-dist/fonts/']
# Language to be used for hyphenation support
#pdf_language = "en_US"
# Mode for literal blocks wider than the frame. Can be
# overflow, shrink or truncate
#pdf_fit_mode = "shrink"
# Section level that forces a break page.
# For example: 1 means top-level sections start in a new page
# 0 means disabled
#pdf_break_level = 0
# When a section starts in a new page, force it to be 'even', 'odd',
# or just use 'any'
#pdf_breakside = 'any'
# Insert footnotes where they are defined instead of
# at the end.
#pdf_inline_footnotes = True
# verbosity level. 0 1 or 2
#pdf_verbosity = 0
# If false, no index is generated.
#pdf_use_index = True
# If false, no modindex is generated.
#pdf_use_modindex = True
# If false, no coverpage is generated.
#pdf_use_coverpage = True
# Name of the cover page template to use
#pdf_cover_template = 'sphinxcover.tmpl'
# Documents to append as an appendix to all manuals.
#pdf_appendices = []
# Enable experimental feature to split table cells. Use it
# if you get "DelayedTable too big" errors
#pdf_splittables = False
# Set the default DPI for images
#pdf_default_dpi = 72
# Enable rst2pdf extension modules (default is only vectorpdf)
# you need vectorpdf if you want to use sphinx's graphviz support
#pdf_extensions = ['vectorpdf']
# Page template name for "regular" pages
#pdf_page_template = 'cutePage'
# Show Table Of Contents at the beginning?
#pdf_use_toc = True
# How many levels deep should the table of contents be?
pdf_toc_depth = 9999
# Add section number to section references
pdf_use_numbered_links = False
# Background images fitting mode
pdf_fit_background_mode = 'scale'
# -- Options for manual page output --------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('Index', 'metaseo_tqseo_import', u'MetaSEO Import from tq_seo',
[u'Markus Blaschke'], 1)
]
# If true, show URL addresses after external links.
#man_show_urls = False
# -- Options for Texinfo output ------------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('Index', 'metaseo_tqseo_import', u'MetaSEO Import from tq_seo',
u'Markus Blaschke', 'MetaSEO Import from tq_seo', 'One line description of project.',
'Miscellaneous'),
]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'
# If true, do not generate a @detailmenu in the "Top" node's menu.
#texinfo_no_detailmenu = False
#=================================================
#
# TYPO3 codeblock BEGIN:
#
# Insert this codeblock at the end of your Sphinx
# builder configuration file 'conf.py'.
# This may enable TYPO3 specific features like
# TYPO3 themes. It makes Yaml settings files work.
#
#-------------------------------------------------
if 1 and "TYPO3 specific":
try:
t3DocTeam
except NameError:
t3DocTeam = {}
try:
import t3sphinx
html_theme_path.insert(0, t3sphinx.themes_dir)
html_theme = 'typo3sphinx'
except:
html_theme = 'default'
t3DocTeam['conf_py_file'] = None
try:
t3DocTeam['conf_py_file'] = __file__
except:
import inspect
t3DocTeam['conf_py_file'] = inspect.getfile(
inspect.currentframe())
t3DocTeam['conf_py_package_dir'] = os.path.abspath(os.path.dirname(
t3DocTeam['conf_py_file']))
t3DocTeam['relpath_to_master_doc'] = '..'
t3DocTeam['relpath_to_logdir'] = '_not_versioned'
t3DocTeam['path_to_logdir'] = os.path.join(
t3DocTeam['conf_py_package_dir'],
t3DocTeam['relpath_to_logdir'])
t3DocTeam['pathToYamlSettings'] = os.path.join(
t3DocTeam['conf_py_package_dir'],
t3DocTeam['relpath_to_master_doc'], 'Settings.yml')
try:
t3DocTeam['pathToGlobalYamlSettings'] = \
t3sphinx.pathToGlobalYamlSettings
except:
t3DocTeam['pathToGlobalYamlSettings'] = None
if not t3DocTeam['pathToGlobalYamlSettings']:
t3DocTeam['pathToGlobalYamlSettings'] = os.path.join(
t3DocTeam['conf_py_package_dir'], 'GlobalSettings.yml')
try:
__function = t3sphinx.yamlsettings.processYamlSettings
except:
__function = None
if not __function:
try:
import yamlsettings
__function = yamlsettings.processYamlSettings
except:
__function = None
if __function:
__function(globals(), t3DocTeam)
#-------------------------------------------------
#
# TYPO3 codeblock END.
#
#=================================================

View File

@@ -0,0 +1,22 @@
@echo off
echo.
echo.
echo Building single file HTML version in build/singlehtml ...
call make.bat singlehtml
echo.
echo.
echo Building HTML version in build/html ...
call make.bat html
echo.
echo.
echo Starting build/html/Index.html in browser ...
start build\html\Index.html
echo.
echo.
echo Finished.
pause

View File

@@ -0,0 +1,194 @@
@ECHO OFF
REM Command file for Sphinx documentation
if "%SPHINXOPTS%" == "" (
set SPHINXOPTS=-c . -a -E -w ./_not_versioned/warnings.txt
)
if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=/home/mblaschke/public_html/t3intro/typo3temp/tx_sphinx/sphinx-doc/bin/sphinx-build
)
set PAPER=a4
set BUILDDIR=build
set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% ..
set I18NSPHINXOPTS=%SPHINXOPTS% ..
if NOT "%PAPER%" == "" (
set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS%
)
if "%1" == "" goto help
if "%1" == "help" (
:help
echo.Please use `make ^<target^>` where ^<target^> is one of
echo. html to make standalone HTML files
echo. dirhtml to make HTML files named index.html in directories
echo. singlehtml to make a single large HTML file
echo. pickle to make pickle files
echo. json to make JSON files
echo. htmlhelp to make HTML files and a HTML help project
echo. qthelp to make HTML files and a qthelp project
echo. devhelp to make HTML files and a Devhelp project
echo. epub to make an epub
echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter
echo. text to make text files
echo. man to make manual pages
echo. texinfo to make Texinfo files
echo. gettext to make PO message catalogs
echo. changes to make an overview over all changed/added/deprecated items
echo. linkcheck to check all external links for integrity
echo. doctest to run all doctests embedded in the documentation if enabled
goto end
)
if "%1" == "clean" (
for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i
del /q /s %BUILDDIR%\*
goto end
)
if "%1" == "html" (
%SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The HTML pages are in %BUILDDIR%/html.
goto end
)
if "%1" == "dirhtml" (
%SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml.
goto end
)
if "%1" == "singlehtml" (
%SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml.
goto end
)
if "%1" == "pickle" (
%SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle
if errorlevel 1 exit /b 1
echo.
echo.Build finished; now you can process the pickle files.
goto end
)
if "%1" == "json" (
%SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json
if errorlevel 1 exit /b 1
echo.
echo.Build finished; now you can process the JSON files.
goto end
)
if "%1" == "htmlhelp" (
%SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp
if errorlevel 1 exit /b 1
echo.
echo.Build finished; now you can run HTML Help Workshop with the ^
.hhp project file in %BUILDDIR%/htmlhelp.
goto end
)
if "%1" == "qthelp" (
%SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp
if errorlevel 1 exit /b 1
echo.
echo.Build finished; now you can run "qcollectiongenerator" with the ^
.qhcp project file in %BUILDDIR%/qthelp, like this:
echo.^> qcollectiongenerator %BUILDDIR%\qthelp\Projectname.qhcp
echo.To view the help file:
echo.^> assistant -collectionFile %BUILDDIR%\qthelp\Projectname.ghc
goto end
)
if "%1" == "devhelp" (
%SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp
if errorlevel 1 exit /b 1
echo.
echo.Build finished.
goto end
)
if "%1" == "epub" (
%SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The epub file is in %BUILDDIR%/epub.
goto end
)
if "%1" == "latex" (
%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
if errorlevel 1 exit /b 1
echo.
echo.Build finished; the LaTeX files are in %BUILDDIR%/latex.
goto end
)
if "%1" == "text" (
%SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The text files are in %BUILDDIR%/text.
goto end
)
if "%1" == "man" (
%SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The manual pages are in %BUILDDIR%/man.
goto end
)
if "%1" == "texinfo" (
%SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo.
goto end
)
if "%1" == "gettext" (
%SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The message catalogs are in %BUILDDIR%/locale.
goto end
)
if "%1" == "changes" (
%SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes
if errorlevel 1 exit /b 1
echo.
echo.The overview file is in %BUILDDIR%/changes.
goto end
)
if "%1" == "linkcheck" (
%SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck
if errorlevel 1 exit /b 1
echo.
echo.Link check complete; look for any errors in the above output ^
or in %BUILDDIR%/linkcheck/output.txt.
goto end
)
if "%1" == "doctest" (
%SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest
if errorlevel 1 exit /b 1
echo.
echo.Testing of doctests in the sources finished, look at the ^
results in %BUILDDIR%/doctest/output.txt.
goto end
)
:end

View File

@@ -0,0 +1,3 @@
This directory is only used by developers to run a syntax check for the rst files.
The conf.py is not used for production purposes. Instead, use /Documentation/Settings.yml

View File

@@ -0,0 +1,7 @@
# this is file .gitignore
# ignore everything in this directory
*
# but do not ignore this this file
!.gitignore