Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yii2
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PSDI Army
yii2
Commits
d52299ba
Commit
d52299ba
authored
May 26, 2014
by
Carsten Brandt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
first approach to a PDF guide
parent
c8f6baf5
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
191 additions
and
3 deletions
+191
-3
structure-views.md
docs/guide/structure-views.md
+1
-1
GuideController.php
extensions/apidoc/commands/GuideController.php
+1
-0
composer.json
extensions/apidoc/composer.json
+3
-1
GuideRenderer.php
extensions/apidoc/templates/html/GuideRenderer.php
+1
-1
GuideRenderer.php
extensions/apidoc/templates/pdf/GuideRenderer.php
+94
-0
Makefile
extensions/apidoc/templates/pdf/Makefile
+7
-0
main.tex
extensions/apidoc/templates/pdf/main.tex
+84
-0
No files found.
docs/guide/structure-views.md
View file @
d52299ba
...
...
@@ -311,7 +311,7 @@ use yii\helpers\Html;
<div
class=
"container"
>
<?= $content ?>
</div>
<footer
class=
"footer"
>
©
2013 me :)
</footer>
<footer
class=
"footer"
>
©
2013 me :)
</footer>
<
?
php
$
this-
>
endBody() ?>
</body>
</html>
...
...
extensions/apidoc/commands/GuideController.php
View file @
d52299ba
...
...
@@ -78,6 +78,7 @@ class GuideController extends BaseController
file_put_contents
(
$targetDir
.
'/guide-references.txt'
,
implode
(
"
\n
"
,
$references
));
}
/**
* @inheritdoc
*/
...
...
extensions/apidoc/composer.json
View file @
d52299ba
...
...
@@ -24,7 +24,9 @@
"phpdocumentor/reflection"
:
">=1.0.3"
,
"phpdocumentor/reflection-docblock"
:
">2.0.1"
,
"nikic/php-parser"
:
"0.9.*"
,
"cebe/js-search"
:
"*"
"cebe/js-search"
:
"*"
,
"cebe/markdown"
:
"dev-master as 0.9.0"
,
"cebe/markdown-latex"
:
"*"
},
"autoload"
:
{
"psr-4"
:
{
"yii
\\
apidoc
\\
"
:
""
}
...
...
extensions/apidoc/templates/html/GuideRenderer.php
View file @
d52299ba
...
...
@@ -81,7 +81,7 @@ abstract class GuideRenderer extends BaseGuideRenderer
$headlines
=
[];
foreach
(
$files
as
$file
)
{
$fileData
[
$file
]
=
file_get_contents
(
$file
);
if
(
basename
(
$file
)
==
'
index
.md'
)
{
if
(
basename
(
$file
)
==
'
README
.md'
)
{
continue
;
// to not add index file to nav
}
if
(
preg_match
(
"/^(.*)
\n
=+/"
,
$fileData
[
$file
],
$matches
))
{
...
...
extensions/apidoc/templates/pdf/GuideRenderer.php
0 → 100644
View file @
d52299ba
<?php
/**
* @link http://www.yiiframework.com/
* @copyright Copyright (c) 2008 Yii Software LLC
* @license http://www.yiiframework.com/license/
*/
namespace
yii\apidoc\templates\pdf
;
use
cebe\markdown\latex\GithubMarkdown
;
use
Yii
;
use
yii\apidoc\helpers\ApiIndexer
;
use
yii\helpers\Console
;
use
yii\helpers\FileHelper
;
/**
*
* @author Carsten Brandt <mail@cebe.cc>
* @since 2.0
*/
class
GuideRenderer
extends
\yii\apidoc\templates\html\GuideRenderer
{
/**
* @inheritDoc
*/
public
function
render
(
$files
,
$targetDir
)
{
// $types = array_merge($this->apiContext->classes, $this->apiContext->interfaces, $this->apiContext->traits);
//
// $extTypes = [];
// foreach ($this->extensions as $k => $ext) {
// $extType = $this->filterTypes($types, $ext);
// if (empty($extType)) {
// unset($this->extensions[$k]);
// continue;
// }
// $extTypes[$ext] = $extType;
// }
$fileCount
=
count
(
$files
)
+
1
;
if
(
$this
->
controller
!==
null
)
{
Console
::
startProgress
(
0
,
$fileCount
,
'Rendering markdown files: '
,
false
);
}
$done
=
0
;
$fileData
=
[];
// $headlines = [];
foreach
(
$files
as
$file
)
{
if
(
basename
(
$file
)
==
'README.md'
)
{
continue
;
// to not add index file to nav
}
if
(
basename
(
$file
)
==
'tutorial-i18n.md'
)
{
continue
;
// TODO avoid i18n tut because of non displayable characters right now. need to fix it.
}
$fileData
[
$file
]
=
file_get_contents
(
$file
);
// if (preg_match("/^(.*)\n=+/", $fileData[$file], $matches)) {
// $headlines[$file] = $matches[1];
// } else {
// $headlines[$file] = basename($file);
// }
}
$md
=
new
GithubMarkdown
();
$output
=
''
;
foreach
(
$fileData
as
$file
=>
$content
)
{
$output
.=
$md
->
parse
(
$content
)
.
"
\n\n
"
;
// TODO generate links to yiiframework.com by default
// $output = $this->fixMarkdownLinks($output);
// if ($this->layout !== false) {
// $params = [
//// 'headlines' => $headlines,
// 'currentFile' => $file,
// 'content' => $output,
// ];
// $output = $this->getView()->renderFile($this->layout, $params, $this);
// }
// $fileName = $this->generateGuideFileName($file);
// file_put_contents($targetDir . '/' . $fileName, $output);
if
(
$this
->
controller
!==
null
)
{
Console
::
updateProgress
(
++
$done
,
$fileCount
);
}
}
file_put_contents
(
$targetDir
.
'/guide.tex'
,
$output
);
copy
(
__DIR__
.
'/main.tex'
,
$targetDir
.
'/main.tex'
);
copy
(
__DIR__
.
'/Makefile'
,
$targetDir
.
'/Makefile'
);
if
(
$this
->
controller
!==
null
)
{
Console
::
updateProgress
(
++
$done
,
$fileCount
);
Console
::
endProgress
(
true
);
$this
->
controller
->
stdout
(
'done.'
.
PHP_EOL
,
Console
::
FG_GREEN
);
}
echo
"
\n
now run `make pdf` in
$targetDir
(you need pdflatex to compile pdf file)
\n\n
"
;
}
}
extensions/apidoc/templates/pdf/Makefile
0 → 100644
View file @
d52299ba
pdf
:
# run pdflatex twice to generate TOC correctly
pdflatex
-halt-on-error
main.tex
pdflatex
-halt-on-error
main.tex
mv
main.pdf guide.pdf
extensions/apidoc/templates/pdf/main.tex
0 → 100644
View file @
d52299ba
\documentclass
[a4paper, 10pt]
{
article
}
% english and utf8
%\usepackage[T1]{fontenc}
\usepackage
[utf8]
{
inputenc
}
%\usepackage[british,russian]{babel}
\usepackage
[british]
{
babel
}
% url support
\usepackage
{
url
}
% make links clickable
\usepackage
{
hyperref
}
% code listings
\usepackage
{
listings
}
\usepackage
{
color
}
\definecolor
{
codebg
}{
rgb
}{
0.9,0.9,0.9
}
\definecolor
{
mygreen
}{
rgb
}{
0,0.6,0
}
\definecolor
{
mygray
}{
rgb
}{
0.5,0.5,0.5
}
\definecolor
{
mymauve
}{
rgb
}{
0.58,0,0.82
}
\lstset
{
%
backgroundcolor=
\color
{
codebg
}
,
% choose the background color; you must add \usepackage{color} or \usepackage{xcolor}
basicstyle=
\footnotesize
,
% the size of the fonts that are used for the code
breakatwhitespace=false,
% sets if automatic breaks should only happen at whitespace
breaklines=true,
% sets automatic line breaking
captionpos=b,
% sets the caption-position to bottom
commentstyle=
\color
{
mygreen
}
,
% comment style
% deletekeywords={...}, % if you want to delete keywords from the given language
escapeinside=
{
\%*
}{
*)
}
,
% if you want to add LaTeX within your code
extendedchars=true,
% lets you use non-ASCII characters; for 8-bits encodings only, does not work with UTF-8
% frame=single, % adds a frame around the code
keepspaces=true,
% keeps spaces in text, useful for keeping indentation of code (possibly needs columns=flexible)
keywordstyle=
\color
{
blue
}
,
% keyword style
% language=Octave, % the language of the code
% morekeywords={*,...}, % if you want to add more keywords to the set
numbers=left,
% where to put the line-numbers; possible values are (none, left, right)
numbersep=5pt,
% how far the line-numbers are from the code
numberstyle=
\tiny\color
{
mygray
}
,
% the style that is used for the line-numbers
rulecolor=
\color
{
black
}
,
% if not set, the frame-color may be changed on line-breaks within not-black text (e.g. comments (green here))
showspaces=false,
% show spaces everywhere adding particular underscores; it overrides 'showstringspaces'
showstringspaces=false,
% underline spaces within strings only
showtabs=false,
% show tabs within strings adding particular underscores
stepnumber=1,
% the step between two line-numbers. If it's 1, each line will be numbered
stringstyle=
\color
{
mymauve
}
,
% string literal style
tabsize=2,
% sets default tabsize to 2 spaces
title=
\lstname
% show the filename of files included with \lstinputlisting; also try caption instead of title
}
\lstdefinelanguage
{
json
}{
morekeywords=
{}
,
sensitive=false,
morestring=[b]",
}
\lstdefinelanguage
{
css
}{
morekeywords=
{}
,
sensitive=false,
morestring=[b]",
}
\lstdefinelanguage
{
javascript
}{
morekeywords=
{}
,
sensitive=false,
morestring=[b]",
}
% include images
\usepackage
{
graphicx
}
% support github markdown strikethrough
% http://tex.stackexchange.com/questions/23711/strikethrough-text
\usepackage
{
ulem
}
\begin{document}
\tableofcontents
\include
{
guide
}
\end{document}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment