Doctor Who Cuttings Archive

Difference between revisions of "Template:Article"

From The Doctor Who Cuttings Archive
Jump to navigationJump to search
Line 59: Line 59:
 
<!-- get page number for Starlog -->
 
<!-- get page number for Starlog -->
 
{{#ifeq: {{{publication}}} | Starlog | {{#set: Page number = {{{pages}}} }} }}
 
{{#ifeq: {{{publication}}} | Starlog | {{#set: Page number = {{{pages}}} }} }}
 +
 +
<!-- single author? -->
 +
{{#if: {{{author}}} | [[Has author::{{{author}}}]] | }}
  
 
{{DS}}__NOTOC__
 
{{DS}}__NOTOC__

Revision as of 23:55, 2 February 2016


{{article
| publication =
| file =
| px =
| height =
| width =
| date =
| author =
| pages =
| language = English
| type =
| description =
| categories =
| moreTitles =
| morePublications =
| moreDates =
| text =
}}

{{Image table
|{{img||px|}}
|{{img||px|}}
|{{img||px|}}
|{{img||px|}}
|{{img||px|}}
}}

Sub filetoCuttings()

    Application.DisplayAlerts = wdAlertsNone
    
    Selection.WholeStory
    With Selection.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Text = "File:"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
        .Execute Replace:=wdReplaceAll
        
        .Text = "^p"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
        .Execute Replace:=wdReplaceAll
    End With

    Selection.WholeStory
    FName = Selection
    
    FName = Trim(FName)
    ftype = Mid(FName, Len(FName) - 3, 3)
    FName = Left(FName, Len(FName) - 5)
    
    pos = InStr(FName, " ")
    fdate = Left(FName, pos - 1)
    FName = Mid(FName, pos + 1)
    p = Right(FName, 3)
    p = Trim(p)
    If p Like "p#" Then
        p = Right(p, 1)
        FName = Left(FName, Len(FName) - 3)
    ElseIf p Like "p##" Then
        p = Right(p, 2)
        FName = Left(FName, Len(FName) - 4)
    Else
        p = ""
    End If
        
    out = "{{article" & vbCrLf & "| publication = " & FName & vbCrLf
    out = out & "| file = " & fdate & " " & FName & "." & ftype & vbCrLf
    out = out & "| px = "
    If ftype = "jpg" Then out = out & "450"
    out = out & vbCrLf & "| height = " & vbCrLf
    out = out & "| width = " & vbCrLf & "| date = " & fdate & vbCrLf
    If Len(fdate) < 10 Then out = out & "| display date = " & vbCrLf
    out = out & "| author = " & vbCrLf & "| pages = " & p & vbCrLf & "| language = English " & vbCrLf
    out = out & "| type = " & vbCrLf & "| description = " & vbCrLf & "| categories = " & vbCrLf
    out = out & "| moreTitles = " & vbCrLf & "| morePublications = " & vbCrLf & "| moreDates = " & vbCrLf
    out = out & "| text = " & vbCrLf & "}}"
    
    Selection.TypeText (out)
    Application.DisplayAlerts = wdAlertsAll
End Sub