Skip to content

Commit a23171d

Browse files
committed
Many minor changes in markdown for Github pages
1 parent 7349cf1 commit a23171d

8 files changed

Lines changed: 88 additions & 26 deletions

File tree

docs/classes/TBoldAttribute.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66

77
```mermaid
88
classDiagram
9+
class TBoldMember {
10+
<<abstract>>
11+
}
912
TBoldMember <|-- TBoldAttribute
1013
TBoldAttribute <|-- TBAString
1114
TBoldAttribute <|-- TBAInteger
@@ -17,6 +20,8 @@ classDiagram
1720
TBoldAttribute : +IsNull
1821
TBoldAttribute : +SetToNull()
1922
TBoldAttribute : +AsString
23+
24+
click TBoldMember href "TBoldMember/" "TBoldMember documentation"
2025
```
2126

2227
## Attribute Types

docs/classes/index.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,12 @@ classDiagram
5555
TBoldMember <|-- TBoldObjectReference
5656
TBoldMember <|-- TBoldObjectList
5757
TBoldElement <|-- TBoldSystem
58+
59+
click TBoldSystem "TBoldSystem/" "TBoldSystem documentation"
60+
click TBoldObject "TBoldObject/" "TBoldObject documentation"
61+
click TBoldObjectList "TBoldObjectList/" "TBoldObjectList documentation"
62+
click TBoldMember "TBoldMember/" "TBoldMember documentation"
63+
click TBoldAttribute "TBoldAttribute/" "TBoldAttribute documentation"
5864
```
5965

6066
## Core Classes
@@ -85,6 +91,11 @@ flowchart TB
8591
Object -->|"has members"| List
8692
Reference -->|"points to"| Object
8793
List -->|"contains"| Object
94+
95+
click System "TBoldSystem/" "TBoldSystem documentation"
96+
click Object "TBoldObject/" "TBoldObject documentation"
97+
click Attribute "TBoldAttribute/" "TBoldAttribute documentation"
98+
click List "TBoldObjectList/" "TBoldObjectList documentation"
8899
```
89100

90101
## Common Patterns

docs/concepts/index.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,13 @@ flowchart TB
3131
ObjectSpace --> Subscriptions
3232
ObjectSpace --> Persistence
3333
Persistence --> DB
34+
35+
click ObjectSpace "object-space/" "Object Space documentation"
36+
click OCL "ocl/" "OCL documentation"
37+
click Subscriptions "subscriptions/" "Subscriptions documentation"
38+
click Logging "logging/" "Logging documentation"
39+
click Persistence "persistence/" "Persistence documentation"
40+
click DB "persistence/" "Database persistence documentation"
3441
```
3542

3643
## Key Concepts

docs/concepts/persistence.md

Lines changed: 49 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
Bold provides transparent **Object-Relational Mapping (ORM)** that automatically persists your domain objects to a relational database.
44

55
## Architecture
6-
76
```mermaid
87
flowchart LR
98
subgraph ObjectSpace["Object Space"]
@@ -37,44 +36,76 @@ flowchart LR
3736
| Inheritance | Type discriminator column |
3837

3938
### Example Mapping
39+
```mermaid
40+
flowchart LR
41+
subgraph UML["UML Model"]
42+
Customer["Customer\n───────────\nName: String\nEmail: String"]
43+
Order["Order\n───────────\nOrderDate: Date\nTotal: Currency"]
44+
OrderItem["OrderItem\n───────────\nQuantity: Integer"]
45+
end
4046
47+
subgraph DB["Database Schema"]
48+
T1["CUSTOMER"]
49+
T2["CUSTOMER_ORDER"]
50+
T3["ORDER_ITEM"]
51+
end
52+
53+
Customer --> T1
54+
Order --> T2
55+
OrderItem --> T3
4156
```
42-
UML Model Database Schema
43-
─────────── ───────────────
44-
┌─────────────┐ ┌─────────────────────────┐
45-
│ Customer │ │ CUSTOMER │
46-
├─────────────┤ ├─────────────────────────┤
47-
│ Name: String│ ────────► │ BOLD_ID INT PK │
48-
│ Email:String│ │ BOLD_TYPE INT │
49-
└─────────────┘ │ NAME VARCHAR │
50-
│ EMAIL VARCHAR │
51-
└─────────────────────────┘
57+
```mermaid
58+
erDiagram
59+
CUSTOMER {
60+
INT BOLD_ID PK
61+
INT BOLD_TYPE
62+
VARCHAR NAME
63+
VARCHAR EMAIL
64+
}
65+
66+
CUSTOMER_ORDER {
67+
INT BOLD_ID PK
68+
INT BOLD_TYPE
69+
INT CUSTOMER_ID FK
70+
DATE ORDERDATE
71+
DECIMAL TOTAL
72+
}
73+
74+
ORDER_ITEM {
75+
INT BOLD_ID PK
76+
INT BOLD_TYPE
77+
INT ORDER_ID FK
78+
INT PRODUCT_ID FK
79+
INT QUANTITY
80+
}
81+
82+
CUSTOMER ||--o{ CUSTOMER_ORDER : "places"
83+
CUSTOMER_ORDER ||--o{ ORDER_ITEM : "contains"
5284
```
5385

