<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Portfolio | Suecreamm</title><link>https://suecreamm.github.io/portfolio/</link><atom:link href="https://suecreamm.github.io/portfolio/index.xml" rel="self" type="application/rss+xml"/><description>Portfolio</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Tue, 08 Sep 2026 00:00:00 +0000</lastBuildDate><image><url>https://suecreamm.github.io/media/logo.svg</url><title>Portfolio</title><link>https://suecreamm.github.io/portfolio/</link></image><item><title>Electron–Phonon Coupling with EPW</title><link>https://suecreamm.github.io/portfolio/pb-epw/</link><pubDate>Tue, 08 Sep 2026 00:00:00 +0000</pubDate><guid>https://suecreamm.github.io/portfolio/pb-epw/</guid><description>&lt;p>&lt;a href="https://github.com/suecreamm/materials/tree/main/04Pb/calc" target="_blank" rel="noopener">View Source Code on GitHub ↗&lt;/a>&lt;/p>
&lt;div id="github-readme">
Loading project documentation...
&lt;/div>
&lt;script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js">&lt;/script>
&lt;script>
const repo = "suecreamm/materials";
const branch = "main";
const basePath = "04Pb/calc";
const readmePath = `${basePath}/README.md`;
const rawBase =
`https://raw.githubusercontent.com/${repo}/${branch}/${basePath}/`;
const githubBase =
`https://github.com/${repo}/blob/${branch}/${basePath}/`;
fetch(
`https://raw.githubusercontent.com/${repo}/${branch}/${readmePath}`
)
.then(response => {
if (!response.ok) {
throw new Error("Failed to load README");
}
return response.text();
})
.then(markdown => {
// Fix relative paths in HTML &lt;img> tags
markdown = markdown.replace(
/&lt;img([^>]*?)src=["']([^"']+)["']([^>]*?)>/g,
(match, before, src, after) => {
if (
!src.startsWith("http://") &amp;&amp;
!src.startsWith("https://")
) {
src = rawBase + src;
}
return `&lt;img${before}src="${src}"${after}>`;
}
);
const renderer = new marked.Renderer();
// Fix Markdown image paths: ![](image.png)
renderer.image = function({ href, title, text }) {
if (
!href.startsWith("http://") &amp;&amp;
!href.startsWith("https://")
) {
href = rawBase + href;
}
return `
&lt;img
src="${href}"
alt="${text || ""}"
title="${title || ""}"
style="
max-width: 100%;
height: auto;
display: block;
margin: 1.5rem auto;
"
>
`;
};
// Fix relative links to files/directories in the GitHub repo
renderer.link = function({ href, title, tokens }) {
const text = this.parser.parseInline(tokens);
if (
!href.startsWith("http://") &amp;&amp;
!href.startsWith("https://") &amp;&amp;
!href.startsWith("#")
) {
href = githubBase + href;
}
return `
&lt;a
href="${href}"
${title ? `title="${title}"` : ""}
target="_blank"
rel="noopener noreferrer"
>
${text}
&lt;/a>
`;
};
document.getElementById("github-readme").innerHTML =
marked.parse(markdown, {
renderer,
gfm: true
});
})
.catch(error => {
document.getElementById("github-readme").innerHTML =
"&lt;p>Could not load the project README.&lt;/p>";
console.error(error);
});
&lt;/script></description></item><item><title>Online CNT Generator</title><link>https://suecreamm.github.io/portfolio/cnt/</link><pubDate>Fri, 17 Feb 2023 00:00:00 +0000</pubDate><guid>https://suecreamm.github.io/portfolio/cnt/</guid><description>&lt;p>&lt;a href="https://suecreamm.github.io/cnt_generator/" target="_blank" rel="noopener">Open CNT Generator ↗&lt;/a>&lt;/p>
&lt;p>&lt;a href="https://github.com/suecreamm/cnt_generator" target="_blank" rel="noopener">View Source Code on GitHub ↗&lt;/a>&lt;/p>
&lt;div id="github-readme">
Loading project documentation...
&lt;/div>
&lt;script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js">&lt;/script>
&lt;script>
const repo = "suecreamm/cnt_generator";
const branch = "main";
const rawBase =
`https://raw.githubusercontent.com/${repo}/${branch}/`;
const githubBase =
`https://github.com/${repo}/blob/${branch}/`;
fetch(`${rawBase}README.md`)
.then(response => {
if (!response.ok) {
throw new Error(`Failed to load README: ${response.status}`);
}
return response.text();
})
.then(markdown => {
// Fix relative Markdown image paths
markdown = markdown.replace(
/!\[([^\]]*)\]\((?!https?:\/\/)([^)]+)\)/g,
(match, alt, src) =>
`![${alt}](${rawBase}${src})`
);
// Fix relative HTML &lt;img> paths
markdown = markdown.replace(
/(&lt;img[^>]+src=["'])(?!https?:\/\/)([^"']+)(["'][^>]*>)/g,
`$1${rawBase}$2$3`
);
// Fix relative Markdown links
markdown = markdown.replace(
/\[([^\]]+)\]\((?!https?:\/\/|#)([^)]+)\)/g,
(match, text, href) =>
`[${text}](${githubBase}${href})`
);
document.getElementById("github-readme").innerHTML =
marked.parse(markdown);
})
.catch(error => {
document.getElementById("github-readme").innerHTML =
`&lt;p>Could not load the project README.&lt;/p>`;
console.error(error);
});
&lt;/script></description></item></channel></rss>