Przejdź do treści
Biblioteka skilli
Nauka i badania · Konwersja i formaty

ieee-export

/ieee-export

Eksportuje cytowania z IEEE Xplore do formatu RIS, BibTeX lub zwykłego tekstu, także do Zotero.

Licencja
MIT
Ostatnia zmiana repozytorium
21.08.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
2
Skrypty
1
Komentarze HTML
0
Adresy URL w SKILL.md
2
Przestarzałość

Brak sygnałów. Repozytorium zmienione 21.08.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co sprawdzić przed instalacją
  • 1 skrypt w paczce. Przejrzyj je przed instalacją, bo Claude może je uruchomić.

Skrypty: scripts/push_to_zotero.py

Co robi i kiedy

Eksportuje cytowania z IEEE Xplore do formatu RIS, BibTeX lub zwykłego tekstu, także do Zotero.

Argumenty

/ieee-export [article number(s)] [format: ris|bibtex|text] [zotero]
Oryginalny opis (EN)

Exports citations from IEEE Xplore in RIS, BibTeX, or plain text format. Supports pushing to Zotero. Use when the user wants to export or save citation data for papers.

Jak działa

  1. Single Article Export (from Document Page)
  2. Batch Export (from Search Results)
  3. Zotero Push
  4. Export Format Reference
  5. Notes
Sekcje z nagłówków SKILL.md, w oryginale · 247 linii, 982 słów
Podgląd SKILL.md
---
name: ieee-export
description: Exports citations from IEEE Xplore in RIS, BibTeX, or plain text format. Supports pushing to Zotero. Use when the user wants to export or save citation data for papers.
argument-hint: "[article number(s)] [format: ris|bibtex|text] [zotero]"
version: 0.1.0
---

# IEEE Xplore Citation Export

Export article citations from IEEE Xplore. Supports Plain Text, BibTeX, RIS, RefWorks formats, and Zotero push.

## Single Article Export (from Document Page)

### Step 1: Navigate to article page (if needed)

If not already on the article page:

```
navigate_page({
  url: "{BASE_URL}/document/{ARNUMBER}/",
  initScript: "Object.defineProperty(navigator, 'webdriver', {get: () => undefined})"
})
```

### Step 2: Open "Cite This" modal and extract citation

Click the "Cite This" button, select the desired format tab, and extract the citation text:

```javascript
async (format) => {
  // format: 'text', 'bibtex', 'ris', 'refworks'
  // Wait for page to load
  for (let i = 0; i < 20; i++) {
    if (document.querySelector('.document-title')) break;
    await new Promise(r => setTimeout(r, 500));
  }

  // Click "Cite This" button
  const citeBtn = [...document.querySelectorAll('button')].find(b => b.textContent.trim() === 'Cite This');
  if (!citeBtn) return { error: 'Cite This button not found.' };
  citeBtn.click();

  // Wait for modal to appear
  await new Promise(r => setTimeout(r, 1500));

  // Map format to tab name
  const tabMap = {
    'text': 'Plain Text',
    'bibtex': 'BibTeX',
    'ris': 'RIS',
    'refworks': 'Refworks'
  };
  const tabName = tabMap[format] || 'BibTeX';

  // Click the desired format tab
  const tab = [...document.querySelectorAll('.cite-this-container a')].find(a => a.textContent.trim() === tabName);
  if (tab) tab.click();

  // Wait for content to load
  await new Promise(r => setTimeout(r, 1000));

  // Extract citation text
  const citeContent = document.querySelector('.cite-this-container .ql-editor') ||
                      document.querySelector('.cite-this-container [xplmathjax]') ||
                      document.querySelector('.cite-this-container pre');
  const citationText = citeContent?.textContent?.trim() || '';

  // Get article info for metadata
  const title = document.querySelector('.document-title span')?.textContent?.trim() || '';
  const arnumber = window.location.pathname.match(/\/document\/(\d+)/)?.[1] || '';

  // Close modal
  const closeBtn = document.querySelector('.cite-this-container .fa-times') ||
                   document.querySelector('.modal .close');
  if (closeBtn) closeBtn.click();

  return { citationText, format: tabName, title, arnumber };
}
```

### Step 3: Save or push citation

**Save to file**: Write the citation text to a local file using the appropriate extension (`.bib`, `.ris`, `.txt`).

**Push to Zotero**: See Zotero section below.

## Batch Export (from Search Results)

### Step 1: On search results page, select articles and open Export modal

```javascript
async (arnumbers) => {
  // Select articles
  const items = document.querySelectorAll('.List-results-items .result-item');
  let selected = 0;
  items.forEach(item => {
    const titleLink = item.querySelector('h3 a[href*="/document/"]');
    const docNum = titleLink?.href?.match(/\/document\/(\d+)/)?.[1] || '';
    if (arnumbers.includes(docNum)) {
      const checkbox = item.querySelector('input[type="checkbox"]');
      if (checkbox && !checkbox.checked) {
        checkbox.click();
        selected++;
      }
    }
  });

  // Click Export button — it's a button with class xpl-btn-primary and text "Export"
  // Note: The button exists in the results-actions bar, NOT inside a dropdown
  const exportBtn = [...document.querySelectorAll('button.xpl-btn-primary, button')]
    .find(b => b.textContent.trim() === 'Export');
  if (!exportBtn) return { error: 'Export button not found. Make sure you are on a search results page.' };

  // Must select at least one article before Export works
  if (selected === 0) {
    return { error: 'No articles selected. Select articles first, then export.' };
  }

  exportBtn.click();

  await new Promise(r => setTimeout(r, 2000));

  return { selected, message: 'Export modal opened. Proceed with format selection.' };
}
```

### Step 2: Select Citations tab and download

