Contact Cards

by Bryan Stone
5
4
3
2
1
Score: 52/100

Description

The Contact Cards plugin allows Obsidian users to transform YAML data into visually appealing, business card-style contact displays. It enables quick viewing of a person's details such as name, title, company, email, phone number, and location in preview mode. The plugin integrates with Gravatar and Brandfetch to automatically populate profile photos and company logos based on email data. Users can customize card styles using CSS snippets and adjust settings for phone formatting or API keys. Fields are interactive, offering clickable links for quick access to email, phone, or address information. This plugin is ideal for organizing and managing professional contacts within your notes.

Reviews

No reviews yet.

Stats

9
stars
1,563
downloads
0
forks
487
days
94
days
94
days
7
total PRs
0
open PRs
1
closed PRs
6
merged PRs
5
total issues
1
open issues
4
closed issues
11
commits

Latest Version

3 months ago

Changelog

1.3.0 (2026-02-04)

Features

  • support wiki-link syntax for local images (1568b5b)
  • support wiki-link syntax for local images (1568b5b)
  • support wiki-link syntax for local images in photo and logo fields (798da0b), closes #3

Bug Fixes

  • guard fromJSON calls when release-please outputs no PR (d4485c6)

README file from

Github

Obsidian Contact Cards Plugin

The Obsidian Contact Cards Plugin transforms YAML data inside a special code block into a beautifully designed contact card. This lets you quickly view a person's details (even in preview mode).

Example

NOTE: This plugin utilizes third-party services:

  • Avatars are pulled from Gravatar, based on email address.
  • Company logos retrieved from Logo.dev, based on email domain.

Features

  • Beautiful Formatting: Display name, title, company, email, and phone number in a clean, business-card style layout.
  • Simple Syntax: Just provide a contact-card code block with YAML fields, and the plugin will handle the rest.
  • Customizable: Adjust styling by modifying the plugin’s CSS or by creating your own Obsidian CSS snippets.
  • Powerful Integrations:
    • Photos automatically populated based on email address
    • Company logos pulled based on email domain (when Company name is provided)
    • Clickable fields for more context (phone, email, location, etc)

Attribution

Development

  • Fork the repo & clone to a local development folder. For convenience, you can place this folder in your .obsidian/plugins/obsidian-contact-cards folder or symlink it!
  • Install dependencies using npm install
  • Run npm run dev to compile your plugin from main.ts to main.js.
  • Reload Obsidian to load the new version of your plugin.
  • Enable plugin in settings window.

Example

Add a code block to your note:

    ```contact-card
    name: Bryan Stone
    email: [email protected]
    company: Steampunk Labs
    title: Founder & Managing Partner
    phone: 2565551234
    location: Madison, AL
    ```

View the rendered card in Reading/Preview mode: Sample Card

Local Images

You can use Obsidian wiki-link syntax to reference images from your vault for the contact photo or company logo:

    ```contact-card
    name: Bryan Stone
    photo: [[headshot.png]]
    logo: ![[company-logo.png]]
    company: Steampunk Labs
    title: Founder & Managing Partner
    ```

Both [[...]] and ![[...]] forms are supported. The plugin resolves the link to the corresponding file in your vault. If the linked file is not found, the field is silently ignored (falling back to Gravatar for photos, or Logo.dev for logos).

The photo and logo fields are shorthand aliases for photo_url and logo_url respectively — you can use either form.

Customization

The obsidian-contact-cards plugin allows for several customizable settings to tailor the behavior and design of your contact cards. Below are the available options you can configure:

Settings

  1. Default Country Code
    • Description: This setting determines the country code used for phone number formatting. Provide the 2-letter country code (e.g., "GB" for the United Kingdom, "IN" for India)
    • Default: "US"

Styling

The obsidian-contact-cards plugin provides several customizable CSS classes to help you personalize the appearance of the business cards. You can override these styles in your own stylesheet to create a custom look and feel. Below are the available classes and their purposes:

Available CSS Classes
  • .contact-card-content - The outer container for the card, this is used for layout & sizing.
  • .contact-card - The inner container that holds the profile image, logo, and contact information.
  • .contact-card-photo - Profile photo image of the contact.
  • .contact-card-logo - Company logo displayed on the card.
  • .contact-card-info - Container for the contact's name, title, company, and other information.
  • .contact-card-name - The name of the contact.
  • .contact-card-title - The title/position of the contact.
  • .contact-card-separator - A separator between sections in the contact info (e.g., between name and company).
  • .contact-card-error - Applied to elements displaying an error message.
Animations
  • .contact-card-content - This class uses the animatop animation to slide the background shape into view.
  • .contact-card:after - This class defines the background shape displayed behind the card.

Roadmap

  • Add support for additional "power" fields with custom functionality (e.g. social media links, skills)
  • Add richer integration for finding a contact's photo

Contributing

Contributions, issues, and feature requests are welcome!
Feel free to open an issue or submit a pull request if you find any bugs or have suggestions for improvements.

License

MIT

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.