|
1 | | -# Kaivalya Dabhadkar's Blog |
| 1 | +# Blog |
2 | 2 |
|
3 | | -A beautiful Quarto-based blog focused on Mathematics and Artificial Intelligence, featuring modern design and interactive content. |
4 | | - |
5 | | -## π Features |
6 | | - |
7 | | -- **Beautiful Design**: Modern, clean interface with gradient accents and smooth animations |
8 | | -- **Math Support**: Full LaTeX rendering for mathematical equations |
9 | | -- **Code Highlighting**: Syntax highlighting for multiple programming languages |
10 | | -- **Responsive Layout**: Mobile-friendly design that works on all devices |
11 | | -- **Categories & Tags**: Organized content with filterable categories |
12 | | -- **Search Functionality**: Built-in search to find content quickly |
13 | | -- **Comments**: Utterances integration for GitHub-based comments |
14 | | - |
15 | | -## π Project Structure |
16 | | - |
17 | | -``` |
18 | | -blog/ |
19 | | -βββ _quarto.yml # Main configuration file |
20 | | -βββ index.qmd # Homepage |
21 | | -βββ about.qmd # About page |
22 | | -βββ styles.css # Custom CSS styles |
23 | | -βββ theme-light.scss # Light theme configuration |
24 | | -βββ theme-dark.scss # Dark theme configuration |
25 | | -βββ profile.jpg # Profile image |
26 | | -βββ posts/ # Blog posts directory |
27 | | -β βββ _metadata.yml # Global post settings |
28 | | -β βββ fourier-transform/ |
29 | | -β β βββ index.qmd # Math concept post |
30 | | -β βββ transformers-explained/ |
31 | | -β βββ index.qmd # AI concept post |
32 | | -βββ templates/ # Post templates |
33 | | -β βββ POST_TEMPLATE.qmd # Basic post template |
34 | | -β βββ EXAMPLE_philosophy_post.qmd # Example for new topics |
35 | | -βββ EXTENDING_BLOG.md # Guide for extending the blog |
36 | | -``` |
37 | | - |
38 | | -## π οΈ Setup & Installation |
39 | | - |
40 | | -### Prerequisites |
41 | | - |
42 | | -1. **Install Quarto**: Download and install from [quarto.org](https://quarto.org/docs/get-started/) |
43 | | - ```bash |
44 | | - # Ubuntu/Debian |
45 | | - wget https://github.com/quarto-dev/quarto-cli/releases/download/v1.4.549/quarto-1.4.549-linux-amd64.deb |
46 | | - sudo dpkg -i quarto-1.4.549-linux-amd64.deb |
47 | | - |
48 | | - # macOS |
49 | | - brew install quarto |
50 | | - |
51 | | - # Windows |
52 | | - # Download installer from quarto.org |
53 | | - ``` |
54 | | - |
55 | | -2. **Install Python dependencies** (optional, for code execution in posts): |
56 | | - ```bash |
57 | | - pip install jupyter matplotlib numpy pandas |
58 | | - ``` |
59 | | - |
60 | | -### Building the Blog |
61 | | - |
62 | | -1. **Preview locally** (with live reload): |
63 | | - ```bash |
64 | | - quarto preview |
65 | | - ``` |
66 | | - This will open your blog at `http://localhost:4000` |
67 | | - |
68 | | -2. **Build static site**: |
69 | | - ```bash |
70 | | - quarto render |
71 | | - ``` |
72 | | - This creates the static site in `_site/` directory |
73 | | - |
74 | | -## βοΈ Writing Posts |
75 | | - |
76 | | -### Creating a New Post |
77 | | - |
78 | | -1. Create a new directory in `posts/`: |
79 | | - ```bash |
80 | | - mkdir posts/my-new-post |
81 | | - ``` |
82 | | - |
83 | | -2. Copy the template and customize it: |
84 | | - ```bash |
85 | | - cp templates/POST_TEMPLATE.qmd posts/my-new-post/index.qmd |
86 | | - ``` |
87 | | - |
88 | | -3. Edit your post with the appropriate frontmatter: |
89 | | - ```markdown |
90 | | - --- |
91 | | - title: "Your Post Title" |
92 | | - subtitle: "Optional subtitle" |
93 | | - author: "Kaivalya Dabhadkar" |
94 | | - date: "2024-01-25" |
95 | | - categories: [Mathematics, AI, Deep Learning] # Choose relevant categories |
96 | | - image: "thumbnail.jpg" # Optional thumbnail |
97 | | - draft: false # Set to true to hide from listings |
98 | | - toc: true |
99 | | - --- |
100 | | - |
101 | | - ## Introduction |
102 | | - |
103 | | - Your content here... |
104 | | - ``` |
105 | | - |
106 | | -### Writing Mathematics |
107 | | - |
108 | | -Use LaTeX syntax for equations: |
109 | | - |
110 | | -- **Inline math**: `$e^{i\pi} + 1 = 0$` |
111 | | -- **Display math**: |
112 | | - ```markdown |
113 | | - $$ |
114 | | - \int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi} |
115 | | - $$ |
116 | | - ``` |
117 | | - |
118 | | -### Including Code |
119 | | - |
120 | | -Use triple backticks with language specification: |
121 | | - |
122 | | -````markdown |
123 | | -```python |
124 | | -import numpy as np |
125 | | - |
126 | | -def sigmoid(x): |
127 | | - return 1 / (1 + np.exp(-x)) |
128 | | -``` |
129 | | -```` |
130 | | - |
131 | | -For executable code blocks: |
132 | | -````markdown |
133 | | -```{python} |
134 | | -#| echo: true |
135 | | -#| code-fold: true |
136 | | - |
137 | | -import matplotlib.pyplot as plt |
138 | | -plt.plot([1, 2, 3], [1, 4, 9]) |
139 | | -plt.show() |
140 | | -``` |
141 | | -```` |
142 | | - |
143 | | -### Adding Images |
144 | | - |
145 | | -Place images in your post directory and reference them: |
146 | | -```markdown |
147 | | - |
148 | | -``` |
149 | | - |
150 | | -### Using Callouts |
151 | | - |
152 | | -Quarto supports various callout types: |
153 | | - |
154 | | -```markdown |
155 | | -:::{.callout-note} |
156 | | -## Note Title |
157 | | -This is a note callout. |
158 | | -::: |
159 | | - |
160 | | -:::{.callout-tip} |
161 | | -## Pro Tip |
162 | | -This is a tip callout. |
163 | | -::: |
164 | | - |
165 | | -:::{.callout-warning} |
166 | | -## Warning |
167 | | -This is a warning callout. |
168 | | -::: |
169 | | - |
170 | | -:::{.callout-important} |
171 | | -## Important |
172 | | -This is an important callout. |
173 | | -::: |
174 | | -``` |
175 | | - |
176 | | -## π¨ Customization |
177 | | - |
178 | | -### Modifying Themes |
179 | | - |
180 | | -- Edit `theme-light.scss` for light mode colors |
181 | | -- Edit `theme-dark.scss` for dark mode colors |
182 | | -- Modify `styles.css` for custom styling |
183 | | - |
184 | | -### Changing Navigation |
185 | | - |
186 | | -Edit the `navbar` section in `_quarto.yml`: |
187 | | -```yaml |
188 | | -navbar: |
189 | | - left: |
190 | | - - text: "New Page" |
191 | | - href: newpage.qmd |
192 | | -``` |
193 | | -
|
194 | | -### Categories |
195 | | -
|
196 | | -Add new categories by using them in post frontmatter. They'll automatically appear in the filter UI. |
197 | | -
|
198 | | -## π Deployment |
199 | | -
|
200 | | -### GitHub Pages |
201 | | -
|
202 | | -1. Create a GitHub repository |
203 | | -2. Push your blog code |
204 | | -3. Enable GitHub Pages in repository settings |
205 | | -4. Add GitHub Actions workflow (`.github/workflows/publish.yml`): |
206 | | - |
207 | | -```yaml |
208 | | -name: Publish Quarto Blog |
209 | | -
|
210 | | -on: |
211 | | - push: |
212 | | - branches: [main] |
213 | | -
|
214 | | -jobs: |
215 | | - build-deploy: |
216 | | - runs-on: ubuntu-latest |
217 | | - steps: |
218 | | - - uses: actions/checkout@v3 |
219 | | - |
220 | | - - name: Set up Quarto |
221 | | - uses: quarto-dev/quarto-actions/setup@v2 |
222 | | - |
223 | | - - name: Render and Publish |
224 | | - uses: quarto-dev/quarto-actions/publish@v2 |
225 | | - with: |
226 | | - target: gh-pages |
227 | | -``` |
228 | | - |
229 | | -### Netlify |
230 | | - |
231 | | -1. Connect your GitHub repository to Netlify |
232 | | -2. Set build command: `quarto render` |
233 | | -3. Set publish directory: `_site` |
234 | | - |
235 | | -### Custom Domain |
236 | | - |
237 | | -Add a `CNAME` file in the root with your domain: |
238 | | -``` |
239 | | -blog.yourdomain.com |
240 | | -``` |
241 | | - |
242 | | -## π Tips for Writing |
243 | | - |
244 | | -### For Mathematical Content |
245 | | - |
246 | | -- Start with intuition before diving into formalism |
247 | | -- Use visualizations to explain complex concepts |
248 | | -- Provide concrete examples |
249 | | -- Include both theoretical and practical perspectives |
250 | | - |
251 | | -### For AI/ML Content |
252 | | - |
253 | | -- Include code implementations |
254 | | -- Explain the math behind algorithms |
255 | | -- Use diagrams for architecture visualization |
256 | | -- Provide practical applications and use cases |
257 | | - |
258 | | -### General Best Practices |
259 | | - |
260 | | -- Use descriptive titles and subtitles |
261 | | -- Include a compelling introduction |
262 | | -- Break content into digestible sections |
263 | | -- Add a conclusion summarizing key points |
264 | | -- Include references and further reading |
265 | | - |
266 | | -## π§ Troubleshooting |
267 | | - |
268 | | -### Common Issues |
269 | | - |
270 | | -1. **LaTeX not rendering**: Ensure MathJax is properly loaded |
271 | | -2. **Images not showing**: Check file paths and extensions |
272 | | -3. **Dark mode not working**: Clear browser cache |
273 | | -4. **Build errors**: Run `quarto check` to diagnose |
274 | | - |
275 | | -### Getting Help |
276 | | - |
277 | | -- Quarto documentation: [quarto.org/docs](https://quarto.org/docs/websites/website-blog.html) |
278 | | -- Quarto discussions: [github.com/quarto-dev/quarto-cli/discussions](https://github.com/quarto-dev/quarto-cli/discussions) |
279 | | - |
280 | | -## π License |
281 | | - |
282 | | -This blog template is open source. Feel free to use and modify it for your own blog! |
283 | | - |
284 | | -## π€ Contributing |
285 | | - |
286 | | -If you'd like to contribute posts or improvements: |
287 | | -1. Fork the repository |
288 | | -2. Create a new branch |
289 | | -3. Make your changes |
290 | | -4. Submit a pull request |
291 | | - |
292 | | -## π¬ Contact |
293 | | - |
294 | | -- GitHub: [@Kaivalya1997](https://github.com/Kaivalya1997) |
295 | | -- LinkedIn: [Kaivalya Dabhadkar](https://linkedin.com/in/kaivalya-dabhadkar-384a47151) |
296 | | - |
297 | | ---- |
298 | | - |
299 | | -Happy blogging! π Feel free to reach out if you have any questions or suggestions. |
| 3 | +Visit my blog at: https://kaivalya1997.github.io/blog |
0 commit comments