```javascript
async (format) => {
  // Click Citations tab in export modal
  const citationsTab = [...document.querySelectorAll('.nav-link')].find(a => a.textContent.trim() === 'Citations');
  if (citationsTab) citationsTab.click();

  await new Promise(r => setTimeout(r, 1000));

  // Select format radio button
  // IMPORTANT: Radio buttons are DISABLED until articles are selected in the Results tab first.
  // If radios are disabled, switch to Results tab, select articles, then come back to Citations tab.
  const formatMap = {
    'text': 'download-ascii',
    'bibtex': 'download-bibtex',
    'ris': 'download-ris',
    'refworks': 'download-refworks'
  };
  const labelFor = formatMap[format] || 'download-bibtex';

  // Find the radio by label text as fallback since for= attribute may not match id
  const allLabels = document.querySelectorAll('.export-form label, .tab-pane.active label');
  const targetLabel = [...allLabels].find(l => l.getAttribute('for') === labelFor ||
    l.textContent.trim().toLowerCase().includes(format));
  const radio = targetLabel?.querySelector('input[type="radio"]');

  if (radio) {
    if (radio.disabled) {
      return { error: 'Format radio buttons are disabled. Articles must be selected first. Use Step 1 to select articles before exporting citations.' };
    }
    radio.click();
  }

  // Select "Citation and Abstract" option
  const citAbsLabel = [...allLabels].find(l => l.getAttribute('for') === 'citation-abstract' ||
    l.textContent.trim().includes('Citation and Abstract'));
  const citAbsRadio = citAbsLabel?.querySelector('input[type="radio"]');
  if (citAbsRadio && !citAbsRadio.disabled) citAbsRadio.click();

  await new Promise(r => setTimeout(r, 500));

  // Click Download button
  const downloadBtn = [...document.querySelectorAll('.tab-pane.active button, .modal button')].find(b =>
    b.textContent.trim().includes('Download') && !b.textContent.trim().includes('Cancel')
  );
  if (downloadBtn) {
    downloadBtn.click();
    return { success: true, format };
  }

  return { error: 'Download button not found in export panel.' };
}
```

## Zotero Push

To push citations to a locally running Zotero instance. Two modes are supported:

**Prerequisites**: Zotero desktop must be running with the Connector API enabled (default on port 23119).

### Mode 1: RIS import (simple, no PDF)

After extracting RIS citation text from the Cite This modal:

```bash
python scripts/push_to_zotero.py --ris-data "{RIS_CONTENT}"
```

Or save to a file first and import:

```bash
python scripts/push_to_zotero.py --ris-file "{RIS_FILE_PATH}"
```

### Mode 2: JSON import (structured data with optional PDF attachment)

Save paper data as a JSON file, then run:

```bash
python scripts/push_to_zotero.py --json "{JSON_FILE_PATH}"
```

**JSON format** (single paper or array):

```json
{
  "title": "Paper Title",
  "authors": ["Author One", "Author Two"],
  "journal": "IEEE Transactions on ...",
  "date": "2026",
  "doi": "10.1109/...",
  "volume": "46",
  "issue": "3",
  "pages": "1234-1245",
  "abstract": "...",
  "keywords": ["keyword1", "keyword2"],
  "url": "https://ieeexplore.ieee.org/document/{ARNUMBER}",
  "pdfUrl": "https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber={ARNUMBER}",
  "cookies": "..."
}
```

### Listing Zotero collections

```bash
python scripts/push_to_zotero.py --list
```

## Export Format Reference

| Format | File Extension | Use Case |
|--------|---------------|----------|
| Plain Text | `.txt` | Human-readable citation |
| BibTeX | `.bib` | LaTeX documents |
| RIS | `.ris` | Reference managers (Zotero, Mendeley, EndNote) |
| RefWorks | `.txt` | RefWorks import |

## Notes

- The "Cite This" modal on document pages provides citation data for individual articles.
- The "Export" button on search results pages handles batch citation export.
- For batch export, articles must first be selected via checkboxes.
- Citation formats include: Plain Text, BibTeX, RIS, RefWorks.
- Include options: "Citation Only" or "Citation and Abstract".
- For Zotero push, ensure Zotero desktop is running before invoking.
Pliki w paczce (2)
  • SKILL.md 8 KB
  • scripts/push_to_zotero.py 15 KB

Wersje

W bazie nie ma innych skilli o nazwie ieee-export.

Migawka bazy z 28.10.2026 · wersja paczki 0ce57c1cad30 (skrót SHA-256 całej paczki)

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 98ieee-search
    Wyszukuje artykuły naukowe w IEEE Xplore po słowach kluczowych.
  • 100citations
    Formatuje cytowania i bibliografie z biblioteki Zotero w dowolnym stylu CSL (APA, Chicago, MLA, IEEE, Vancouver), eksportuje BibTeX, RIS i CSL-JSON lub tworzy dokument Word z żywymi polami Zotero.
  • 100cnki-export
    Eksportuje artykuł z CNKI do Zotero lub zapisuje go jako plik RIS, przy zapisywaniu pozycji i danych cytowania.
  • 100export
    Eksportuje cytowania do BibTeX, RIS, listy Markdown, filtrowanych zestawów lub własnego stylu cytowania, albo zamienia Markdown na DOCX do udostępnienia.
  • 100cnki-export
    Przenosi dane artykułu z CNKI do Zotero albo do pliku RIS, żeby zapisać pozycję bibliograficzną lub dane cytowania.
  • 100nature-citation
    Wyszukuje, weryfikuje i eksportuje cytowania według rygoru czasopism rodziny Nature i CNS: sprawdza DOI i status retrakcji, eksportuje do BibTeX, RIS, ENW lub Zotero RDF.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.