Giter Site home page Giter Site logo

obsidian-hub's People

Contributors

ab1908 avatar actions-user avatar andrezgz avatar andynu avatar argenos avatar calorion avatar chrisgrieser avatar claremacrae avatar damiankorcz avatar dbarenholz avatar eleanorkonik avatar elkadre avatar ericaxu avatar github-actions[bot] avatar jdanielmourao avatar joethei avatar kometenstaub avatar konhi avatar lguenth avatar lisandra-dev avatar llzektorll avatar lomky avatar mprojectscode avatar obsidianttrpgproject avatar ryanjamurphy avatar sigrunixia avatar skepticmystic avatar slrvb avatar thecookiemomma avatar universvm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

obsidian-hub's Issues

Introduction to Obsidian

I wanted to copy :octocat: awesome-obsidian/what-is-obsidian section, but I couldn't fight right place for it.

If there's no place for it, I suggest creating a note πŸ“ 10 - Resources / πŸ“„ About Obsidian (or What is Obsidian, or maybe something different if anyone has better ideas). It should be a note containing reviews, blog posts, introductions, and roundups of what is Obsidian.

Please, let me know:

  1. if there isn't already a place like that in the vault
  2. if not, what location and name should be

Author & Contributors Crediting

Some pages (mostly Concepts and Guides) could also list the author that has written the page.

The benefit would be a small extra incentive to publish things to the Hub.

--

In general, the Hub could also include a page public list of all contributors. Aside from the benefit above, this would clear up confusion like the other day on Discord, where ppl thought I was the maintainer cause it was almost only me having this Org public πŸ™ƒ

Carl Commands 🐒

I just remember that a while ago, there was the plan of having a hub page for all carl commands.

Having such a reference could be useful for enabling non-mods to help out more at Discord. (and could be retrieved by my Alfred workflow, too, as a nice side benefit :P )

Invalid aliases in 4 wiki links

I noticed one odd link...

image

So wrote some code to check for other instances of 2 | in one wiki link:

Error:
  Too many aliases in wiki link: [[Obsidian Community Talks|Obsidian Community Talk|showcase]]:
  ./04 - Guides, Workflows, & Courses/Community Talks/Breadcrumbs Showcase.md 

Error:
  Too many aliases in wiki link: [[obsidian-plugin-todo|Obsidian TODO | Text-based GTD]]:
  ./02 - Community Expansions/02.01 Plugins by Category/Task management plugins.md 

Error:
  Too many aliases in wiki link: [[obsidian-auto-link-title||automatically fetches a page title when you link to it]]:
  ./01 - Community/Obsidian Roundup/2021.08.21.md 

Error:
  Too many aliases in wiki link: [[obsidian-plugin-todo|Obsidian TODO | Text-based GTD]]:
  ./01 - Community/People/larslockefeer.md 

Promote the placeholder tags as a way to find content that needs to be added

See Discord discussion starting here.

From @claremacrae

The CONTRIBUTING page talks about ways to contribute, but doesn't mention placeholders...
https://publish.obsidian.md/hub/CONTRIBUTING
It does mention the Tag Glossary, but isn't explicit about placeholders - that is, things that would benefit from new content.....

image

I happen to know that the Tag Glossary contains a really useful set of links to all the pages with placeholders - if you click on each of the gray rectangles on each of the placeholders...
https://publish.obsidian.md/hub/00+-+Contribute+to+the+Obsidian+Hub/Tag+glossary

image

It's a really, really neat system!!

From @argenos

I think the old version used to talk about the tags a tiny bit more, i.e. want to contribute? Use this tags to find what needs to be added

When reading manifest files, ignore authorUrl values that match plugin URL

Originally posted by @claremacrae in #216 (comment)

Background

The update-releases.py script gathers author Urls from the authorUrl values in all the manifest.json files in the author's plugins.

It then picks one of them, and uses that.

Not all plugin authors use that field consistently across all their repos... there are a few prolific plugin authors who put the Plugin's Url in the authorUrl field. This means that as they add new plugins, the generated url changes... and it's the (undocumented) convention of this project to revert those scripted edits...

The attached file shows all the author URLs that point in to GitHub.com:

github-account-as-author-url.txt

I created that file with:

cd obsidian-hub/01 - Community/People
cat * | grep Website: | sort | uniq | grep github > github-account-as-author-url.txt
# then manually pruning out a few GitHub pages links and similar (looks like a few stray GitHub.io link got missed)

Recommendation

