{"id":17059206,"url":"https://github.com/novoid/org-contacts2vcard","last_synced_at":"2025-04-12T17:51:49.857Z","repository":{"id":11619771,"uuid":"14117425","full_name":"novoid/org-contacts2vcard","owner":"novoid","description":"Converting Emacs Org-mode org-contacts contact information to VCard format suitable for importing to Android 4.4","archived":false,"fork":false,"pushed_at":"2020-11-15T21:45:14.000Z","size":1351,"stargazers_count":23,"open_issues_count":2,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-26T12:11:52.521Z","etag":null,"topics":["android","contact-management","emacs","orgmode","personal-information-management","pim"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/novoid.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-11-04T17:01:03.000Z","updated_at":"2024-06-06T17:10:57.000Z","dependencies_parsed_at":"2022-09-14T09:21:49.990Z","dependency_job_id":null,"html_url":"https://github.com/novoid/org-contacts2vcard","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novoid%2Forg-contacts2vcard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novoid%2Forg-contacts2vcard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novoid%2Forg-contacts2vcard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novoid%2Forg-contacts2vcard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/novoid","download_url":"https://codeload.github.com/novoid/org-contacts2vcard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248610407,"owners_count":21132920,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","contact-management","emacs","orgmode","personal-information-management","pim"],"created_at":"2024-10-14T10:33:17.168Z","updated_at":"2025-04-12T17:51:49.835Z","avatar_url":"https://github.com/novoid.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Time-stamp: \u003c2020-11-15 22:26:31 vk\u003e\n## -*- coding: utf-8 -*-\n## This file is best viewed with GNU Emacs Org-mode: http://orgmode.org/\n\n* org-contacts2vcard\n\nThis is a Python script that converts [[http://julien.danjou.info/projects/emacs-packages#org-contacts][org-contacts]] contact information\nof [[http://en.wikipedia.org/wiki/Emacs][GNU Emacs]] with [[http://orgmode.org/][Org-mode]] to Android 4.4 contact [[https://en.wikipedia.org/wiki/VCard][VCard]] import format.\n\n*Update 2020-10-20*: I am still using this code to export my Org-contacts to my\nAndroid mobile phone (running Android 9). The reason why I wrote \"version 4.4\"\nabove maybe was related to changes to the Android VCard format with version\n4.4. I can't remember.\n\n- *target group*: users of [[http://orgmode.org/][Org-mode]] org-contacts who want to get their\n  contact information to Android including:\n  - First name\n  - Last name\n  - email addresses\n  - phone numbers\n  - user images\n    - Note: the way contact images are referred to is personalized for\n      me (see below). Therefore, you have to adopt either the script\n      to your needs or you adopt my image method to your Org-mode :-)\n\n** Customizations: org-contacts\n\nMy org-contacts-template is more elaborated than the one in\n[[http://orgmode.org/w/?p%3Dorg-mode.git%3Ba%3Dblob_plain%3Bf%3Dcontrib/lisp/org-contacts.el%3Bhb%3DHEAD][org-contacts.el]]. For example, I am using three separated properties\nfor addresses (CITY, POSTALCODE, STREET) instead of one. If you are\nusing different properties for certain entries, you might want to\ncustomize in your set-up.\n\nAs an example, here are my customizations:\n: (require 'org-contacts)\n: (custom-set-variables\n:  '(org-contacts-files \"~/share/all/org-mode/contacts.org\")\n:  '(org-contacts-address-property \"CITY\")\n:  '(org-contacts-birthday-property \"BORN\")\n:  '(org-contacts-icon-property \"PHOTOGRAPH\")\n:  )\n\nYou can have a look on [[https://github.com/novoid/dot-emacs][my current Emacs configuration on github]].\n\n** Example\n\nPlease take a look at the example org-contact file\n[[https://github.com/novoid/org-contacts2vcard/blob/master/testdata/testcontacts.org][testdata/testcontacts.org]]\n\nThe file [[https://github.com/novoid/org-contacts2vcard/blob/master/example_invocation.sh][example_invocation.sh]] gives you some impression on how to\ninvoke this script.\n\nPlease note that with 2020-11-15 I switched the [[https://en.wikipedia.org/wiki/International_direct_dialing][international number\nprefix (IDD)]] from =00= to =+= because sources like [[https://www.studyabroad.com/resources/international-calling-codes][this]] tells me this\nis safer.\n\n** Contact Images\n\nIn [[https://github.com/novoid/org-contacts2vcard/blob/master/testdata/testcontacts.org][testdata/testcontacts.org]] you will notice contact photographs are\nincluded like this:\n\n: :PHOTOGRAPH: [[photo:FirstnameLastname.jpeg]]\n\n~photo:~ is a [[http://orgmode.org/org.html#Adding-hyperlink-types][custom link]] which is defined in [[https://github.com/novoid/dot-emacs/blob/master/org-mode.el][my org-mode\nconfiguration file]]:\n\n: (setq org-link-abbrev-alist\n:       '(\n: [...]\n:         (\"photo\" . \"file:~/people/all_photographs/%s\")\n: [...]\n:         ))\n\nAs you can see, I linked it to files in the folder\n~$HOME/people/all_photographs~.\n\nIf you use a similar definition, you are able to use my script without\nchanges.\n\nNOTE the open issue\nhttps://github.com/novoid/org-contacts2vcard/issues/1 for missing\ncontacts and contact images which is still valid for 2020-11-15 and\nAndroid 11 on a Google Pixel 4a phome.\n\n* Contribute!\n\nI am looking for your ideas:\n\nIf you want to contribute to this cool project, please fork and\ncontribute!\n\nI am using [[http://www.python.org/dev/peps/pep-0008/][Python PEP8]] and some ideas from [[http://en.wikipedia.org/wiki/Test-driven_development][Test Driven Development\n(TDD)]].\n\n\n* Local Variables                                                  :noexport:\n# Local Variables:\n# mode: auto-fill\n# mode: flyspell\n# eval: (ispell-change-dictionary \"en_US\")\n# End:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnovoid%2Forg-contacts2vcard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnovoid%2Forg-contacts2vcard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnovoid%2Forg-contacts2vcard/lists"}