{"id":17030492,"url":"https://github.com/vsoch/mommy-dev","last_synced_at":"2026-04-15T18:31:07.056Z","repository":{"id":141667848,"uuid":"139967652","full_name":"vsoch/mommy-dev","owner":"vsoch","description":"a container with jekyll and git","archived":false,"fork":false,"pushed_at":"2018-07-06T12:21:57.000Z","size":30,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-22T20:31:03.700Z","etag":null,"topics":["git","jekyll","ruby"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vsoch.png","metadata":{"files":{"readme":"README.dev.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-06T09:59:58.000Z","updated_at":"2018-12-20T16:33:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"a418885a-809f-4bad-bf39-5362a436bcef","html_url":"https://github.com/vsoch/mommy-dev","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vsoch/mommy-dev","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vsoch%2Fmommy-dev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vsoch%2Fmommy-dev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vsoch%2Fmommy-dev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vsoch%2Fmommy-dev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vsoch","download_url":"https://codeload.github.com/vsoch/mommy-dev/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vsoch%2Fmommy-dev/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31854598,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"ssl_error","status_checked_at":"2026-04-15T15:24:39.138Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["git","jekyll","ruby"],"created_at":"2024-10-14T08:07:08.987Z","updated_at":"2026-04-15T18:31:06.690Z","avatar_url":"https://github.com/vsoch.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mommy-Dev\n\nThese are instructions for using your development environment for working on code. You have two choices - the Docker Image (1) or\n\nUbuntu development environment (2). For the first, the volume is not mounted to the host. For the second, you can't use jekyll\n\nto preview the image.\n\n# Option 1a: Docker\n\nIn the start menu type \"powershell\" to see the Command Line prompt.  Right click --\u003e Run As Administrator to Open it.\n\n\nGo to your mommy-dev folder\n\n```bash\ncd C:/Users/Natacha/Desktop/mommy-dev\n```\n\nLook at running containers, is mommy-dev running?\n\n```bash\ndocker ps\n```\n\nTake a look to see that it does exist:\n\n```bash\ndocker images\n```\nJust for your FYI (DON'T run this command) here is how I built the container, from the Dockerfile in the present working directory:\n\n\n```bash\ndocker build -t vanessa/mommy-dev .\ndocker push vanessa/mommy-dev\n```\n\nWhat we are going to do is start the container, with a named volume (that we will see and keep our data in).\nWe are also going to name it \"mommy-dev\" so we can reference it easily later.\n\n```bash\n$ docker run -v data:/Code --name mommy-dev --publish 80:80 --publish 4000:4000 -it vanessa/mommy-dev\n\n# inside the container, see that we have git!\nroot@f0c5c3dade94:/# which git\n\n# Go to /Code and clone the repo\ncd /Code\ngit clone git@github.com:vsoch/nsoch.github.io.git\ncd nsoch.github.io\n```\n\nThis is a container that will hold your Github repository, and you can shell into it to get an ubuntu environment. We are using this over the windows subsystem because it isn't terribly slow.\n\n\n\n# Option 1b: Ubuntu\nThis option will let you edit files and move them from the host easily, but is not recommended since you can't\nuse Jekyll to preview pages.\n\n\n - Go to the Start Menu\n - Type \"Ubuntu\" and select the orange application\n\nUsername: (ask vanessa)\nPassword: XXXXXXXXXXX (ask Vanessa)\n\nThe password to unlock the ssh key (if needed) is the same. This should only be needed if you restart the computer.\n\n\n\n# 2. Navigate to your working directory\nI've created for you a folder in your `$HOME` called Code where we will clone github repos, including your website. \n\n```bash\ncd $HOME/Code\nls\n```\n\nWe cloned it like this:\n\n```bash\ngit clone git@github.com:vsoch/nsoch.github.io.git\ncd nsoch.github.io\n```\n\nLet's go into the nsoch.github.io folder to see your site files:\n\n\n\n```bssh\ncd nsoch.github.io\nls\n```\n\nTo open a file in the editor, you would type:\n\n```bash\ngedit project/neuromorphic.md\n```\n\n# 3. Get comfortable with Github\nWhether you are in Docker or the ubuntu windows subsystem, you need to get comfortable with Github. When you first clone a repo, you will be on the master branch. That looks like this:\n\n``bash\ngit branch\nmaster\n```\n\nTo checkout a NEW branch, you need `-b`\n\n```bash\ngit checkout -b new-branch\n```\n\nTo checkout an existing branch, no `-b`\n\n```bash\ngit checkout master\ngit checkout newbranch\ngit checkout pancakes\n```\n\n# 3. Edit Files with Gedit\nTo open a file to edit with your text editor, you are going to:\n\n 1. Start xming server (this is the display)\n 2. export the display in ubuntu (so it finds xming)\n 3. run the gedit command with correct permissions (sudo)\n\nFor step 1, this comes down to searching for Xming in the windows bar, and right clicking and selecting \"Run as administrator.\" You should see the small X icon in the status bar in the lower right. Then in your ubuntu terminal, export the display like this:\n\n\n```bash\nexport DISPLAY=0:0\n```\n\nWhen you say `export` this is how you define a variable in bash. You\ncould do this, for example:\n\n\n```bash\n# Define variable MYNAME, but we didn't export, so it's only for this shell\nMYNAME=natacha\n\n# Show that the variable is defined, \"echo\" is like saying \"print\"\necho \"My name is $MYNAME\"\n\n# My name is natacha\n# This would make the variable accesible to subshells (programs that you call)\nexport MYNAME\n```\n\nNow that the display is exported, you can use gedit to edit files. Here we are still sitting in the folder nsoch.github.io (do an ls if you ged lost, and cd to change directory) and we are using gedit to open a project markdown file:\n\n\n```bash\nsudo gedit -E projects/neuromorphic.md\n```\n\nWe use sudo so that you have permissions to change settings (e.g., set the theme to cobalt if you want). The -E says to pass the user environment to the command, otherwise we wouldn't detect the display, which is exported as 0:0. This is why we started Xming server previously.\n\nAt this point, you can edit files as you please, and press Control+S to save.\n\n# 4b. Add files to the repository (ubuntu)\n\nThis is extra work because we are using Ubuntu on Windows (normally you would just open a file browser, copy paste, etc.) but you basically need to find where Windows drives C and D are mounted on the Ubuntu instance. This location is:\n\n```bash\n# This is for ubuntu\n/mnt\n  /mnt/c  (--- C drive\n  /mnt/d  (-- D drive\n```\n\nSo we can copy files from here to your repo! To do this you follow\nthis general syntax:\n\n```bash\ncp \u003cSOURCE\u003e \u003cDESTINATION\u003e\n```\n\nSo for example, here is how to copy some file from the user \"Natacha\" desktop to the assets image folder. Make sure to specify the correct subfolder when you copy (e.g., likely in projects/\u003cproject\u003e.\n\n\n```bash\n# One file\ncp /mnt/c/Users/Natacha/Desktop/myfile.txt assets/img/projects/\n\n# Wildcard (multiple) files\ncp /mnt/c/Users/Natacha/Desktop/*.png assets/img/projects/\n\n# And then you might add it\ngit add assets/img/projects/\u003cfilename\u003e\ngit add assets/img/projects/myfile.txt\ngit add assets/img/projects/*.png\n```\n\nYou probably want to know what the * is. It's a wildcard. You can add \"wildcads\" for multiple files, here are some examples:\n\n\n\n```bash\n# add all png files in the folder \"projects\"\ngit add assets/img/projects/*.png\n\n# add all files that start with \"arty\"\ngit add assets/img/projects/arty\n```\n\n# 4. Jekyll\nJekyll is a local web server that renders the pages into the site! We can use jekyll to preview our changes (live)\nOpen up a SECOND powershell and issue this command to get the ipaddress of your container:\n\n```bash\ndocker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)\n/mommy-dev - 172.17.0.2\n/goofy_ptolemy -\n```\n\nThis shows us that the container's internal port (127.0.0.1 is localhost) will be mapped to 172.17.0.2 on our computer!\nThen in your container, start the server:\n\n```bash\no# bundle exec jekyll serve\nConfiguration file: /Code/nsoch.github.io/_config.yml\n            Source: /Code/nsoch.github.io\n       Destination: /Code/nsoch.github.io/_site\n Incremental build: disabled. Enable with --incremental\n      Generating...\nError reading file /Code/nsoch.github.io/projects/dna.md: (\u003cunknown\u003e): did not find expected key while parsing a block mapping at line 2 column 1\n                    done in 1.081 seconds.\n Auto-regeneration: enabled for '/Code/nsoch.github.io'\n    Server address: http://127.0.0.1:4000/nsoch.github.io/\n  Server running... press ctrl-c to stop.\n```\n\nNotice the error message? That's the bug in the dna.md that still exists  (that you need to fix). The server\nshould be rendered at [http://172.17.0.2:4000/nsoch.github.io/] in your browser.\n\n# 5. Committing changes\nWhen you are ready to \"commit\" your changes, which is saying \"I am happy with my edits and added files, and I want to record them officially in my local repository (remember it's just a bunch of text files in the .git folder) then what I usually do first is to see what I've changed. You can do:\n\n```bash\ngit status\n```\n\nand it will show you your changes. Take a look to see if you need to add any new files or folders - files and folders that are \"untracked\" won't be pushed to your remote repository. Once you've added all the files, then commit!\n\n```bash\ngit commit -a -m \"This is a message to describe my changes\"\n```\n\nOnce you have commit, then you are ready to push those changes to the remote repository. First, make sure you are on the right branch:\n\n```bash\ngit branch\n# new-branch\n```\n\nThen push to your remote, \n\n```bash\ngit push origin new-branch\n```\n\nIf you forget what these things are, take a look at the git config file:\n\n```bash\ncat .git/config\n\n```\n\nOnce you are done with that, when you are ready to \"merge\" the changes into the master branch, you want to:\n\n - Go to the web interface at https://www.github.com/nsoch/nsoch.github.io\n - Click \"Open a Pull Request\" if you don't see a notification about the recent branch.\n - Open the pull request, in the message write to me @vsoch so I am notified and I can review the changes.\n - When I take a look (and make sure it looks good) we can merge into your branch.\n\nAlso know that when you are working on an actual Linux box, these commands run a gazillion times faster. This is seriously slow as balls.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvsoch%2Fmommy-dev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvsoch%2Fmommy-dev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvsoch%2Fmommy-dev/lists"}