When parsing plugin manifest.json files, if the authorURL is equivalent [*] to the plugin URL, then treat that information as not useful, and ignore it.

Hub users will still be able to get to the plugin's GitHub repo, as the author page will have a link to all of their plugins, which in turn will of course link to the plugin repo.

The big benefit of this is that it will remove one of the most common type of manual reversion needed when updating Hub content, for those authors of multiple plugins who out plugin URL in the authorUrl field.

[*] I say "equivalent to" because there is at least one case where the manifest URL has .git appended: https://github.com/KjellConnelly/obsidian-jsonifier.git

FR: Use a markdown formatter for consistency

I propose that we use a formatter to keep things consistent.
I personally use Prettifier, but we could totally use a different one. We can put a Prettifier config file in the vault so that everyone uses the same settings.

Alot of the time, I run my Prettifier without even thinking, and then there are alot of small formatting changes added to the diff

Investigate contents and links to 02.03 CSS Snippets by Category

1. Out-of-date content

I noticed that the content of this link is odd:

https://publish.obsidian.md/hub/02+-+Community+Expansions/02.03+CSS+Snippets+by+Category/%F0%9F%97%82%EF%B8%8F+02.03+CSS+Snippets+by+Category

The current content looks like this:

image

But there are no files in that folder:

image

I believe that this is because Zoottelkeeper does not index files that it would generate links to... So this would be easily fixed by manually deleting the links...

2. Investigate the back-links

There are a large number of links to that file, even though it is to an empty directory.

image

They are mostly headings in the Obsidian Roundup pages:

image

It would be worth checking what these headings were before the recent improvements to Hub structure, to understand if these links are intentional....

Retain manually edited author names when running update-releases

This is to reduce the number of manual reversion steps.

There are so few of these, the code is trivial:

def adjust_author(extension):
    # extension is a dict - either a plugin or a theme
    author = extension['author']
    substitutions = {
        "Andrew Brown & Tim Hor": "Tim Hor",
        "bicarlsen": "Brian Carlsen",
        "Chetachi": "Chetachi E.",
        "ryanjamurphy": "Ryan J. A. Murphy"
    }
    if author in substitutions:
        extension.update(author=substitutions[author])

Script the special case of hipstersmoothie and other duplicate file names

There is both a person and a theme called hipstersmoothie:

image

There are some manual fixes in the repo's markdown files for this... And each time update-releases.py is run, these manual fixes need to be reverted.

It would be nice to adjust the script so that it detects clashes of file names, and takes care of adding the disambiguation... to remove several manual steps in the updating...

Work out why update-releases.py removed pdf-to-markdown-plugin from akaalias.md

In a run of this command:

python3 ./update-releases.py --all

There was this unexpected diff:

diff --git a/01 - Community/People/akaalias.md b/01 - Community/People/akaalias.md
index 79054a0..d409df0 100644
--- a/01 - Community/People/akaalias.md 
+++ b/01 - Community/People/akaalias.md 
@@ -22,7 +22,6 @@ publish: true
 ### Plugins
 - [[extract-highlights-plugin|Extract Highlights]]
 - [[dangerzone-writing-plugin|Dangerzone Writing]]
-- [[pdf-to-markdown-plugin|PDF to Markdown]]
 - [[obsidian-extract-pdf-highlights|PDF Highlights]]
 - [[obsidian-journey-plugin|Journey]]
 - [[obsidian-footnotes|Footnote Shortcut]]

In other words, the line [[pdf-to-markdown-plugin|PDF to Markdown]] was removed from 01 - Community/People/akaalias.md

Code versions:

I was able to reproduce it by running a second time.

I've checked the contents of both the repos involved, and the plugin's repo - and cannot see any reason for the disappearance.

The plugin is also missing when browsing plugins in Obsidian - even though as far as I can see, it is still in the community plugins list...

Just opening a note is seen as a change in VS Code

I'm not sure if others experience this, but simply opening a note in the hub vault will list that note as modified under VS Code's git extension. Even though no changes were made. I haven't tried pushing the changes, so I don't know what will happen. But for now I just Discard Changes to avoid anything unexpected.
Does anyone else have this issue?
I don't know if there is a way around it.

Refactor "Navigation" Plugins Category

In my view, the Navigation plugin category is a bit of a mess. some plugins are for navigation between notes, from for navigating inside one note, some plugins are for some sort of navigation that is neither.

The category would benefit from some clearer definitions / splitting and subsequent refactoring of plugin assignments.

