Jelajahi Sumber

Upload files to ''

parv.ashwani 3 minggu lalu
induk
melakukan
78983a15b1
1 mengubah file dengan 330 tambahan dan 0 penghapusan
  1. 330 0
      cover.html

+ 330 - 0
cover.html

@@ -0,0 +1,330 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="UTF-8">
+<script src="https://unpkg.com/docx@9.5.0/build/index.js"></script>
+<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script>
+<style>
+*{box-sizing:border-box;margin:0;padding:0;}
+body{font-family:var(--font-sans,system-ui,sans-serif);background:transparent;}
+.app{display:grid;grid-template-columns:300px 1fr;min-height:640px;}
+.sidebar{background:var(--color-background-secondary);border-right:0.5px solid var(--color-border-tertiary);padding:1.25rem 1rem;display:flex;flex-direction:column;gap:.85rem;overflow-y:auto;}
+h2{font-size:11px;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.07em;}
+.field{display:flex;flex-direction:column;gap:5px;}
+.field label{font-size:12px;color:var(--color-text-secondary);font-weight:500;}
+.field input,.field textarea{font-size:13px;padding:7px 10px;border:0.5px solid var(--color-border-secondary);border-radius:8px;background:var(--color-background-primary);color:var(--color-text-primary);font-family:inherit;outline:none;}
+.field input:focus,.field textarea:focus{border-color:#185FA5;box-shadow:0 0 0 2px rgba(24,95,165,0.15);}
+.field textarea{resize:vertical;min-height:54px;}
+.toggle-row{display:flex;align-items:center;gap:8px;}
+.toggle{position:relative;width:36px;height:20px;flex-shrink:0;}
+.toggle input{opacity:0;width:0;height:0;}
+.slider{position:absolute;inset:0;border-radius:20px;background:var(--color-border-secondary,#ccc);cursor:pointer;transition:background .2s;}
+.toggle input:checked+.slider{background:#185FA5;}
+.slider:before{content:'';position:absolute;width:14px;height:14px;left:3px;top:3px;border-radius:50%;background:#fff;transition:transform .2s;}
+.toggle input:checked+.slider:before{transform:translateX(16px);}
+.toggle-label{font-size:12px;color:var(--color-text-secondary);}
+.fmt-row{display:flex;gap:8px;}
+.fmt-btn{flex:1;padding:7px 0;font-size:12px;font-weight:500;border:0.5px solid var(--color-border-secondary);border-radius:8px;cursor:pointer;background:var(--color-background-primary);color:var(--color-text-secondary);transition:all .15s;}
+.fmt-btn.active{background:#185FA5;color:#fff;border-color:#185FA5;}
+.dl-btn{width:100%;padding:10px;font-size:13px;font-weight:500;border-radius:8px;border:none;cursor:pointer;background:#185FA5;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .15s;margin-top:auto;}
+.dl-btn:disabled{opacity:.55;cursor:not-allowed;}
+.dl-btn:hover:not(:disabled){opacity:.85;}
+.hint{font-size:11px;color:var(--color-text-tertiary);}
+.sep{border:none;border-top:0.5px solid var(--color-border-tertiary);margin:.1rem 0;}
+.preview-wrap{background:#e0dedd;padding:1.5rem;overflow-y:auto;display:flex;justify-content:center;}
+.page{background:#fff;width:100%;max-width:560px;min-height:760px;padding:2.2rem 2.5rem;box-shadow:0 2px 20px rgba(0,0,0,0.12);font-family:Calibri,Georgia,serif;color:#1a1a1a;font-size:11.5px;line-height:1.6;}
+.ltr-name{font-size:21px;font-weight:700;text-align:center;color:#1a1a1a;}
+.ltr-sub{font-size:10.5px;text-align:center;color:#555;font-style:italic;margin-top:2px;}
+.ltr-contact{font-size:9.5px;text-align:center;color:#555;margin-top:2px;}
+.ltr-rule{border:none;border-top:1.5px solid #1A5276;margin:10px 0 14px;}
+.ltr-date{font-size:10.5px;color:#555;margin-bottom:10px;}
+.ltr-addr{font-size:11px;margin-bottom:2px;}
+.ltr-subject{font-size:11px;font-weight:700;color:#1A5276;margin:10px 0 8px;}
+.ltr-body{margin-bottom:7px;text-align:justify;}
+.ltr-closing{margin-top:14px;}
+.ltr-sig{font-weight:700;margin-top:22px;}
+.fname{font-size:11.5px;color:var(--color-text-primary);word-break:break-all;}
+</style>
+</head>
+<body>
+<div class="app">
+  <aside class="sidebar">
+    <h2>Customise</h2>
+
+    <div class="field">
+      <label>Date</label>
+      <div class="toggle-row">
+        <label class="toggle">
+          <input type="checkbox" id="useToday" checked>
+          <span class="slider"></span>
+        </label>
+        <span class="toggle-label">Use today's date</span>
+      </div>
+      <div id="dateRow" style="display:none;flex-direction:column;gap:4px;">
+        <input type="text" id="dateInput" maxlength="8" placeholder="DDMMYYYY" style="margin-top:4px;">
+        <span class="hint" id="dateHint"></span>
+      </div>
+      <span class="hint" id="todayHint"></span>
+    </div>
+
+    <hr class="sep">
+
+    <div class="field">
+      <label>Hiring Manager Name</label>
+      <input type="text" id="manager" placeholder="e.g. Sarah Johnson">
+      <span class="hint" id="greetHint">Used in greeting: Dear Hiring Manager,</span>
+    </div>
+
+    <div class="field">
+      <label>Company Name</label>
+      <input type="text" id="company" placeholder="e.g. Google">
+    </div>
+
+    <div class="field">
+      <label>Subject Line</label>
+      <textarea id="subject" rows="3">Application for DevOps / Network Security / SOC Engineer Role</textarea>
+    </div>
+
+    <hr class="sep">
+
+    <div class="field">
+      <label>Format</label>
+      <div class="fmt-row">
+        <button class="fmt-btn active" id="btnDocx" onclick="setFmt('docx')">DOCX</button>
+        <button class="fmt-btn" id="btnPdf" onclick="setFmt('pdf')">PDF</button>
+      </div>
+    </div>
+
+    <button class="dl-btn" id="dlBtn" onclick="doDownload()">
+      ↓ Download DOCX
+    </button>
+    <span class="hint" id="fnameHint" style="text-align:center;">Parv_Ashwani_Cover_Company.docx</span>
+  </aside>
+
+  <div class="preview-wrap">
+    <div class="page" id="previewPage">
+      <div class="ltr-name">PARV ASHWANI</div>
+      <div class="ltr-sub">Network &amp; Security Engineer | DevOps | Cloud Infrastructure</div>
+      <div class="ltr-contact">parvashwaniofficial@gmail.com | +91 7007682851 | Lucknow, India | linkedin.com/in/parvashwani</div>
+      <hr class="ltr-rule">
+      <div class="ltr-date" id="pvDate"></div>
+      <div class="ltr-addr" style="font-weight:700;" id="pvManager">Hiring Manager</div>
+      <div class="ltr-addr" id="pvCompany">[Company Name]</div>
+      <div class="ltr-subject">Re: <span id="pvSubject">Application for DevOps / Network Security / SOC Engineer Role</span></div>
+      <p class="ltr-body" id="pvGreet">Dear Hiring Manager,</p>
+      <p class="ltr-body">I am writing to express my strong interest in a DevOps, Network Security, or SOC Analyst role at your organisation. With over 1.5 years of professional experience at HCLTech as a Tech Lead for Citrix NetScaler operations, a Microsoft Azure Network Engineer Associate certification, and a deep passion for automation and infrastructure reliability, I am confident I can deliver immediate and lasting value to your team.</p>
+      <p class="ltr-body">At HCLTech, I have been the go-to engineer for complex Citrix CVAD and NetScaler challenges, leading root-cause analysis through detailed network trace and log review using tools like Wireshark and TShark. Beyond my individual contributions, I have taken on a mentorship role, guiding other engineers through Linux and FreeBSD administration, cloud architecture patterns across AWS, Azure, and GCP, and virtualisation platforms including VMware, Hyper-V, and XenServer. This breadth of knowledge positions me well for both hands-on DevOps pipelines and security operations environments.</p>
+      <p class="ltr-body">I have a strong scripting background in Python, Bash, and Shell, which I apply to automate repetitive operational tasks and build internal tooling. My personal projects, including a self-hosted Git platform, a browser-based HAR network analyser, and a SAML debugging browser extension, demonstrate my instinct to solve real engineering problems with clean, deployable software. I am equally comfortable at the terminal and in a collaborative DevOps or SOC workflow.</p>
+      <p class="ltr-body">I am particularly excited by opportunities that combine infrastructure reliability with security observability, whether that means building CI/CD pipelines, maintaining cloud networking at scale, or monitoring and responding to threats in a SOC environment. I thrive in fast-paced teams and bring an analytical, collaborative mindset to every challenge.</p>
+      <p class="ltr-body">I would welcome the opportunity to discuss how my skills and experience align with your team's needs. Thank you for your time and consideration.</p>
+      <div class="ltr-closing">Sincerely,</div>
+      <div class="ltr-sig">Parv Ashwani</div>
+    </div>
+  </div>
+</div>
+
+<script>
+var fmt = 'docx';
+
+function getTodayStr() {
+  var d = new Date();
+  var dd = String(d.getDate()).padStart(2,'0');
+  var mm = String(d.getMonth()+1).padStart(2,'0');
+  var yyyy = String(d.getFullYear());
+  return dd+mm+yyyy;
+}
+
+function formatDate(s) {
+  if (!s || s.length !== 8) return '';
+  var months = ['January','February','March','April','May','June','July','August','September','October','November','December'];
+  var dd = parseInt(s.slice(0,2),10);
+  var mm = parseInt(s.slice(2,4),10);
+  var yyyy = s.slice(4);
+  if (mm < 1 || mm > 12 || dd < 1 || dd > 31) return '';
+  return months[mm-1] + ' ' + dd + ', ' + yyyy;
+}
+
+function safeFilename(c) {
+  return (c||'Company').replace(/[^a-zA-Z0-9_ \-]/g,'').replace(/\s+/g,'_') || 'Company';
+}
+
+function getManager() { return document.getElementById('manager').value.trim() || 'Hiring Manager'; }
+function getCompany() { return document.getElementById('company').value.trim() || '[Company Name]'; }
+function getSubject() { return document.getElementById('subject').value.trim() || 'Application for DevOps / Network Security / SOC Engineer Role'; }
+function getDate() {
+  var useToday = document.getElementById('useToday').checked;
+  return formatDate(useToday ? getTodayStr() : document.getElementById('dateInput').value);
+}
+
+function setFmt(f) {
+  fmt = f;
+  document.getElementById('btnDocx').className = 'fmt-btn' + (f==='docx'?' active':'');
+  document.getElementById('btnPdf').className = 'fmt-btn' + (f==='pdf'?' active':'');
+  document.getElementById('dlBtn').textContent = '↓ Download ' + f.toUpperCase();
+  updateHint();
+}
+
+function updateHint() {
+  var c = safeFilename(getCompany());
+  document.getElementById('fnameHint').textContent = 'Parv_Ashwani_Cover_' + c + '.' + fmt;
+}
+
+function updatePreview() {
+  var m = getManager(), co = getCompany(), sub = getSubject(), dt = getDate();
+  document.getElementById('pvDate').textContent = dt;
+  document.getElementById('pvManager').textContent = m;
+  document.getElementById('pvCompany').textContent = co;
+  document.getElementById('pvSubject').textContent = sub;
+  document.getElementById('pvGreet').textContent = 'Dear ' + m + ',';
+  document.getElementById('greetHint').textContent = 'Greeting: Dear ' + m + ',';
+  updateHint();
+}
+
+document.getElementById('useToday').addEventListener('change', function() {
+  document.getElementById('dateRow').style.display = this.checked ? 'none' : 'flex';
+  document.getElementById('todayHint').textContent = this.checked ? formatDate(getTodayStr()) : '';
+  updatePreview();
+});
+
+document.getElementById('dateInput').addEventListener('input', function() {
+  var v = this.value.replace(/\D/g,'').slice(0,8);
+  this.value = v;
+  document.getElementById('dateHint').textContent = v.length===8 ? formatDate(v) : '';
+  updatePreview();
+});
+
+['manager','company','subject'].forEach(function(id) {
+  document.getElementById(id).addEventListener('input', updatePreview);
+});
+
+function init() {
+  document.getElementById('todayHint').textContent = formatDate(getTodayStr());
+  updatePreview();
+}
+init();
+
+async function doDownload() {
+  var btn = document.getElementById('dlBtn');
+  btn.disabled = true;
+  btn.textContent = 'Generating…';
+  try {
+    if (fmt === 'docx') await downloadDocx();
+    else await downloadPdf();
+  } catch(e) {
+    alert('Error: ' + e.message);
+  }
+  btn.disabled = false;
+  btn.textContent = '↓ Download ' + fmt.toUpperCase();
+}
+
+async function downloadDocx() {
+  var d = window.docx;
+  if (!d) { alert('docx library not loaded yet, please wait a moment and try again.'); return; }
+  var { Document, Packer, Paragraph, TextRun, AlignmentType, BorderStyle } = d;
+
+  var m = getManager(), co = getCompany(), sub = getSubject(), dt = getDate() || formatDate(getTodayStr());
+  var font = 'Calibri';
+
+  var paras = [
+    new Paragraph({ children: [new TextRun({ text: 'PARV ASHWANI', bold: true, size: 40, font, color: '1a1a1a' })], alignment: AlignmentType.CENTER, spacing: { after: 40 } }),
+    new Paragraph({ children: [new TextRun({ text: 'Network & Security Engineer | DevOps | Cloud Infrastructure', size: 20, font, color: '555555', italics: true })], alignment: AlignmentType.CENTER, spacing: { after: 40 } }),
+    new Paragraph({ children: [new TextRun({ text: 'parvashwaniofficial@gmail.com | +91 7007682851 | Lucknow, India | linkedin.com/in/parvashwani', size: 18, font, color: '555555' })], alignment: AlignmentType.CENTER, spacing: { after: 60 } }),
+    new Paragraph({ border: { bottom: { style: BorderStyle.SINGLE, size: 8, color: '1A5276', space: 4 } }, spacing: { before: 40, after: 120 }, children: [] }),
+    new Paragraph({ children: [new TextRun({ text: dt, size: 20, font, color: '555555' })], spacing: { before: 200, after: 80 } }),
+    new Paragraph({ children: [new TextRun({ text: m, bold: true, size: 22, font })], spacing: { after: 40 } }),
+    new Paragraph({ children: [new TextRun({ text: co, size: 22, font })], spacing: { after: 40 } }),
+    new Paragraph({ children: [new TextRun({ text: 'Re: ' + sub, bold: true, size: 21, font, color: '1A5276' })], spacing: { before: 160, after: 100 } }),
+    new Paragraph({ children: [new TextRun({ text: 'Dear ' + m + ',', size: 22, font })], spacing: { before: 80, after: 80 } }),
+  ];
+
+  var bodies = [
+    'I am writing to express my strong interest in a DevOps, Network Security, or SOC Analyst role at your organisation. With over 1.5 years of professional experience at HCLTech as a Tech Lead for Citrix NetScaler operations, a Microsoft Azure Network Engineer Associate certification, and a deep passion for automation and infrastructure reliability, I am confident I can deliver immediate and lasting value to your team.',
+    'At HCLTech, I have been the go-to engineer for complex Citrix CVAD and NetScaler challenges, leading root-cause analysis through detailed network trace and log review using tools like Wireshark and TShark. Beyond my individual contributions, I have taken on a mentorship role, guiding other engineers through Linux and FreeBSD administration, cloud architecture patterns across AWS, Azure, and GCP, and virtualisation platforms including VMware, Hyper-V, and XenServer. This breadth of knowledge positions me well for both hands-on DevOps pipelines and security operations environments.',
+    'I have a strong scripting background in Python, Bash, and Shell, which I apply to automate repetitive operational tasks and build internal tooling. My personal projects, including a self-hosted Git platform, a browser-based HAR network analyser, and a SAML debugging browser extension, demonstrate my instinct to solve real engineering problems with clean, deployable software. I am equally comfortable at the terminal and in a collaborative DevOps or SOC workflow.',
+    'I am particularly excited by opportunities that combine infrastructure reliability with security observability, whether that means building CI/CD pipelines, maintaining cloud networking at scale, or monitoring and responding to threats in a SOC environment. I thrive in fast-paced teams and bring an analytical, collaborative mindset to every challenge.',
+    'I would welcome the opportunity to discuss how my skills and experience align with your team\'s needs. Thank you for your time and consideration.',
+  ];
+
+  bodies.forEach(function(txt) {
+    paras.push(new Paragraph({ children: [new TextRun({ text: txt, size: 22, font })], spacing: { before: 80, after: 80 }, alignment: AlignmentType.JUSTIFIED }));
+  });
+
+  paras.push(new Paragraph({ children: [new TextRun({ text: 'Sincerely,', size: 22, font })], spacing: { before: 200, after: 80 } }));
+  paras.push(new Paragraph({ children: [new TextRun({ text: 'Parv Ashwani', bold: true, size: 22, font })], spacing: { before: 80 } }));
+
+  var doc = new Document({
+    sections: [{ properties: { page: { size: { width: 12240, height: 15840 }, margin: { top: 1080, right: 1080, bottom: 1080, left: 1080 } } }, children: paras }]
+  });
+
+  var buf = await Packer.toBuffer(doc);
+  var blob = new Blob([buf], { type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' });
+  triggerDownload(blob, 'Parv_Ashwani_Cover_' + safeFilename(co) + '.docx');
+}
+
+async function downloadPdf() {
+  var jsPDF = window.jspdf && window.jspdf.jsPDF;
+  if (!jsPDF) { alert('jsPDF not loaded yet.'); return; }
+  var m = getManager(), co = getCompany(), sub = getSubject(), dt = getDate() || formatDate(getTodayStr());
+  var doc = new jsPDF({ unit: 'pt', format: 'letter' });
+  var W = doc.internal.pageSize.getWidth(), mg = 54, cw = W - mg * 2;
+
+  doc.setFont('helvetica','bold'); doc.setFontSize(20); doc.setTextColor(26,26,26);
+  doc.text('PARV ASHWANI', W/2, 60, { align: 'center' });
+
+  doc.setFont('helvetica','italic'); doc.setFontSize(10); doc.setTextColor(85,85,85);
+  doc.text('Network & Security Engineer | DevOps | Cloud Infrastructure', W/2, 75, { align: 'center' });
+
+  doc.setFont('helvetica','normal'); doc.setFontSize(9);
+  doc.text('parvashwaniofficial@gmail.com | +91 7007682851 | Lucknow, India | linkedin.com/in/parvashwani', W/2, 89, { align: 'center' });
+
+  doc.setDrawColor(26,82,118); doc.setLineWidth(1.2); doc.line(mg, 98, W-mg, 98);
+
+  var y = 116, lh = 13.5;
+
+  doc.setFont('helvetica','normal'); doc.setFontSize(10); doc.setTextColor(85,85,85);
+  doc.text(dt, mg, y); y += lh * 1.5;
+
+  doc.setFont('helvetica','bold'); doc.setFontSize(11); doc.setTextColor(26,26,26);
+  doc.text(m, mg, y); y += lh;
+
+  doc.setFont('helvetica','normal');
+  doc.text(co, mg, y); y += lh * 1.6;
+
+  doc.setFont('helvetica','bold'); doc.setFontSize(10); doc.setTextColor(26,82,118);
+  var subLines = doc.splitTextToSize('Re: ' + sub, cw);
+  doc.text(subLines, mg, y); y += subLines.length * lh + 8;
+
+  doc.setFont('helvetica','normal'); doc.setFontSize(10.5); doc.setTextColor(26,26,26);
+  var bodyParas = [
+    'Dear ' + m + ',',
+    'I am writing to express my strong interest in a DevOps, Network Security, or SOC Analyst role at your organisation. With over 1.5 years of professional experience at HCLTech as a Tech Lead for Citrix NetScaler operations, a Microsoft Azure Network Engineer Associate certification, and a deep passion for automation and infrastructure reliability, I am confident I can deliver immediate and lasting value to your team.',
+    'At HCLTech, I have been the go-to engineer for complex Citrix CVAD and NetScaler challenges, leading root-cause analysis through detailed network trace and log review using tools like Wireshark and TShark. Beyond my individual contributions, I have taken on a mentorship role, guiding other engineers through Linux and FreeBSD administration, cloud architecture patterns across AWS, Azure, and GCP, and virtualisation platforms including VMware, Hyper-V, and XenServer. This breadth of knowledge positions me well for both hands-on DevOps pipelines and security operations environments.',
+    'I have a strong scripting background in Python, Bash, and Shell, which I apply to automate repetitive operational tasks and build internal tooling. My personal projects, including a self-hosted Git platform, a browser-based HAR network analyser, and a SAML debugging browser extension, demonstrate my instinct to solve real engineering problems with clean, deployable software. I am equally comfortable at the terminal and in a collaborative DevOps or SOC workflow.',
+    'I am particularly excited by opportunities that combine infrastructure reliability with security observability, whether that means building CI/CD pipelines, maintaining cloud networking at scale, or monitoring and responding to threats in a SOC environment. I thrive in fast-paced teams and bring an analytical, collaborative mindset to every challenge.',
+    'I would welcome the opportunity to discuss how my skills and experience align with your team\'s needs. Thank you for your time and consideration.'
+  ];
+
+  bodyParas.forEach(function(txt, i) {
+    var lines = doc.splitTextToSize(txt, cw);
+    var ph = doc.internal.pageSize.getHeight();
+    if (y + lines.length * lh > ph - 60) { doc.addPage(); y = mg; }
+    doc.text(lines, mg, y); y += lines.length * lh + 8;
+  });
+
+  y += 8;
+  doc.text('Sincerely,', mg, y); y += lh * 2.5;
+  doc.setFont('helvetica','bold');
+  doc.text('Parv Ashwani', mg, y);
+
+  doc.save('Parv_Ashwani_Cover_' + safeFilename(co) + '.pdf');
+}
+
+function triggerDownload(blob, name) {
+  var url = URL.createObjectURL(blob);
+  var a = document.createElement('a');
+  a.href = url; a.download = name; document.body.appendChild(a); a.click();
+  setTimeout(function() { URL.revokeObjectURL(url); document.body.removeChild(a); }, 500);
+}
+</script>
+</body>
+</html>