Cobalt Web Builder

開発メモ

開発メモ
== Layout CSS ==
A LayoutCSS file must know its template file.

== Internationalization ==
Internationalize
 Language INI file
  Form.Name=Form.Caption
  Label.Name=Label.Caption
  Button.Name=Button.Caption
  GroupBox.Name=GroupBox.Caption
  MessageName=Text
 SetCaption
  Read INI file
  assign to Form.Caption 
  each Form.Controls
   assign to it
 When Show Dialog
  get a message text from INI file
  replace texts with the "Format" function

== Design of Main Form ==
Selection
 Magazine
 Location
Valid Arguments
 Dictionary
 Cover
 Page
 Article
 Destination
 Location
 LayoutCSS
 DesignCSS


== Data Structure ==
Library
 Default
 Location
Magazine
Skelton

TStringTree
 1 Library -> 1 instance
 1 Magazine ->  1 instance
 1 Skelton -> 1 instance

When converting...
 1. Magazine
 2. Location (without article)
 3. Default  (without article)

When creating library...
 questioning following
  essentials
   1. filename
  options
   2. name
   3. description
   4. select template
   or
    5. dictionary-file
    6. cover-file
    7. page-file
    8. article-dir
    9. destination-dir
    10. layout-css
    11. design-css

When creating location...
 questioning following
  essentioals
   1. name
  options
   2. dictionary-file
   3. cover-file
   4. page-file
   5. article-dir
   6. destination-dir
   7. layout-css
   8. design-css

When creating magazine...
 questioning following
  essentials
   1. filename
   2. article-name <- indirect selection of article file
   3. destination-name <- indirect selection of destination file
   4. select skelton article file
  options
   5. name
   6. dictionary-file
   7. cover-file
   8. page-file
   9. article-dir <- direct selection of article file
   10. destination-dir <- direct selection of destination file
   11. layout-css
   12. design-css
 create a new article file from the skelton file.
  Or create a blank new article file if not selected a skelton file.

function GetNamesOfMagazine
 look for the name in the following order
  1. Magazine -> 'Name'
  2. Magazine -> FileName

[Library]
Name=library-name
Description=library-description

File.Skelton=skelton-file-name1
File.Skelton=skelton-file-name2
File.Skelton=skelton-file-name3
File.Magazine=magazine-file-name1
File.Magazine=magazine-file-name2
File.Magazine=magazine-file-name3
Location=location-name1
Location=location-name2
Location=location-name3

Default.File.Dictionary=dictionary-file-name
Default.File.Cover=cover-file-name
Default.File.Page=page-file-name
Default.File.LayoutCSS=layout-css-file-name
Default.File.DesignCSS=design-css-file-name
Default.Dir.Article=article-dir-name
Default.Dir.Destination=destination-dir-name
Location.name1.File.Dictionary=dictionary-file-name
Location.name1.File.Cover=cover-file-name
Location.name1.File.Page=page-file-name
Location.name1.File.LayoutCSS=layout-css-file-name
Location.name1.File.DesignCSS=design-css-file-name
Location.name1.Dir.Article=article-dir-name
Location.name1.Dir.Destination=destination-dir-name

[Magazine]
Name=magazine-name
Skelton.Name=skelton-name
File.Article=article-file-name
File.Destination=destination-file-name

File.Dictionary=dictionary-file-name
File.Cover=cover-file-name
File.Page=page-file-name
File.LayoutCSS=layout-css-file-name
File.DesignCSS=design-css-file-name
Dir.Article=article-dir-name
Dir.Destination=destination-dir-name

[Skelton]
Name=skelton-name
Script.1.Type=type-of-language-construct(gem, element, abacus, directive)
Script.1.Name=name-of-language-construct
Script.1.Value=value-of-language-construct1
Script.1.Value=value-of-language-construct2 (multiline)
Script.1.Value=value-of-language-construct3 (multiline)
Script.1.Comment=comment-of-language-construct1
Script.1.Comment=comment-of-language-construct2 (multiline)
Script.1.Comment=comment-of-language-construct3 (multiline)
Script.1.Lines.After=blank-line-after
Script.1.Lines.Before=blank-line-before