mirror of
https://github.com/flynx/photobook.git
synced 2025-10-29 10:20:08 +00:00
lots of tweaks and refactoring...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
39cf3f9c25
commit
2e7faac8a8
219
photobook.cls
219
photobook.cls
@ -267,44 +267,41 @@
|
|||||||
\RequirePackage{iftex}
|
\RequirePackage{iftex}
|
||||||
\RequirePackage{etoolbox}
|
\RequirePackage{etoolbox}
|
||||||
\RequirePackage{atbegshi}
|
\RequirePackage{atbegshi}
|
||||||
|
%\RequirePackage{afterpage}
|
||||||
|
%\RequirePackage{changepage}
|
||||||
\RequirePackage[unicode]{hyperref}
|
\RequirePackage[unicode]{hyperref}
|
||||||
|
%\RequirePackage{pdfcomment}
|
||||||
\RequirePackage{eso-pic}
|
\RequirePackage{eso-pic}
|
||||||
\RequirePackage{environ}
|
\RequirePackage{environ}
|
||||||
|
\RequirePackage{xcolor}
|
||||||
|
\RequirePackage{colorspace}
|
||||||
\RequirePackage{graphicx}
|
\RequirePackage{graphicx}
|
||||||
\RequirePackage[
|
\RequirePackage[overlay,absolute]{textpos}
|
||||||
overlay,absolute,
|
|
||||||
%showboxes,
|
|
||||||
]{textpos}
|
|
||||||
\RequirePackage[linewidth=1pt]{mdframed}
|
\RequirePackage[linewidth=1pt]{mdframed}
|
||||||
\RequirePackage{rotating}
|
\RequirePackage{rotating}
|
||||||
|
% XXX flow text frames...
|
||||||
|
\RequirePackage{flowfram}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%----------------------------------------------------------------------
|
%----------------------------------------------------------------------
|
||||||
% Globals...
|
% Globals...
|
||||||
|
%
|
||||||
|
% NOTE: most of these are setup in \InitPageLengths...
|
||||||
|
|
||||||
\edef\layoutmode{\photobook@layoutmode}
|
\edef\layoutmode{\photobook@layoutmode}
|
||||||
|
|
||||||
\edef\pdfpagelayout{\photobook@pdfpagelayout}
|
% layout mode tests...
|
||||||
|
|
||||||
|
|
||||||
% layout modes...
|
|
||||||
%
|
|
||||||
\newif\ifcoverlayout
|
\newif\ifcoverlayout
|
||||||
|
|
||||||
\newif\ifhardcoverlayout
|
\newif\ifhardcoverlayout
|
||||||
|
|
||||||
\newif\ifsoftcoverlayout
|
\newif\ifsoftcoverlayout
|
||||||
|
|
||||||
\newif\ifendpaperlayout
|
\newif\ifendpaperlayout
|
||||||
|
|
||||||
\newif\ifjacketlayout
|
\newif\ifjacketlayout
|
||||||
|
|
||||||
% agrigates...
|
% agrigates...
|
||||||
\newif\ifcoverlikelayout
|
\newif\ifcoverlikelayout
|
||||||
|
|
||||||
\newif\ifblocklayout
|
\newif\ifblocklayout
|
||||||
|
|
||||||
|
\edef\pdfpagelayout{\photobook@pdfpagelayout}
|
||||||
|
|
||||||
\newlength\spinewidth
|
\newlength\spinewidth
|
||||||
\setlength\spinewidth{\photobook@spinewidth}
|
\setlength\spinewidth{\photobook@spinewidth}
|
||||||
@ -316,16 +313,11 @@
|
|||||||
\setlength\coverboardgrow{\photobook@coverboardgrow}
|
\setlength\coverboardgrow{\photobook@coverboardgrow}
|
||||||
|
|
||||||
\newlength\coverflap
|
\newlength\coverflap
|
||||||
|
|
||||||
\newlength\jacketwrap
|
\newlength\jacketwrap
|
||||||
|
|
||||||
\newlength\jacketflap
|
\newlength\jacketflap
|
||||||
|
|
||||||
\newlength\jacketflapfront
|
\newlength\jacketflapfront
|
||||||
|
|
||||||
\newlength\jacketflapback
|
\newlength\jacketflapback
|
||||||
|
% NOTE: page and bleed block sizes are set via \InitPageLengths
|
||||||
% NOTE: page and bleed block sizes are set via \RecalculatePageLengths
|
|
||||||
\newlength\blockwidth
|
\newlength\blockwidth
|
||||||
\newlength\blockheight
|
\newlength\blockheight
|
||||||
% NOTE: these are equivalent to \paperwidth and \paperheight but are
|
% NOTE: these are equivalent to \paperwidth and \paperheight but are
|
||||||
@ -362,10 +354,10 @@
|
|||||||
|
|
||||||
|
|
||||||
%----------------------------------------------------------------------
|
%----------------------------------------------------------------------
|
||||||
% Commands...
|
% Init / reset...
|
||||||
|
|
||||||
\newcommand\RecalculatePageLengths{
|
\newcommand\InitPageLengths{
|
||||||
% layout bools...
|
% layout bools/tests...
|
||||||
\coverlayoutfalse
|
\coverlayoutfalse
|
||||||
\hardcoverlayoutfalse
|
\hardcoverlayoutfalse
|
||||||
\softcoverlayoutfalse
|
\softcoverlayoutfalse
|
||||||
@ -509,15 +501,17 @@
|
|||||||
\setlength\blockheight{0mm}
|
\setlength\blockheight{0mm}
|
||||||
\edef\pdfpagelayout{}
|
\edef\pdfpagelayout{}
|
||||||
%
|
%
|
||||||
\RecalculatePageLengths }
|
\InitPageLengths }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%----------------------------------------------------------------------
|
%----------------------------------------------------------------------
|
||||||
% Setup (early)...
|
% Setup...
|
||||||
|
|
||||||
% init/update lengths...
|
% init/update lengths...
|
||||||
\RecalculatePageLengths
|
\InitPageLengths
|
||||||
|
|
||||||
% minimal geometry setup...
|
% minimal geometry setup...
|
||||||
\RequirePackage[
|
\RequirePackage[
|
||||||
@ -528,7 +522,8 @@
|
|||||||
|
|
||||||
|
|
||||||
%----------------------------------------------------------------------
|
%----------------------------------------------------------------------
|
||||||
% Setup (late)...
|
% Setup (pre-document)...
|
||||||
|
|
||||||
\AtEndPreamble{
|
\AtEndPreamble{
|
||||||
|
|
||||||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
@ -548,7 +543,7 @@
|
|||||||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
% Geometry...
|
% Geometry...
|
||||||
|
|
||||||
\RecalculatePageLengths
|
\InitPageLengths
|
||||||
|
|
||||||
% no-defaults -- the user is expected to set things up...
|
% no-defaults -- the user is expected to set things up...
|
||||||
\ifphotobook@geometrynodefaults
|
\ifphotobook@geometrynodefaults
|
||||||
@ -641,6 +636,32 @@
|
|||||||
\fi }
|
\fi }
|
||||||
|
|
||||||
|
|
||||||
|
\newcommand\pdfpagecount[1]{
|
||||||
|
\ifpdftex
|
||||||
|
\pdfximage{#1}
|
||||||
|
\number\pdflastximagepages%
|
||||||
|
\else\ifxetex
|
||||||
|
\number\XeTeXpdfpagecount"#1"%
|
||||||
|
\else\ifluatex
|
||||||
|
\number\directlua{%
|
||||||
|
local pages = 0
|
||||||
|
local doc = pdfe.open("\luaescapestring{#1}")
|
||||||
|
if doc then
|
||||||
|
pages = pdfe.getnofpages(doc)
|
||||||
|
pdfe.close(doc)
|
||||||
|
end
|
||||||
|
tex.write(pages) } \fi\fi }
|
||||||
|
|
||||||
|
|
||||||
|
% \pdfspinewidth{paper-thikness}{cover-thikness}{block-pdf}
|
||||||
|
%
|
||||||
|
% NOTE: really "like" how LaTeX overcomplicats simple math...
|
||||||
|
\newcommand\pdfspinewidth[3]{%
|
||||||
|
\setlength\spinewidth{\dimexpr
|
||||||
|
(#1 mm) * \numexpr \pdfpagecount{#3} / 2 \relax
|
||||||
|
+ ((#2 mm) * 2)
|
||||||
|
\relax} }
|
||||||
|
|
||||||
|
|
||||||
% XXX workaround a problem with xelatex vs. lualatex...
|
% XXX workaround a problem with xelatex vs. lualatex...
|
||||||
\ifxetex
|
\ifxetex
|
||||||
@ -775,11 +796,21 @@
|
|||||||
|
|
||||||
|
|
||||||
%----------------------------------------------------------------------
|
%----------------------------------------------------------------------
|
||||||
% Cover/endpaper Templates...
|
% Envs...
|
||||||
%
|
%
|
||||||
% XXX need a way to place images / templates into these...
|
% XXX need a way to place images / templates into these...
|
||||||
% XXX should these only be visible in respective modes or for non-zero widths???
|
% XXX should these only be visible in respective modes or for non-zero widths???
|
||||||
|
|
||||||
|
|
||||||
|
% within a block/cell env these store the cell width and height...
|
||||||
|
\newlength\cellwidth
|
||||||
|
\newlength\cellheight
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
% Generic...
|
||||||
|
|
||||||
% XXX this may span more than one page if there is enoug stuff packed
|
% XXX this may span more than one page if there is enoug stuff packed
|
||||||
% into it...
|
% into it...
|
||||||
\newenvironment{page}{}{%
|
\newenvironment{page}{}{%
|
||||||
@ -787,45 +818,27 @@
|
|||||||
\clearpage }
|
\clearpage }
|
||||||
|
|
||||||
|
|
||||||
%%% \photobook@newtemplatecell{name}{x}{y}{width}{heigth}
|
|
||||||
%%%
|
|
||||||
%%% XXX need to quote arguments to make them eval on env expansion and not
|
|
||||||
%%% on command expansion....
|
|
||||||
%%\newcommand\photobook@newtemplatecell[5]{
|
|
||||||
%% \newenvironment{#1}{%
|
|
||||||
%% \setlength\cellwidth{#4}
|
|
||||||
%% \setlength\cellheight{#5}
|
|
||||||
%% %
|
|
||||||
%% \begin{textblock*}{\pageblockwidth}(#2, #3)%
|
|
||||||
%% \begin{minipage}[t][\cellheight][t]{\cellwidth}%
|
|
||||||
%% }{%
|
|
||||||
%% \end{minipage}%
|
|
||||||
%% \end{textblock*} } }
|
|
||||||
|
|
||||||
|
|
||||||
\newlength\cellwidth
|
|
||||||
\newlength\cellheight
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
% Covers, Jackets and endpapers...
|
||||||
|
|
||||||
% endpaper...
|
% endpaper...
|
||||||
%
|
%
|
||||||
% XXX for some reason naming this anything starting with endpaper will
|
% XXX for some reason naming this anything starting with endpaper will
|
||||||
% make LaTeX complain that that is already defined...
|
% make LaTeX complain that that is already defined...
|
||||||
|
|
||||||
\newenvironment{leftside}{%
|
\NewEnviron{leftside}{%
|
||||||
|
\ifendpaperlayout
|
||||||
\setlength\cellwidth{\pageblockwidth}
|
\setlength\cellwidth{\pageblockwidth}
|
||||||
\setlength\cellheight{\pageblockheight}
|
\setlength\cellheight{\pageblockheight}
|
||||||
%
|
%
|
||||||
\begin{textblock*}{\pageblockwidth}(\bleed, \bleed)%
|
\begin{textblock*}{\pageblockwidth}(\bleed, \bleed)%
|
||||||
\begin{minipage}[t][\cellheight][t]{\cellwidth}%
|
\begin{minipage}[t][\cellheight][t]{\cellwidth}%
|
||||||
}{%
|
\BODY%
|
||||||
\end{minipage}%
|
\end{minipage}%
|
||||||
\end{textblock*} }
|
\end{textblock*} \fi }
|
||||||
|
|
||||||
|
\NewEnviron{rightside}{%
|
||||||
\newenvironment{rightside}{%
|
\ifendpaperlayout
|
||||||
\setlength\cellwidth{\pageblockwidth}
|
\setlength\cellwidth{\pageblockwidth}
|
||||||
\setlength\cellheight{\pageblockheight}
|
\setlength\cellheight{\pageblockheight}
|
||||||
%
|
%
|
||||||
@ -834,17 +847,15 @@
|
|||||||
+ \pageblockwidth,
|
+ \pageblockwidth,
|
||||||
\bleed )%
|
\bleed )%
|
||||||
\begin{minipage}[t][\cellheight][t]{\cellwidth}%
|
\begin{minipage}[t][\cellheight][t]{\cellwidth}%
|
||||||
}{%
|
\BODY%
|
||||||
\end{minipage}%
|
\end{minipage}%
|
||||||
\end{textblock*} }
|
\end{textblock*} \fi }
|
||||||
|
|
||||||
|
|
||||||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
% front/back covers...
|
||||||
% cover-like layout components...
|
|
||||||
|
|
||||||
% front cover...
|
|
||||||
%
|
%
|
||||||
\newenvironment{frontcover}{%
|
\NewEnviron{frontcover}{%
|
||||||
|
\ifcoverlikelayout
|
||||||
\setlength\cellwidth{\dimexpr
|
\setlength\cellwidth{\dimexpr
|
||||||
\pageblockwidth
|
\pageblockwidth
|
||||||
+ \coverboardgrow \relax }
|
+ \coverboardgrow \relax }
|
||||||
@ -864,14 +875,12 @@
|
|||||||
\bleed
|
\bleed
|
||||||
+ \coverflap )%
|
+ \coverflap )%
|
||||||
\begin{minipage}[t][\cellheight][t]{\cellwidth}%
|
\begin{minipage}[t][\cellheight][t]{\cellwidth}%
|
||||||
}{%
|
\BODY%
|
||||||
\end{minipage}%
|
\end{minipage}%
|
||||||
\end{textblock*} }
|
\end{textblock*} \fi }
|
||||||
|
|
||||||
|
\NewEnviron{backcover}{%
|
||||||
% back cover...
|
\ifcoverlikelayout
|
||||||
%
|
|
||||||
\newenvironment{backcover}{%
|
|
||||||
\setlength\cellwidth{\dimexpr
|
\setlength\cellwidth{\dimexpr
|
||||||
\pageblockwidth
|
\pageblockwidth
|
||||||
+ \coverboardgrow \relax }
|
+ \coverboardgrow \relax }
|
||||||
@ -887,14 +896,15 @@
|
|||||||
\bleed
|
\bleed
|
||||||
+ \coverflap )%
|
+ \coverflap )%
|
||||||
\begin{minipage}[t][\cellheight][t]{\cellwidth}%
|
\begin{minipage}[t][\cellheight][t]{\cellwidth}%
|
||||||
}{%
|
\BODY%
|
||||||
\end{minipage}%
|
\end{minipage}%
|
||||||
\end{textblock*} }
|
\end{textblock*} \fi }
|
||||||
|
|
||||||
|
|
||||||
% spine...
|
% spines...
|
||||||
%
|
%
|
||||||
\newenvironment{spine}{%
|
\NewEnviron{spine}{%
|
||||||
|
\ifcoverlikelayout
|
||||||
\setlength\cellwidth{\dimexpr
|
\setlength\cellwidth{\dimexpr
|
||||||
\spinewidth \relax }
|
\spinewidth \relax }
|
||||||
\setlength\cellheight{\dimexpr
|
\setlength\cellheight{\dimexpr
|
||||||
@ -912,15 +922,13 @@
|
|||||||
\bleed
|
\bleed
|
||||||
+ \coverflap )%
|
+ \coverflap )%
|
||||||
\begin{minipage}[t][\cellheight][t]{\cellwidth}%
|
\begin{minipage}[t][\cellheight][t]{\cellwidth}%
|
||||||
}{%
|
\BODY%
|
||||||
\end{minipage}%
|
\end{minipage}%
|
||||||
\end{textblock*} }
|
\end{textblock*} \fi }
|
||||||
|
|
||||||
|
|
||||||
% vertical spine...
|
|
||||||
%
|
|
||||||
% XXX make args be up or down...
|
% XXX make args be up or down...
|
||||||
\newenvironment{vspine}[1][270]{%
|
\NewEnviron{vspine}[1][270]{%
|
||||||
|
\ifcoverlikelayout
|
||||||
\setlength\cellwidth{\dimexpr
|
\setlength\cellwidth{\dimexpr
|
||||||
\spinewidth \relax }
|
\spinewidth \relax }
|
||||||
\setlength\cellheight{\dimexpr
|
\setlength\cellheight{\dimexpr
|
||||||
@ -941,19 +949,16 @@
|
|||||||
%\begin{turn}{\ifdefstring{#1}{up}{270}{90}}
|
%\begin{turn}{\ifdefstring{#1}{up}{270}{90}}
|
||||||
\begin{turn}{#1}
|
\begin{turn}{#1}
|
||||||
\begin{minipage}[t][\cellwidth][t]{\cellheight}%
|
\begin{minipage}[t][\cellwidth][t]{\cellheight}%
|
||||||
}{%
|
\BODY%
|
||||||
\end{minipage}%
|
\end{minipage}%
|
||||||
\end{turn}
|
\end{turn}
|
||||||
\end{textblock*} }
|
\end{textblock*} \fi }
|
||||||
|
|
||||||
|
|
||||||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
% jackets flaps...
|
||||||
% jacket components...
|
|
||||||
|
|
||||||
|
|
||||||
% front flap...
|
|
||||||
%
|
%
|
||||||
\newenvironment{frontflap}{%
|
\NewEnviron{frontflap}{%
|
||||||
|
\ifjacketlayout
|
||||||
\setlength\cellwidth{\jacketflapfront }
|
\setlength\cellwidth{\jacketflapfront }
|
||||||
\setlength\cellheight{\dimexpr
|
\setlength\cellheight{\dimexpr
|
||||||
\pageblockheight
|
\pageblockheight
|
||||||
@ -970,14 +975,12 @@
|
|||||||
\bleed
|
\bleed
|
||||||
+ \coverflap )%
|
+ \coverflap )%
|
||||||
\begin{minipage}[t][\cellheight][t]{\cellwidth}%
|
\begin{minipage}[t][\cellheight][t]{\cellwidth}%
|
||||||
}{%
|
\BODY%
|
||||||
\end{minipage}%
|
\end{minipage}%
|
||||||
\end{textblock*} }
|
\end{textblock*} \fi }
|
||||||
|
|
||||||
|
\NewEnviron{backflap}{%
|
||||||
% back flap...
|
\ifjacketlayout
|
||||||
%
|
|
||||||
\newenvironment{backflap}{%
|
|
||||||
\setlength\cellwidth{\jacketflapback}
|
\setlength\cellwidth{\jacketflapback}
|
||||||
\setlength\cellheight{\dimexpr
|
\setlength\cellheight{\dimexpr
|
||||||
\pageblockheight
|
\pageblockheight
|
||||||
@ -988,11 +991,13 @@
|
|||||||
\bleed
|
\bleed
|
||||||
+ \coverflap )%
|
+ \coverflap )%
|
||||||
\begin{minipage}[t][\cellheight][t]{\cellwidth}%
|
\begin{minipage}[t][\cellheight][t]{\cellwidth}%
|
||||||
}{%
|
\BODY%
|
||||||
\end{minipage}%
|
\end{minipage}%
|
||||||
\end{textblock*} }
|
\end{textblock*} \fi }
|
||||||
|
|
||||||
|
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
\newcommand\photobook@TemplateCell[1]{
|
\newcommand\photobook@TemplateCell[1]{
|
||||||
% XXX this seems to be bigger than the size given...
|
% XXX this seems to be bigger than the size given...
|
||||||
%\fbox{\parbox[t][\cellheight][t]{\cellwidth}{%
|
%\fbox{\parbox[t][\cellheight][t]{\cellwidth}{%
|
||||||
@ -1010,37 +1015,44 @@
|
|||||||
\TPoptions{showboxes=true}
|
\TPoptions{showboxes=true}
|
||||||
\begin{page}
|
\begin{page}
|
||||||
\setlength{\parindent}{0em}
|
\setlength{\parindent}{0em}
|
||||||
\ifendpaperlayout
|
% NOTE: only the relevant blocks will be visible...
|
||||||
\begin{leftside}
|
\begin{leftside}
|
||||||
\photobook@TemplateCell{ENDPAPER LEFT}
|
\photobook@TemplateCell{ENDPAPER LEFT}
|
||||||
\end{leftside}
|
\end{leftside}
|
||||||
\begin{rightside}
|
\begin{rightside}
|
||||||
\photobook@TemplateCell{ENDPAPER RIGHT}
|
\photobook@TemplateCell{ENDPAPER RIGHT}
|
||||||
\end{rightside}
|
\end{rightside}
|
||||||
\fi
|
|
||||||
\ifcoverlikelayout
|
|
||||||
\begin{frontcover}
|
\begin{frontcover}
|
||||||
\photobook@TemplateCell{FRONT COVER}
|
\photobook@TemplateCell{FRONT COVER}
|
||||||
\end{frontcover}
|
\end{frontcover}
|
||||||
%\begin{vspine}[90]
|
%\begin{vspine}[90]
|
||||||
\begin{vspine}%[down]
|
%\begin{vspine}[down]
|
||||||
|
\begin{vspine}
|
||||||
\photobook@TemplateCell{SPINE}
|
\photobook@TemplateCell{SPINE}
|
||||||
\end{vspine}
|
\end{vspine}
|
||||||
\begin{backcover}
|
\begin{backcover}
|
||||||
\photobook@TemplateCell{BACK COVER}
|
\photobook@TemplateCell{BACK COVER}
|
||||||
\end{backcover}
|
\end{backcover}
|
||||||
\fi
|
|
||||||
\ifjacketlayout
|
|
||||||
\begin{frontflap}
|
\begin{frontflap}
|
||||||
\photobook@TemplateCell{FRONT FLAP}
|
\photobook@TemplateCell{FRONT FLAP}
|
||||||
\end{frontflap}
|
\end{frontflap}
|
||||||
\begin{backflap}
|
\begin{backflap}
|
||||||
\photobook@TemplateCell{BACK FLAP}
|
\photobook@TemplateCell{BACK FLAP}
|
||||||
\end{backflap}
|
\end{backflap}
|
||||||
\fi
|
|
||||||
\end{page} }
|
\end{page} }
|
||||||
|
|
||||||
|
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
% pages...
|
||||||
|
|
||||||
|
% XXX
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%----------------------------------------------------------------------
|
%----------------------------------------------------------------------
|
||||||
@ -1668,13 +1680,12 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%----------------------------------------------------------------------
|
%----------------------------------------------------------------------
|
||||||
%%% XXX DEBUG...
|
%%% XXX DEBUG...
|
||||||
%%\AtBeginDocument{
|
%%\AtBeginDocument{
|
||||||
%%}
|
%%}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%----------------------------------------------------------------------
|
%----------------------------------------------------------------------
|
||||||
% vim:set ts=4 sw=4 :
|
% vim:set ts=4 sw=4 :
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user