311 lines
9.3 KiB
JavaScript
311 lines
9.3 KiB
JavaScript
/**
|
|
* LinkedIn AI-Text Generator v2.0
|
|
* Wolfnova Innovation
|
|
*
|
|
* Detta script körs när bookmarklet aktiveras
|
|
*/
|
|
|
|
(function() {
|
|
'use strict';
|
|
|
|
// Hämta markerad text
|
|
const selectedText = window.getSelection().toString().trim();
|
|
|
|
if (!selectedText) {
|
|
alert('❌ Markera text först innan du använder LinkedIn AI!');
|
|
return;
|
|
}
|
|
|
|
// Definiera alla prompts
|
|
const prompts = [
|
|
{
|
|
emoji: '🧠',
|
|
name: 'Generera LinkedIn Text',
|
|
description: 'Filosofiskt och djupgående innehåll',
|
|
prompt: `📱 Använd linkedin-content-system skillen för att skapa djupgående LinkedIn-innehåll.
|
|
|
|
🎯 Basera innehållet på denna text/idé:
|
|
"""
|
|
${selectedText}
|
|
"""
|
|
|
|
Skapa ett filosofiskt, substansfullt LinkedIn-inlägg som:
|
|
- Utforskar teknologi och samhälle från ett djupare perspektiv
|
|
- Tänker i civilisatoriska tidsskalor, inte kvartalsmått
|
|
- Bygger trovärdighet genom substans, inte buzz
|
|
- Är anti-hype och djupt reflekterande
|
|
- Ställer existentiella frågor
|
|
|
|
✨ Inkludera relevanta emojis där det känns naturligt.`
|
|
},
|
|
{
|
|
emoji: '💡',
|
|
name: 'Skapa från idé',
|
|
description: 'Utforska och utveckla en tanke',
|
|
prompt: `💡 Använd linkedin-content-system skillen.
|
|
|
|
Jag har denna tanke/idé:
|
|
"""
|
|
${selectedText}
|
|
"""
|
|
|
|
Hjälp mig att utforska och utveckla detta till ett genomtänkt LinkedIn-inlägg som:
|
|
- Går djupare än ytan
|
|
- Kopplar till större sammanhang
|
|
- Balanserar flera perspektiv
|
|
- Bygger på filosofi och historia där relevant
|
|
- Talar till beslutsfattare och systemtänkare
|
|
|
|
✨ Inkludera emojis där passande.`
|
|
},
|
|
{
|
|
emoji: '🔄',
|
|
name: 'Omarbeta',
|
|
description: 'Anpassa befintlig text',
|
|
prompt: `🔄 Använd linkedin-content-system skillen.
|
|
|
|
Omarbeta denna text till LinkedIn-format som följer Wolfnovas filosofi:
|
|
"""
|
|
${selectedText}
|
|
"""
|
|
|
|
Behåll kärnbudskapet men fördjupa perspektivet:
|
|
- Mer filosofisk reflektion
|
|
- Långsiktigt tänkande
|
|
- Systemiskt perspektiv
|
|
- Mindre hype, mer substans
|
|
- Ställ djupare frågor
|
|
|
|
✨ Inkludera emojis där naturligt.`
|
|
},
|
|
{
|
|
emoji: '⚡',
|
|
name: 'Analysera (Bionic Reading)',
|
|
description: 'Komprimerad analys i skannbart format',
|
|
prompt: `⚡ KOMPRIMERAD ANALYS I BIONIC READING FORMAT
|
|
|
|
Analysera denna text/rapport och presentera essensen i bionic reading-format:
|
|
"""
|
|
${selectedText}
|
|
"""
|
|
|
|
📊 INSTRUKTIONER:
|
|
|
|
1. EXTRAHERA ESSENSEN:
|
|
- Identifiera kärnbudskap och huvudpoänger
|
|
- Ta bort fluff och upprepningar
|
|
- Komprimera till det väsentliga (max 30% av originallängd)
|
|
|
|
2. STRUKTURERA TYDLIGT:
|
|
- Börja med 1-mening sammanfattning
|
|
- Bullet points för huvudpoänger
|
|
- Viktigaste insikter först
|
|
|
|
3. FORMATERA I BIONIC READING:
|
|
- **Fet**stil på första delen av varje viktigt ord
|
|
- Gör texten **skan**nbar och **snabb**läst
|
|
- Hjäl**per** öga**t** att fix**a** snab**bare**
|
|
- Exemp**el:** "Syst**em** kräv**er** helhets**syn** för **att** funk**era** stab**ilt**"
|
|
|
|
4. INKLUDERA:
|
|
- 🎯 Huvudbudskap (1 mening)
|
|
- 💡 Nyckelinsikter (3-5 punkter)
|
|
- ⚠️ Varningar/risker (om relevanta)
|
|
- ✅ Slutsats/rekommendation
|
|
|
|
5. ANVÄND EMOJIS för visuell struktur
|
|
|
|
Målet: Läsaren ska kunna skanna texten på 30 sekunder och få ALL viktig information!`
|
|
}
|
|
];
|
|
|
|
// Skapa modal
|
|
const modal = createModal(prompts);
|
|
document.body.appendChild(modal);
|
|
|
|
/**
|
|
* Skapa modal UI
|
|
*/
|
|
function createModal(prompts) {
|
|
const modal = document.createElement('div');
|
|
modal.id = 'wolfnova-linkedin-ai-modal';
|
|
modal.style.cssText = `
|
|
position: fixed;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
background: white;
|
|
border-radius: 12px;
|
|
box-shadow: 0 8px 32px rgba(0,0,0,0.3);
|
|
padding: 24px;
|
|
z-index: 999999;
|
|
min-width: 420px;
|
|
max-width: 90vw;
|
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
`;
|
|
|
|
// Header
|
|
const header = document.createElement('h3');
|
|
header.style.cssText = `
|
|
margin: 0 0 16px;
|
|
color: #333;
|
|
font-size: 18px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
`;
|
|
header.innerHTML = `
|
|
<span>✨ AI-Text Generator</span>
|
|
<span style="font-size: 12px; color: #999;">v2.0 - Wolfnova</span>
|
|
`;
|
|
modal.appendChild(header);
|
|
|
|
// Buttons för varje prompt
|
|
prompts.forEach((promptData, index) => {
|
|
const button = createButton(promptData, () => {
|
|
document.body.removeChild(modal);
|
|
openClaude(promptData.prompt);
|
|
});
|
|
modal.appendChild(button);
|
|
});
|
|
|
|
// Close button
|
|
const closeBtn = document.createElement('button');
|
|
closeBtn.textContent = '✕ Stäng';
|
|
closeBtn.style.cssText = `
|
|
width: 100%;
|
|
padding: 8px;
|
|
margin-top: 16px;
|
|
border: 1px solid #ddd;
|
|
border-radius: 6px;
|
|
background: #f5f5f5;
|
|
cursor: pointer;
|
|
font-size: 12px;
|
|
transition: background 0.2s;
|
|
`;
|
|
closeBtn.onmouseover = () => closeBtn.style.background = '#e0e0e0';
|
|
closeBtn.onmouseout = () => closeBtn.style.background = '#f5f5f5';
|
|
closeBtn.onclick = () => document.body.removeChild(modal);
|
|
modal.appendChild(closeBtn);
|
|
|
|
return modal;
|
|
}
|
|
|
|
/**
|
|
* Skapa knapp för varje alternativ
|
|
*/
|
|
function createButton(promptData, onClick) {
|
|
const button = document.createElement('button');
|
|
button.style.cssText = `
|
|
width: 100%;
|
|
padding: 12px 16px;
|
|
margin: 8px 0;
|
|
border: 2px solid #e0e0e0;
|
|
border-radius: 8px;
|
|
background: #fff;
|
|
cursor: pointer;
|
|
text-align: left;
|
|
font-size: 14px;
|
|
transition: all 0.2s;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 4px;
|
|
`;
|
|
|
|
button.innerHTML = `
|
|
<div style="display: flex; align-items: center; gap: 10px;">
|
|
<span style="font-size: 20px;">${promptData.emoji}</span>
|
|
<strong style="flex: 1;">${promptData.name}</strong>
|
|
</div>
|
|
<div style="font-size: 11px; color: #666; margin-left: 30px;">
|
|
${promptData.description}
|
|
</div>
|
|
`;
|
|
|
|
button.onmouseover = () => {
|
|
button.style.background = '#f0f7ff';
|
|
button.style.borderColor = '#2c5aa0';
|
|
};
|
|
button.onmouseout = () => {
|
|
button.style.background = '#fff';
|
|
button.style.borderColor = '#e0e0e0';
|
|
};
|
|
button.onclick = onClick;
|
|
|
|
return button;
|
|
}
|
|
|
|
/**
|
|
* Öppna Claude med prompt
|
|
*/
|
|
function openClaude(prompt) {
|
|
const claudeUrl = `https://claude.ai/new?q=${encodeURIComponent(prompt)}`;
|
|
window.open(claudeUrl, '_blank');
|
|
|
|
// Visa notifikation
|
|
showNotification('✨ Öppnar Claude AI med din markerade text!');
|
|
}
|
|
|
|
/**
|
|
* Visa notifikation
|
|
*/
|
|
function showNotification(message) {
|
|
const notification = document.createElement('div');
|
|
notification.style.cssText = `
|
|
position: fixed;
|
|
top: 20px;
|
|
right: 20px;
|
|
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
color: white;
|
|
padding: 16px 24px;
|
|
border-radius: 8px;
|
|
box-shadow: 0 4px 12px rgba(0,0,0,0.3);
|
|
z-index: 9999999;
|
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
animation: slideIn 0.3s ease-out;
|
|
`;
|
|
|
|
notification.textContent = message;
|
|
document.body.appendChild(notification);
|
|
|
|
// Auto-remove efter 3 sekunder
|
|
setTimeout(() => {
|
|
notification.style.animation = 'slideOut 0.3s ease-out';
|
|
setTimeout(() => notification.remove(), 300);
|
|
}, 3000);
|
|
}
|
|
|
|
// Lägg till CSS för animationer (om inte redan finns)
|
|
if (!document.getElementById('wolfnova-animations')) {
|
|
const style = document.createElement('style');
|
|
style.id = 'wolfnova-animations';
|
|
style.textContent = `
|
|
@keyframes slideIn {
|
|
from {
|
|
transform: translateX(400px);
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
transform: translateX(0);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
@keyframes slideOut {
|
|
from {
|
|
transform: translateX(0);
|
|
opacity: 1;
|
|
}
|
|
to {
|
|
transform: translateX(400px);
|
|
opacity: 0;
|
|
}
|
|
}
|
|
`;
|
|
document.head.appendChild(style);
|
|
}
|
|
|
|
console.log('✅ LinkedIn AI-Text Generator v2.0 aktiverad!');
|
|
})();
|