Skip to content

Commit 644247c

Browse files
committed
update README
1 parent 4564137 commit 644247c

File tree

1 file changed

+67
-2
lines changed

1 file changed

+67
-2
lines changed

README.adoc

Lines changed: 67 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,70 @@
22

33
This documentation is currently hosted at https://bitcoincore.academy[bitcoincore.academy] however this location may be subject to change in the future.
44

5-
See https://github.com/chaincodelabs/onboarding-to-bitcoin-core/blob/master/asciidoc_workflow.adoc[asciidoc_workflow.adoc]
6-
and https://github.com/chaincodelabs/onboarding-to-bitcoin-core/blob/master/jekyll_workflow.md[jekyll_workflow.md] for tips on contributing and instructions for running locally.
5+
== Development
6+
7+
=== Local Development with Docker
8+
9+
The easiest way to serve the site locally is using Docker:
10+
11+
[source,bash]
12+
----
13+
docker compose up dev
14+
----
15+
16+
This will:
17+
- Build the development environment
18+
- Install all dependencies (Ruby gems and Node.js packages)
19+
- Start a Jekyll development server on port 4000
20+
- Mount the current directory for live reloading
21+
- Use development environment settings
22+
23+
The site will be available at http://localhost:4000
24+
25+
=== Makefile Commands
26+
27+
The project includes several useful Makefile targets for development and deployment:
28+
29+
==== Docker Commands
30+
- `make docker-dev` - Start development server using Docker Compose
31+
- `make docker-shell` - Open an interactive shell in the Docker container
32+
- `make docker-clean` - Clean up Docker containers and system resources
33+
34+
==== Build Commands
35+
- `make build` - Build the Jekyll site into `_site` directory
36+
- `make preview` - Build and serve the site locally with live reload
37+
- `make clean` - Clean up generated files
38+
39+
==== Testing and Quality
40+
- `make test-before-build` - Run pre-build tests (Markdown linting)
41+
- `make test-after-build` - Run post-build tests (link checking, duplicate anchors)
42+
- `make all` - Complete build and test pipeline
43+
44+
==== Output Formats
45+
- `make html` - Generate single-page HTML version
46+
- `make pdf` - Generate PDF version
47+
- `make epub` - Generate EPUB version
48+
- `make publish` - Full publish pipeline with all formats
49+
- `make production` - Production build with all tests
50+
51+
=== Development Workflow
52+
53+
1. Local Development: Use `docker compose up dev` or `make docker-dev` to start the development server
54+
2. Shell Access: Use `make docker-shell` to access the container for debugging or manual commands
55+
3. Testing: Run `make all` before submitting changes to ensure everything builds and passes tests
56+
4. Cleanup: Use `make docker-clean` to clean up containers and free disk space
57+
58+
=== Dependencies
59+
60+
The project uses:
61+
- Jekyll for static site generation
62+
- Asciidoctor for processing AsciiDoc files
63+
- Mermaid CLI for diagram generation
64+
- HTMLProofer for link checking
65+
- Markdownlint for Markdown validation
66+
67+
All dependencies are managed through the Docker container, so you don't need to install anything locally except Docker.
68+
69+
=== Contributing
70+
71+
See https://github.com/chaincodelabs/onboarding-to-bitcoin-core/blob/master/asciidoc_workflow.adoc[asciidoc_workflow.adoc] for detailed contributing guidelines and AsciiDoc formatting instructions.

0 commit comments

Comments
 (0)