This project has moved. For the latest updates, please go here.

HyperBook is an application for managing a collection of related books with cross-referencing at any level fron Book- to Paragraph-level.

HyperBook uses a 3-layer architecture (DataAccess, BusinessLogic and Presentation layers) as well as a shared Model:

Book --< Part --< Chapter --< Section --< Paragraph --< Word --< Letter
Book --< Page -----------------------------< Paragraph
where all the above classes inherit from Element
Element--< Link
Element--< Footnote
SourceElement -- Link -- TargetElement

The DataAccess layer uses XmlTextReader and XmlTextWriter to load and save the above Model.
All books found in the folder Books are automatically loaded on startup. and their links are fully connected.

The BusinessLogic is to implement search for similar paragraphs for a given paragraph within its own book, another book, or across all books.

The presentation layer uses the DockPanel Suite for its shell and can save/load its MainWindow size and position as well as the current docking layout on exit.

Bookmarking, Notetaking, RegEx Search, Word/Letter Statistics will all be supported for a richer research experience similar to QuranCode.

HyperBook XML Book Template
=====================================================================
<?xml version="1.0" encoding="utf-16"?>
<Book title="HyperBook"
      author="Ali Adams"
      publisher="HyperBook Inc."
      publication_date="2012-02-29"
      volume="1"
      edition="1.0.0"
      isbn="111-1-11-111111-1">
  <Part title="Part1">
    <Chapter title="Chapter1">
      <Section title="Section1">
        <Paragraph page="1">
          English: This is a paragraph
          <Link>0-941724-18-2.2.146.1.3</Link>
          <Footnote>Paragraph1 note ...</Footnote>
        </Paragraph>
        <Paragraph>
          Albanian: Ky është paragrafi
        </Paragraph>
        <Paragraph>
          Arabic: هذه فقرة
          <Footnote>Paragraph3 note ...</Footnote>
        </Paragraph>
        <Link>0-941724-18-2.2.146.1</Link>
        <Footnote>Section1 note ...</Footnote>
      </Section>
      <Section title="Section2">
        <Paragraph>Armenian: Սա պարբ.</Paragraph>
        <Paragraph>Bengali: এই অনুচ্ছেদের</Paragraph>
        <Paragraph page="2">Bulgarian: Това е параграф</Paragraph>
        <Paragraph>Chinese: 这是段</Paragraph>
        <Link>0-941724-18-2.2.146.1</Link>
      </Section>
      <Link>0-941724-18-2.2.146</Link>
      <Footnote>Chapter note ...</Footnote>
    </Chapter>
    <Link>0-941724-18-2.2</Link>
    <Footnote>Part note ...</Footnote>
  </Part>
  <Link>0-941724-18-2</Link>
  <Footnote>Book note ...</Footnote>
</Book>
=====================================================================

For any book to be more useful, it should be prepared to be compatible with above the class model.
You can start collecting the text now for any book you wish to have and work in parallel with me.

HyperBook is ALWAYS owned by all of us not just the few who participate.

May God be our Guide and Supporter.

Ali Adams
God > infinity
www.heliwave.com

Last edited Jan 29, 2013 at 3:55 AM by silverlight5, version 33