This pull request introduces several documentation improvements and adds comprehensive Copilot and agent instruction files to the al-folio repository. The most significant changes are the addition of repository-wide and path-specific Copilot instructions, updates to agent documentation to reference these instructions, and improvements to the documentation structure and clarity regarding file purposes and workflows. **Copilot and Agent Instruction Enhancements:** - Added a new `.github/copilot-instructions.md` file providing detailed, repository-wide setup, build, CI/CD, troubleshooting, and file format guidance for Copilot coding agents. - Introduced `.github/instructions/bibtex-bibliography.instructions.md` with specific instructions for editing and validating BibTeX files, including custom keywords, formatting rules, and integration with Jekyll-Scholar. - Updated agent documentation files (`customize.agent.md`, `docs.agent.md`) to reference the new Copilot instruction files and explain their purpose and usage for both repository-wide and path-specific scenarios. [[1]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L57-R65) [[2]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L107-R122) [[3]](diffhunk://#diff-961a46180ce568ce43c20bf7129dc5e4926a9aa4e0d7bc19926ca5ee3ff95cd0L49-R51) [[4]](diffhunk://#diff-961a46180ce568ce43c20bf7129dc5e4926a9aa4e0d7bc19926ca5ee3ff95cd0L106-R137) **Documentation Structure and Clarity Improvements:** - Clarified and reorganized the documentation file list in agent files, removing references to deprecated or merged files (e.g., `MAINTENANCE.md`, `ACCESSIBILITY.md`) and updating descriptions to reflect current usage. [[1]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L57-R65) [[2]](diffhunk://#diff-961a46180ce568ce43c20bf7129dc5e4926a9aa4e0d7bc19926ca5ee3ff95cd0L21-R21) [[3]](diffhunk://#diff-961a46180ce568ce43c20bf7129dc5e4926a9aa4e0d7bc19926ca5ee3ff95cd0L106-R137) - Enhanced documentation on the purpose and application of each documentation file, and added detailed explanations of Copilot instruction files and their role in project development. **Workflow and Validation Updates:** - Updated references and descriptions for GitHub Actions workflows in agent documentation to include the Copilot environment setup and clarify pre-commit and CI/CD requirements. [[1]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L57-R65) [[2]](diffhunk://#diff-961a46180ce568ce43c20bf7129dc5e4926a9aa4e0d7bc19926ca5ee3ff95cd0L49-R51) - Corrected references for accessibility guidance, now directing users to `TROUBLESHOOTING.md` instead of the removed `ACCESSIBILITY.md`. These changes collectively improve the onboarding experience for both human contributors and AI agents, ensuring consistent adherence to project conventions and reducing errors. **References:** [[1]](diffhunk://#diff-227c2c26cb2ee0ce0f46a320fc48fbcbdf21801a57f59161b1d0861e8aad55f5R1-R253) [[2]](diffhunk://#diff-6fd2827fb8d9c2dd6dc973572201853487ecbbd1120b00425d4f1c21dfdcf35fR1-R174) [[3]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L57-R65) [[4]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L107-R122) [[5]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L550-R562) [[6]](diffhunk://#diff-961a46180ce568ce43c20bf7129dc5e4926a9aa4e0d7bc19926ca5ee3ff95cd0L21-R21) [[7]](diffhunk://#diff-961a46180ce568ce43c20bf7129dc5e4926a9aa4e0d7bc19926ca5ee3ff95cd0L49-R51) [[8]](diffhunk://#diff-961a46180ce568ce43c20bf7129dc5e4926a9aa4e0d7bc19926ca5ee3ff95cd0L106-R137) --------- Signed-off-by: George Araújo <george.gcac@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
5.9 KiB
5.9 KiB
| applyTo |
|---|
| _books/**/*.md,_news/**/*.md,_pages/**/*.md,_posts/**/*.md,_projects/**/*.md,_teachings/**/*.md |
Content Files (Markdown) Instructions
File Organization
Content in al-folio is organized by type:
- _books/ – Book reviews and summaries
- _news/ – News/announcements
- _pages/ – Static pages (about, CV, publications, projects, etc.)
- _posts/ – Blog posts (format:
YYYY-MM-DD-title.md) - _projects/ – Project showcase entries
- _teachings/ – Course and teaching information
Frontmatter Structure
Every markdown file requires YAML frontmatter at the top. The structure varies by content type.
Book Frontmatter (_books/)
---
layout: book-review
title: Book Title
author: Book Author Name
publisher: Publisher Name
year: 2023
rating: 8/10
img: /assets/img/book-cover.jpg
---
News Frontmatter (_news/)
---
layout: post
title: News Title
date: YYYY-MM-DD
---
Page Frontmatter (_pages/)
---
layout: page
title: Page Title
permalink: /pathname/
description: Brief description for metadata
---
Blog Post Frontmatter (_posts/)
---
layout: post
title: Post Title
date: YYYY-MM-DD
categories: category-name
description: Brief description
---
Important: Post filenames MUST follow format: YYYY-MM-DD-title.md (hyphen-separated words)
Project Frontmatter (_projects/)
---
layout: page
title: Project Name
description: Short description
img: /assets/img/project-image.jpg
importance: 1
---
Teaching/Course Frontmatter (_teachings/)
---
layout: page
title: Course Title
description: Course description
---
Special Frontmatter Fields
For Books
- author: Author name or comma-separated list
- publisher: Publisher name
- year: Publication year
- rating: Personal rating (e.g.,
8/10) - img: Path to book cover image (
/assets/img/...)
For Blog Posts
- categories: Tag for post organization (single word, no spaces)
- related_posts: Set to
falseto disable related posts display (useful for short posts)
For Projects
- importance: Integer (1, 2, 3...) – higher = featured first
- img: Path to thumbnail image (
/assets/img/...) - featured: Set to
trueto display on main projects section
Date Format
Always use ISO 8601: YYYY-MM-DD (e.g., 2023-12-25)
Markdown Content
Basic Markdown Syntax
# Heading 1
## Heading 2
### Heading 3
**bold text**
_italic text_
`inline code`
- List item 1
- List item 2
[Link text](https://url.com)

al-folio-Specific Features
Includes/Shortcodes
{% include figure.liquid ... %}– Responsive images with captions{% include audio.liquid ... %}– Audio player{% include video.liquid ... %}– Video player{% include bib_search.liquid ... %}– Bibliography search{% include calendar.liquid ... %}– Event calendar
Math Support
Inline: $E = mc^2$
Display mode:
$$\int_0^1 f(x) dx$$
Code Blocks
```python
def hello():
print("Hello, world!")
```
Blockquotes
> This is a quote
>
> > Nested quote
Jekyll Features Available
- Liquid variables:
{{ site.title }},{{ page.title }} - Collections:
{{ site.posts }},{{ site.projects }} - Filters:
| date: format,| where: key value - Tags:
{% if condition %} ... {% endif %}
Common Content Patterns
Creating a Blog Post
- Create file:
_posts/YYYY-MM-DD-my-post.md - Add frontmatter with
layout: post,title,date,categories - Write markdown content
- Test:
docker compose up→ http://localhost:8080/blog - Post will appear in reverse chronological order
Creating a Project Entry
- Create file:
_projects/project-name.md - Add frontmatter with
layout: page,title,description,img,importance - Write markdown content describing the project
- Test:
docker compose up→ http://localhost:8080/projects
Adding Images
{% include figure.liquid path="/assets/img/example.jpg" title="Image caption" %}
Linking to Other Pages
[About Me](/about/)
[My CV](/cv/)
[Blog Post]({% link _posts/2023-01-15-my-post.md %})
Testing & Validation
Before Committing
- Frontmatter syntax: Verify YAML is valid (no unclosed quotes, proper indentation)
- Date format: Check
YYYY-MM-DDformat is correct - Build test:
docker compose down docker compose up # Wait for "Server running" message # Navigate to your content in browser # Verify formatting, images, and links work
Common Issues
- Post not appearing: Check
dateis today or earlier, filename format is correct - Images not loading: Verify path starts with
/assets/, file exists - Related posts error: Content has no meaningful words; add more text or set
related_posts: false
File Naming Conventions
Blog Posts
- Format:
YYYY-MM-DD-title-with-hyphens.md - Example:
2023-12-25-christmas-post.md - Words separated by hyphens, no spaces
Projects
- Format:
project-name.md - Example:
my-research-project.md - Use hyphens for readability
Pages
- Format:
descriptive-name.md - Example:
about.md,teaching.md,cv.md
Markdown Linting & Formatting
The Prettier formatter applies to markdown files:
- Line length: Soft wrap at 88 characters
- Lists: Consistent bullet formatting
- Code blocks: Proper fence syntax
- Spacing: Consistent blank lines
Always run before committing:
npx prettier --write .
Trust These Instructions
When creating or editing content:
- Follow the frontmatter structure for your content type
- Test locally with
docker compose upto verify appearance - Check date format, filename format, and image paths
- Only search for advanced features if frontmatter or markdown error messages appear