All Projects → google → note-maps

google / note-maps

Licence: Apache-2.0 license
A personal knowledge base, an experimental project under development.

Programming Languages

go
31211 projects - #10 most used programming language
rust
11053 projects
dart
5743 projects
Makefile
30231 projects
Nix
1067 projects
swift
15916 projects

Projects that are alternatives of or similar to note-maps

Dnote
A simple command line notebook for programmers
Stars: ✭ 2,192 (+1967.92%)
Mutual labels:  personal-knowledge-base
Foam
A personal knowledge management and sharing system for VSCode
Stars: ✭ 10,993 (+10270.75%)
Mutual labels:  personal-knowledge-base
pkb
Personal knowledge base
Stars: ✭ 39 (-63.21%)
Mutual labels:  personal-knowledge-base
thymeflow
Installer for Thymeflow, a personal knowledge management system.
Stars: ✭ 27 (-74.53%)
Mutual labels:  personal-knowledge-base
notebook
Personal notes
Stars: ✭ 26 (-75.47%)
Mutual labels:  personal-knowledge-base

Note Maps

GoDoc Go Report Card Build Status Coverage Status

Note Maps aims to become a personal knowledge base that can be used on smartphones and laptops.

Each note map is a collection of information about a set of topics. Any topic can be described with a set of names, types, and miscellaneous notes that may include definitions, timestamps, or links to images, videos, etc. Topics may be connected to each other through associations, and any association may itself be described as another topic. Even the role played by a topic in an association can, itself, be described as a topic.

This model is isomorphic to the Topic Maps Data Model defined in ISO/IEC 13250-2:2006. Note Maps may some day be able to import from or export to standard Topic Map data formats like XTM (ISO/IEC 13250-3:2013) and JTM (JTM 1.1).

Status: Exploratory. Note Maps is in an experimental stage and is not yet useful for taking notes. Many design and implementation options are being explored.

This is not an officially supported Google product.

Development

Install Git Hooks

This repository comes with a Git pre-commit hook in ./githooks. Optionally, install it: cp ./githooks/pre-commit .git/hooks/pre-commit.

Manage Git Subtrees

Vendored code goes in the third_party directory, preferably using git subtree. For example:

git remote add third_party/zefyr https://github.com/memspace/zefyr.git
git fetch third_party/zefyr
git subtree add --prefix third_party/zefyr third_party/zefyr master --squash

How to update a subtree:

git fetch third_party/zefyr master
git subtree pull --prefix third_party/zefyr third_party/zefyr master --squash

Development Environment

  1. [Install Nix][].
  2. [Install direnv][].
  3. Install [nix-direnv][].
  4. In the root of this repository: echo "use flake" > .envrc

Building

Build everything:

nix build

The development environment configured above provides some of the standard development tools for the programming languages used in this repository. For example:

go test ./...
cargo test

Source Code Headers

Apache header:

Copyright 2020 Google LLC

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].