Folha de Dicas do Excalidraw
## Visão Geral
Excalidraw é uma ferramenta de quadro branco virtual colaborativo que permite desenhar diagramas facilmente com aparência de desenho à mão. É perfeito para wireframing, brainstorming, design de sistemas e criação de diagramas técnicos com uma aparência natural e esboçada que torna ideias complexas mais acessíveis.
⚠️ Nota: Gratuito para usar em excalidraw.com. Opções de hospedagem própria e integrações disponíveis.
Primeiros Passos
Métodos de Acesso
Visão Geral da Interface
Primeiro Desenho
Ferramentas de Desenho
Ferramenta de Seleção
Ferramentas de Formas
Ferramentas de Desenho
Ferramenta de Texto
Atalhos de Teclado
Seleção de Ferramentas
Atalhos de Edição
Navegação na Tela
Estilo e Propriedades
Propriedades do Traço
Propriedades de Preenchimento
Estilo de Texto
Recursos Avançados
Bibliotecas e Modelos
Recursos de Colaboração
Opções de Exportação
Casos de Uso e Padrões
Diagramas de Arquitetura de Sistemas
Fluxogramas e Diagramas de Processo
Wireframes e Mockups
Would you like me to elaborate on any specific section or provide more detailed translations?```bash
Web application:
Visit: https://excalidraw.com
No account required for basic use
Account optional for saving and collaboration
VS Code extension:
Install “Excalidraw” extension
Create .excalidraw files
Edit directly in VS Code
Self-hosted:
Clone from GitHub: https://github.com/excalidraw/excalidraw
Docker deployment available
Custom domain setup
### Interface Overview
```bash
# Main interface elements:
# - Canvas: Drawing area
# - Toolbar: Drawing tools and shapes
# - Properties panel: Styling options
# - Layers panel: Element organization
# - Library: Saved shapes and templates
# - Share menu: Collaboration options
First Drawing
# Basic workflow:
# 1. Select a tool from toolbar
# 2. Click and drag on canvas
# 3. Adjust properties (color, stroke, fill)
# 4. Add text labels
# 5. Arrange and group elements
# 6. Save or share your drawing
Drawing Tools
Selection Tool
# Selection modes:
# - Single click: Select one element
# - Drag: Select multiple elements
# - Ctrl/Cmd + A: Select all
# - Ctrl/Cmd + click: Add/remove from selection
# Selection actions:
# - Drag to move
# - Drag corners to resize
# - Drag rotation handle to rotate
# - Double-click text to edit
Shape Tools
# Rectangle tool:
# - Click and drag to create
# - Hold Shift for perfect square
# - Rounded corners available in properties
# Ellipse tool:
# - Click and drag to create
# - Hold Shift for perfect circle
# - Adjust stroke and fill properties
# Diamond tool:
# - Creates diamond/rhombus shapes
# - Useful for flowchart decision points
# - Adjustable proportions
Drawing Tools
# Pen tool:
# - Freehand drawing
# - Pressure-sensitive (on supported devices)
# - Adjustable stroke width
# - Smooth or rough style
# Line tool:
# - Straight lines
# - Hold Shift for horizontal/vertical
# - Adjustable endpoints (arrow, dot, bar)
# - Multiple line styles available
# Arrow tool:
# - Directional arrows
# - Curved or straight
# - Adjustable arrowheads
# - Perfect for flowcharts and diagrams
Text Tool
# Text creation:
# - Click to place text
# - Type to add content
# - Enter for new line
# - Escape to finish editing
# Text formatting:
# - Font family selection
# - Font size adjustment
# - Text alignment (left, center, right)
# - Text color customization
Keyboard Shortcuts
Tool Selection
# Drawing tools:
V # Selection tool
R # Rectangle
O # Ellipse
D # Diamond
P # Pen/Draw
L # Line
A # Arrow
T # Text
# Quick actions:
Space + drag # Pan canvas
Ctrl/Cmd + scroll # Zoom in/out
Ctrl/Cmd + 0 # Zoom to fit
Ctrl/Cmd + 1 # Zoom to 100%
Editing Shortcuts
# Selection and manipulation:
Ctrl/Cmd + A # Select all
Ctrl/Cmd + D # Duplicate
Delete/Backspace # Delete selected
Ctrl/Cmd + Z # Undo
Ctrl/Cmd + Y # Redo
Ctrl/Cmd + Shift + Z # Redo (alternative)
# Grouping and layers:
Ctrl/Cmd + G # Group selection
Ctrl/Cmd + Shift + G # Ungroup
Ctrl/Cmd + ] # Send to back
Ctrl/Cmd + [ # Bring to front
Ctrl/Cmd + Shift + ] # Send backward
Ctrl/Cmd + Shift + [ # Bring forward
Canvas Navigation
# View controls:
Ctrl/Cmd + Plus # Zoom in
Ctrl/Cmd + Minus # Zoom out
Ctrl/Cmd + 0 # Fit to screen
Ctrl/Cmd + 1 # Actual size
Space + drag # Pan canvas
Mouse wheel # Zoom at cursor
# Grid and guides:
Ctrl/Cmd + ' # Toggle grid
Ctrl/Cmd + Shift + ' # Toggle snap to grid
Styling and Properties
Stroke Properties
# Stroke options:
# - Color: Full color picker
# - Width: 1-5 pixel options
# - Style: Solid, dashed, dotted
# - Roughness: 0 (smooth) to 2 (very rough)
# - Opacity: 0% to 100%
# Stroke styles:
# Architect: Clean, precise lines
# Artist: Hand-drawn, sketchy feel
# Cartoonist: Bold, expressive strokes
Fill Properties
# Fill options:
# - Transparent: No fill
# - Solid: Solid color fill
# - Hachure: Cross-hatched pattern
# - Cross-hatch: Denser cross-hatching
# - Dots: Dotted pattern
# Fill customization:
# - Color selection
# - Opacity adjustment
# - Pattern density
# - Background transparency
Text Styling
# Font options:
# - Virgil: Hand-drawn style (default)
# - Helvetica: Clean, modern
# - Cascadia: Monospace, code-friendly
# Text properties:
# - Size: 16px to 96px
# - Color: Full spectrum
# - Alignment: Left, center, right
# - Vertical alignment: Top, middle, bottom
Advanced Features
Libraries and Templates
# Using libraries:
# 1. Click library icon in toolbar
# 2. Browse available libraries
# 3. Click to add items to canvas
# 4. Customize as needed
# Creating custom libraries:
# 1. Select elements to save
# 2. Click "Add to library"
# 3. Name your library item
# 4. Reuse across drawings
# Popular libraries:
# - System design components
# - AWS architecture icons
# - Flowchart symbols
# - UI/UX wireframe elements
Collaboration Features
# Real-time collaboration:
# 1. Click "Share" button
# 2. Copy shareable link
# 3. Share with team members
# 4. Collaborate in real-time
# Collaboration features:
# - Live cursors showing other users
# - Real-time updates
# - Comment system
# - Version history
# - Conflict resolution
Export Options
# Export formats:
# - PNG: Raster image
# - SVG: Vector graphics
# - Excalidraw: Native format
# - JSON: Data format
# Export settings:
# - Background: Transparent or colored
# - Scale: 1x, 2x, 3x for high DPI
# - Selection only: Export selected elements
# - Include watermark: Optional branding
Use Cases and Patterns
System Architecture Diagrams
# Architecture components:
# - Rectangles: Services, databases
# - Ellipses: External systems
# - Arrows: Data flow, connections
# - Text: Labels and annotations
# Best practices:
# - Use consistent shapes for similar components
# - Group related elements
# - Use colors to indicate different layers
# - Add clear labels and descriptions
# - Show data flow direction with arrows
Flowcharts and Process Diagrams
# Flowchart symbols:
# - Rectangle: Process step
# - Diamond: Decision point
# - Ellipse: Start/end point
# - Parallelogram: Input/output
# - Circle: Connector
# Flowchart tips:
# - Start with high-level flow
# - Add detail progressively
# - Use consistent symbol meanings
# - Keep text concise
# - Test the logic flow
Wireframes and Mockups
# Wireframe elements:
# - Rectangles: Content areas, buttons
# - Lines: Dividers, borders
# - Text: Labels, content placeholders
# - Arrows: User flow, interactions
# Wireframe best practices:
# - Focus on layout, not visual design
# - Use grayscale colors
# - Include navigation elements
# - Show content hierarchy
# - Indicate interactive elements
```### Mapas Mentais e Brainstorming
```bash
# Mind map structure:
# - Central topic in center
# - Main branches radiating out
# - Sub-branches for details
# - Colors for categorization
# - Icons for visual interest
# Brainstorming techniques:
# - Start with central concept
# - Add ideas as they come
# - Group related concepts
# - Use colors and shapes for organization
# - Connect related ideas with lines
```## Integração e Incorporação
```bash
# VS Code extension features:
# - Create .excalidraw files
# - Edit directly in editor
# - Version control integration
# - Preview mode
# - Export capabilities
# Workflow:
# 1. Install Excalidraw extension
# 2. Create new .excalidraw file
# 3. Edit with full Excalidraw features
# 4. Save and commit to version control
```### Integração com VS Code
```bash
# Obsidian plugin:
# - Embed drawings in notes
# - Link to other notes
# - Search within drawings
# - Template support
# Usage:
# 1. Install Excalidraw plugin
# 2. Create drawing in note
# 3. Link to other content
# 4. Export or embed as needed
```### Integração com Obsidian
```bash
# Notion embedding:
# 1. Create drawing in Excalidraw
# 2. Export as PNG or SVG
# 3. Upload to Notion
# 4. Embed in page
# Live embedding:
# - Use Excalidraw share link
# - Embed as web content
# - Updates reflect automatically
```### Integração com Notion
```javascript
// Load external library
const library = await fetch('https://libraries.excalidraw.com/libraries/your-library.excalidrawlib')
.then(response => response.json());
// Add library items to scene
const libraryItems = library.libraryItems;
excalidrawAPI.updateScene({
elements: [...currentElements, ...libraryItems]
});
```## API e Automação
```javascript
// Create elements programmatically
const rectangle = {
id: 'rect1',
type: 'rectangle',
x: 100,
y: 100,
width: 200,
height: 100,
strokeColor: '#000000',
backgroundColor: '#ffffff',
fillStyle: 'hachure',
strokeWidth: 2,
roughness: 1
};
const text = {
id: 'text1',
type: 'text',
x: 150,
y: 140,
width: 100,
height: 25,
text: 'Hello World',
fontSize: 16,
fontFamily: 1,
textAlign: 'center'
};
excalidrawAPI.updateScene({
elements: [rectangle, text]
});
```### API de Bibliotecas do Excalidraw
```javascript
// Batch create system diagram
function createSystemDiagram(services) {
const elements = [];
let x = 100;
const y = 100;
services.forEach((service, index) => {
// Create service box
elements.push({
id: `service-${index}`,
type: 'rectangle',
x: x,
y: y,
width: 120,
height: 80,
strokeColor: '#1971c2',
backgroundColor: '#e3f2fd'
});
// Create service label
elements.push({
id: `label-${index}`,
type: 'text',
x: x + 10,
y: y + 30,
text: service.name,
fontSize: 14
});
x += 200;
});
return elements;
}
```### Desenho Programático
```bash
# Performance tips:
# - Use groups to organize complex diagrams
# - Limit the number of elements on screen
# - Use simple shapes when possible
# - Avoid excessive text elements
# - Regular cleanup of unused elements
# Memory management:
# - Clear undo history periodically
# - Export and reload for very large diagrams
# - Use multiple smaller diagrams instead of one huge one
```### Operações em Lote
```bash
# Collaboration optimization:
# - Limit concurrent users (5-10 optimal)
# - Use voice/video for complex discussions
# - Assign areas to different team members
# - Periodic saves to prevent data loss
# - Good internet connection required
```## Desempenho e Otimização
```bash
# Mobile features:
# - Touch drawing support
# - Pinch to zoom
# - Two-finger pan
# - Touch selection
# - Mobile-optimized toolbar
# Mobile limitations:
# - Smaller screen real estate
# - Limited precision
# - No keyboard shortcuts
# - Simplified toolbar
```### Diagramas Grandes
```bash
# Mobile workflow:
# - Start with rough sketches
# - Focus on major elements first
# - Use larger shapes and text
# - Simplify complex diagrams
# - Refine on desktop later
```### Desempenho de Colaboração
```bash
# Performance problems:
# - Refresh browser tab
# - Clear browser cache
# - Reduce diagram complexity
# - Close other browser tabs
# - Check internet connection
# Collaboration issues:
# - Verify share link permissions
# - Check network connectivity
# - Refresh page for all users
# - Use incognito mode to test
# - Clear browser data
```## Uso em Dispositivos Móveis
```bash
# Auto-save features:
# - Local storage backup
# - Browser session recovery
# - Collaboration history
# - Export regular backups
# Recovery methods:
# - Check browser local storage
# - Use collaboration history
# - Restore from exported files
# - Contact support for shared rooms
```### Aplicativo Web Móvel
```bash
# Supported browsers:
# - Chrome (recommended)
# - Firefox
# - Safari
# - Edge
# Feature limitations:
# - Some features require modern browsers
# - WebGL support needed for performance
# - Local storage required for saving
# - WebRTC needed for collaboration
```### Melhores Práticas para Dispositivos Móveis
```bash
# Visual hierarchy:
# - Use size to show importance
# - Color for categorization
# - Spacing for grouping
# - Consistency in styling
# Clarity guidelines:
# - Keep text readable
# - Use sufficient contrast
# - Avoid clutter
# - Group related elements
# - Provide clear labels
```## Solução de Problemas
```bash
# Team workflow:
# - Establish drawing conventions
# - Use consistent naming
# - Assign ownership areas
# - Regular sync meetings
# - Version control for important diagrams
# Communication:
# - Use comments for feedback
# - Voice chat for complex discussions
# - Screen sharing for presentations
# - Clear action items
# - Document decisions
```### Problemas Comuns
```bash
# File management:
# - Use descriptive names
# - Organize by project/topic
# - Regular cleanup of old files
# - Export important diagrams
# - Backup critical work
# Version control:
# - Save major iterations
# - Use descriptive commit messages
# - Tag important versions
# - Branch for experiments
# - Merge carefully
```### Recuperação de Dados
```bash
# Creating reusable components:
# 1. Design component elements
# 2. Group related parts
# 3. Add to personal library
# 4. Share with team
# 5. Maintain consistency
# Library management:
# - Organize by category
# - Use clear naming conventions
# - Regular updates and maintenance
# - Documentation for complex components
# - Version control for shared libraries
```### Compatibilidade de Navegadores
```bash
# Presentation techniques:
# - Use layers to reveal information
# - Create step-by-step diagrams
# - Export frames for animation
# - Use colors to highlight changes
# - Progressive disclosure of complexity
# Storytelling with diagrams:
# - Start with overview
# - Zoom into details
# - Show before/after states
# - Use annotations for context
# - Guide viewer attention
```## Melhores Práticas
[Repositório GitHub](https://github.com/excalidraw/excalidraw) [Documentação da API](https://docs.excalidraw.com/docs/api)
### Comunidade
- [Servidor Discord](https://discord.gg/UexuTaE)
- [Discussões no GitHub](https://github.com/excalidraw/excalidraw/discussions)
- [Comunidade no Twitter](https://twitter.com/excalidraw)
### Recursos
- [Coleções de Bibliotecas](https://libraries.excalidraw.com/)
- [Galeria de Templates](https://excalidraw.com/templates)
- [Tutoriais em Vídeo](https://www.youtube.com/results?search_query=excalidraw+tutorial)