Automate (some) scripts with GitHub Actions

Candidate tasks:

  • Updating theme download counts
  • Adding new theme, plugin and people pages
  • Generating the MOCs
  • Running the Python tests
  • Turn off progress display on the slower scripts - they make the logs hard to read
  • Make it create a PR
  • Decide which things happen only on main - and adjust the YAML to implement that
  • Or decide what will trigger the job that creates commits - maybe a nightly cron job?
    • update_hub will only run on manual trigger, and only on main branch
    • The other two will run on pushes and PRs
    • So the workflow for updating releases will be:
      • Trigger update_hub
      • 3 minutes later, review and accept PR
      • Pull the changes to your branch
      • Run update_releases.py with --overwrite
      • Review and push edits
    • Over time, we should be eventually able to add the --overwrite step to update_hub.yml
  • Finish addressing comments from code review
  • Remove push and pr triggers on update_hub

After Merge

  • Moved to #278
    • The steps for updating releases will be much simpler, as most of the steps will now be automated
    • I (Clare) have some shelved notes for this, in my fork
  • Adjust the branch protection to enable "checks must have passed on protected branch" - this will then show any errors nice-and-obviously in PRs
  • Moved to #280

Defer to later on

Probably add new issues for these, if they don't exist already

searchpp GitHub link is broken

The link to searchpp's GitHub repo is wrong. It is written as https://github.com/https://github.com/nhaouari/searchpp which includes twice https://github.com/. Just a simple copy/paste typo.

Suggest making documents friendlier to read on github.com

Suggestion: before starting a PR, Suggest adding a README.md file to the root of each of these directories as well as the root of the repo and linking them to each other and to the files they reside next to in the directories like MOC's.

Reasoning: the README.md files will auto-display on github making it a friendly reading experience that opening individual files and seeing source code. Linking things will also make the reading experience friendlier.

Negation: if this repo isnt meant to be a github friendly reading experience and rather just a staging ground for something hosted elsewhere then feel free to close this issue

Next Step: Let me know if this sounds good and is a desired change or not and ill open a PR :)

Strange file called .md

There's a file ./01 - Community/Authors - Persons/.md that suggests that there may be some extensions with invalid author names.

It currently links to these plugins:

- [[better-fn|Better footnote]]
- [[obsidian-vocabulary-view|Vocabulary View]]

Split "Third-Party Integration Plugins" into two categories

From #60:

I think this category should differentiate between plugins that add one specific service to Obsidian (e.g. Readwise) and plugins that enable you do generally integrate third party services to Obsidian (e.g. URI Commands), since they are similar, but distinct use cases.

Tasks

  • Create a new category file in 02.01 with the title Plugins with Obsidian URI Actions
  • Apply the T - Plugin Category template
  • Move plugins that do not integrate with external services into it

Add "Edit in GitHub" links at the end of each file

The script should:

  1. Loop through all markdown files in the hub, and see if they have the %% Hub footer: Please don't edit anything below this line %% line
    1. If they do, replace anything below it with the contents of the jinja template
    2. If they don't append the %% Hub footer: Please don't edit anything below this line %% line and the contents of the template

Clarifications from new structure in the hub

Copying unresolved questions from Discord:

  • Categories > Channels
    • These are for YouTube channels, maybe rename the folder?
      • Are these categories?
      • Maybe it goes under Categories > Topics?
  • Better folder for some of the Categories > topics?
    • Markdown, YAML, LaTeX, etc.
    • YAML is in Auxiliary tools
  • Where to place notes like [[A Brief History and Ethos of the Digital Garden]]?
  • 04 - folder
    • Agreement on starter vaults?
      • examples vs templates?
    • Vault Structure notes?
  • Where to put Meta notes?
    • Tag glossary
    • The structure of this vault
    • Any "advanced" notes about how we collaborate, e.g. GitHub setups, plugins etc?
  • 05 - Guides, Workflows, & Courses/Guides/Resources and Guides for Plugin Developers.md
    • Do these notes then need to be renamed to only include guides? Do we put resources on a different note?
    • Same for the resources & guides for theme designers

Notes in the inbox

Tools for developers also go into the 03 - Tools folder?

β”œβ”€β”€ SCSS.md -- Tools for theme designers

Topics?