5486
## Configuration
5587

5688
### Database Adapter Setup
57-
5889
```pascal
5990
// FireDAC adapter (recommended)
6091
BoldDatabaseAdapterFireDAC1.Connection := FDConnection1;
6192
BoldPersistenceHandleDB1.DatabaseAdapter := BoldDatabaseAdapterFireDAC1;
6293
```
6394

64-
### Supported Databases
95+
### Supported Persistence Targets
6596

66-
| Database | Adapter |
67-
|----------|---------|
97+
| Target | Adapter |
98+
|--------|---------|
6899
| SQL Server | FireDAC, UniDAC |
69100
| PostgreSQL | FireDAC, UniDAC |
70101
| InterBase | FireDAC |
71102
| Oracle | FireDAC, UniDAC |
72103
| SQLite | FireDAC |
104+
| XML | BoldPersistenceHandleFileXML |
73105

74106
## Operations
75107

76108
### Save Changes
77-
78109
```pascal
79110
// Save all dirty objects to database
80111
BoldSystemHandle1.UpdateDatabase;
@@ -86,7 +117,6 @@ BoldSystemHandle1.System.UpdateDatabase;
86117
### Fetch Objects
87118

88119
Bold fetches objects lazily by default:
89-
90120
```pascal
91121
// Objects loaded on first access
92122
Customer := Customers[0]; // Fetches from DB if not loaded
@@ -96,7 +126,6 @@ Name := Customer.Name; // Attribute already loaded
96126
### Batch Fetching
97127

98128
For performance, prefetch related objects:
99-
100129
```pascal
101130
// Fetch customers and their orders in one query
102131
BoldSystemHandle1.System.FetchLinksWithObjects(
@@ -108,7 +137,6 @@ BoldSystemHandle1.System.FetchLinksWithObjects(
108137
## Transactions
109138

110139
### Basic Transaction
111-
112140
```pascal
113141
BoldSystem.StartTransaction;
114142
try
@@ -131,13 +159,13 @@ Bold supports nested transactions with savepoints.
131159
## Schema Evolution
132160

133161
Bold can evolve your database schema when the model changes:
134-
135162
```pascal
136163
// Use DbEvolutor to generate migration scripts
137164
BoldDbEvolutor1.GenerateScript;
138165
```
139166

140167
Changes handled:
168+
141169
- Add/remove classes (tables)
142170
- Add/remove attributes (columns)
143171
- Modify attribute types
@@ -148,4 +176,4 @@ Changes handled:
148176
1. **Use batch fetching** for collections you'll iterate
149177
2. **Avoid N+1 queries** by prefetching associations
150178
3. **Use OCL efficiently** - filter in database when possible
151-
4. **Index foreign keys** for faster association traversal
179+
4. **Index foreign keys** for faster association traversal

docs/faq.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -276,9 +276,11 @@ BoldDbEvolutor1.GenerateScript;
276276
### Can I use Bold with an existing database?
277277

278278
Yes, but you need to:
279-
1. Create a UML model matching the existing schema
280-
2. Configure table/column mappings in tagged values
281-
3. Import existing data carefully
279+
280+
1. Create a UML model matching the existing schema.
281+
2. Create a new database with Bold.
282+
3. Configure table/column mappings in tagged values.
283+
4. Import existing data carefully.
282284

283285
---
284286

docs/getting-started/index.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ graph LR
2121
B --> C[TBoldObject instances]
2222
C --> D[TBoldAttribute values]
2323
C --> E[TBoldObjectReference links]
24+
25+
click A "../classes/TBoldSystem/" "TBoldSystem documentation"
26+
click C "../classes/TBoldObject/" "TBoldObject documentation"
27+
click D "../classes/TBoldAttribute/" "TBoldAttribute documentation"
28+
click E "../classes/TBoldMember/" "TBoldMember documentation"
2429
```
2530

2631
### Persistence Layer

docs/index.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,12 @@ flowchart TB
3737
System --> OCL
3838
Objects --> PMapper
3939
PMapper --> DB
40+
41+
click System "classes/TBoldSystem/" "TBoldSystem documentation"
42+
click Objects "classes/TBoldObject/" "TBoldObject documentation"
43+
click OCL "concepts/ocl/" "OCL documentation"
44+
click PMapper "concepts/persistence/" "Persistence documentation"
45+
click DB "concepts/persistence/" "Database persistence documentation"
4046
```
4147

4248
## Quick Start

mkdocs.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ edit_uri: edit/develop/docs/
77

88
theme:
99
name: material
10-
logo: images/boldlogo.png
11-
favicon: images/favbold.png
1210
palette:
1311
- scheme: default
1412
primary: indigo

0 commit comments

Comments
 (0)