Upload files to "/"
This commit is contained in:
310
linkedin-ai.js
Normal file
310
linkedin-ai.js
Normal file
@@ -0,0 +1,310 @@
|
||||
/**
|
||||
* 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!');
|
||||
})();
|
||||
Reference in New Issue
Block a user