β”œβ”€β”€ Customer Relationship Management.md  -- MOC-like, Topics?
β”œβ”€β”€ SkillShare.md 
β”œβ”€β”€ HTML.md
β”œβ”€β”€ Knowledge Management System.md
β”œβ”€β”€ PARA.md
β”œβ”€β”€ YAML frontmatter.md
β”œβ”€β”€ Nomic.md -- a ttrpg? game. Do we need some D&D and other TTRPG MOCs/categories? Does this go on Topics

Same with these two?

β”œβ”€β”€ Buy Me a Coffee.md -- MOC to find devs/designers with buy me a coffee
β”œβ”€β”€ GitHub sponsor.md -- Same as buy me a coffee

What about this?

β”œβ”€β”€ ClubMacStories.md  -- Podcast that has paid plugins in their membership. I do have in mind adding some notes about the Cortex episodes that mention Obsi, maybe also MacPowerUsers/Automators podcasts?

Overlaps between people, courses and youtube channels:

β”œβ”€β”€ Bryan Jenks.md -- Person but also has a YouTube channel with the same name
β”œβ”€β”€ Santi Younger.md - Person, but also has courses and a youtube channel also with the same name
β”œβ”€β”€ Effective Remote Work.md -- YouTube Channel, but also courses?
β”œβ”€β”€ Productivity Guru.md - Youtube channel
β”œβ”€β”€ Obsidian Flight School.md - Course
β”œβ”€β”€ LYT House.md -- Not sure how to group the LYT stuff or where

And last but not least, this is totally my doing. I added these as "Topics" at the bottom of ryan's guide for CSS for searchability, but I guess those could go and be replaced by Themes (MOC).md in 05?

β”œβ”€β”€ Obsidian CSS.md 
β”œβ”€β”€ Obsidian Themes.md

h1 of note isn't dynamic

Actual Behavior

  1. before changing the title
    image
  2. after changing the title
    image

Suggested Behavior

  1. before changing the title
    image
  2. after changing the title
    image

  • Let me know if it should be changed to the suggested behavior.

Blue Topaz theme (and a few others) have broken screenshot

By chance I noticed that the Blue Topaz theme has a broken screenshot. It only happens to a few, and is probably easily fixable by updating the script that generates the files for each community theme.

Blue Topaz

image

This is the code for the screenshot:

![screenshot](https://github.com/whyt-byte/Blue-Topaz_Obsidian-css/raw/master/preview_Blue Topaz.png)

Converting the space in the URL to %20 fixes the screenshot:

![screenshot](https://github.com/whyt-byte/Blue-Topaz_Obsidian-css/raw/master/preview_Blue%20Topaz.png)

All affected themes

As of 2021-11-06, these are the ones with spaces in URLs broken screenshots, as they have spaces in the screenshot URLs:

Broken Previews

![[Blue Topaz]]
![[Dark Graphite Pie]]
![[Hulk]]
![[Pine Forest Berry]]
![[Prism]]

I didn't search for any other characters in the URLs that might need encoding...

Update MOCs of new structure

  • Update H1 to match the title of the files. I did it for some in #50 but some are missing
  • Add description to new MOCs to explain the content that is inside these folders

Medium-Term Suggestion: Plugins pre-installed in the Community Vault?

As I have written in the overhauled CONTRIBUTING.md, I think there are some reasonable settings that contributors should have while contributing, e.g. having spellcheck turned on.

I was thinking: Would it maybe make sense to have a small set of plugin be considered "default plugins" for the community hub, which should always be active when someone is contributing? The following candidates come to my mind

  • Language Tool Plugin for improved language style, maybe with some sensitive configuration
  • (The Vale Plugin unfortunately relies on the Vale CLI being installed, which unnecessarily raises the threshold for contributors.)
  • Linter with some sensitive configuration for further cleaning up stuff. (Also has a rule to insert file names as H1, which is far less destructive than the Filename Heading Sync Plugin.)
  • Smart Typography for nicer quotation marks and stuff
  • Pipe Tricks, as it makes linking stuff easier
  • Perhaps something like Dangling Links or Find Unresolved Links, but since they work globally, I am not sure whether they make sense for everyone. Maybe for regular contributors
  • Show Current File Path could make sense as an extra layer preventing someone from accidentally creating a new note in the wrong folder

Feel free to also suggest plugins that would make sense

Central place for css snippets

As discussed on Discord, it might be a good idea to create a central place for CSS snippets, which would be:

  • consistent
  • containing examples
  • organized
  • tested

As suggested by @SlRvb, it could be done in this repo. Naming convention could be needed (@argenos).

Introduce classes to represent concepts in update_releases.py

I don't know if it's intentional or historical that the the code in - and used by - update-releases.py is all free functions...

Briefly, I've generally found that refactoring to classes aids development by making responsibilities for data and code clearer...

Would it be acceptable at some agreed point to refactor the code to introduce classes for the main concepts (such as plugin, theme and person (or author)?

Make jinja templates modular:

  • change templates to only update parts of it using jinja blocks
  • different templates for new plugin and updating plugin (based on regex and headers + individual blocks)

Document - or script - the steps for ensuring πŸ—‚οΈfiles are renamed when folders are renamed

How can we ensure that when folders are renamed, the rest of the Hub vault is correctly updated?

Desired behaviour

I think the desired results are:

  1. Rename the πŸ—‚οΈ file, to the new folder name
  2. Rename the heading inside the πŸ—‚οΈ file
  3. Update all existing links to the oldπŸ—‚οΈ file - to the new name

Possible steps - manual approach:

Assuming users are renaming folders inside Obsidian, and have "Automatically update internal links" turned off, I think the simplest manual steps become:

In Obsidian:

  1. Rename the directory - copy its new name on to the clipboard
  2. Rename the πŸ—‚οΈfile to the new folder name, allowing all existing links to be updated
  3. Rename the H1 inside the πŸ—‚οΈfile, to the new folder name

Actions/questions

  1. Can the steps be simplified?
  2. Do we want to script it?
  3. Whatever is decided, document it in a Contributing page in the vault

Possible steps - automated approach:

  • In .github/scripts/make_mocs.py there is DirectoryMoc.write_new_moc_file()
  • This could be made smarter, by making it:
    • detect if there is already file with the πŸ—‚οΈ prefix, and if so, rename that for the new folder name
    • updating the note's title maybe?
    • and then updating the list of files as normal
    • it should fail if there is more than 1 existing πŸ—‚οΈ file, it should report the error and fail

Split "Plugins to export and import markdown files" category

From #60:

Plugins that convert content into markdown content (e.g. Tweets to Markdown)
Plugins that convert a file into .md (e.g. a PDF into Markdown)

Tasks

  • Create one note: Plugins to convert content into markdown in 02.01
  • Apply the T - Plugin Category template
  • Rename Plugins to export and import markdown files to Plugins to export markdown content
  • Move or copy exporter plugins into the new category

Update CONTRIBUTING.md

I tried to fix some of these things for #47 in 961342b, but there are other dangling links from the old structure that need to be fixed and the text needs to be updated.

Ancilliary tools categories

I wanted to copy :octocat: awesome-obsidian/external-tools section. These tools are split into categories, such as:

  • converters
  • browser extensions
  • publishing
  • other
  1. Should there be such categorization in :octocat: obsidian-hub as well?
  2. If so, how would the structure of folders look like?

Set up a mechanism to easily create folder MOC files

Background

When new folders are created, a new MOC file needs to be crated - named πŸ—‚οΈ {folder name}

Probably the 'T - MOCs.md' template would be used for this.

Previously, the new file was created by Zoottelkeeper - but it did not use a template, so the generated files had to have their template content added.

However, if correctly manually configured, Zoottelkeeper did at least get the filename correct

Possibilities

  1. Create a script in .github/scripts that detects any folders with missing πŸ—‚οΈ files, and creates them automatically
  2. Run that script automatically via a GitHub Action

Steps

  • Generate list of links from sub-directories
  • Generate list of links from files
  • Skip unwanted files, like .DS_Store
  • Don't add link to the Index file
  • Use case-insensitive sort for file names and folder names
  • If no files to be linked, write a blank line (for consistency with Zoottelkeeper)
  • Don't prefix directory name with '../../'
  • Retain any pre-existing text in index files, outside of the Zoottelkeeper markers
  • Document the vocabulary used
    • For now, done by dividing functions up in to classes, and adding docs for the classes
    • As a later step, I would like to clarify the argument names, like root and sub-directory
  • Check behaviour on the file called '.md' - see comments added to #70
  • Use a template if creating a brand new index file

Later Steps

  • Test coverage of DirectoryMoc
  • Make tests run from inside PyCharm
  • Add a test for when an existing MOC file does not have Zoot comments...
  • Decide what to do about directories that are empty - currently an index file is created, and linked to... This might be a problem for people switched backwards and forwards in the git history, as old directories can get repopulated, and later existing-but-empty
  • Maybe switch to different begin and end lines, so it's clear we are not using Zoottelkeeper

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.