github-markup-scanner
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.1%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: john-shepherdson
- License: apache-2.0
- Language: Java
- Default Branch: main
- Size: 2.19 MB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
EOSC GitHub Markup Scanner
This repository contains the source code for the GitHub Markup Scanner which searches a GitHub repository, looking for Badges. The program handles errors gracefully and provides informative messages for missing repositories or network issues.
Key Features:
- Accepts a GitHub repository URL and a search string as command-line arguments
- Uses the GitHub API to fetch repository contents from the root directory
- Identifies markup files by common extensions (.md, .rst, .txt, .asciidoc, etc.)
- Downloads and scans each markup file line by line
- Prints any lines containing to search string with line numbers
- Handles various GitHub URL formats
Prerequisites
Java 21 or greater is required to build and run this application.
Jackson JSON library for parsing GitHub API responses: jackson-databind jackson-core jackson-annotations
Quick Start
- Check prerequisites and install any required software.
- Clone the repository to your local workspace.
- Build the application using
mvn clean verify. - Run the application using the following command:
mvn exec:java.
Getting started as developer
Execute tests and run the application
```shell
Run tests with coverage
mvn clean test
Run all tests including integration
mvn clean verify
Generate coverage reports
mvn clean test jacoco:report
Run SonarQube analysis
mvn clean verify sonar:sonar
Build Jar
mvn clean package
Skip coverage checks (development)
mvn clean test -Pdev
Run the application
java -cp ".:jackson-databind.jar:jackson-core.jar:jackson-annotations.jar" eoscbeyond.eu.GitHubMarkupScanner https://github.com/user/repo ```
Example output
```shell Scanning: CHANGELOG.md No matches found.
Scanning: CODEOFCONDUCT.md No matches found.
Scanning: CONTRIBUTING.md No matches found.
Scanning: CONTRIBUTORS.md No matches found.
Scanning: LICENSE.txt No matches found.
Scanning: README.md
Line 3:
```
Project Structure
This project uses the standard Maven project structure.
``` text
Technology Stack
Several frameworks are used in this application.
| Framework/Technology | Description | | -------------------------------------------------- | --------------------------------------------------------- | | Jackson JSON Library | Jackson is a suite of data-processing tools for Java, including the flagship streaming JSON parser | | junit-jupiter-api | Java unit testing framework |
Resources
Owner
- Name: John Shepherdson
- Login: john-shepherdson
- Kind: user
- Location: United Kingdom
- Company: CESSDA
- Repositories: 1
- Profile: https://github.com/john-shepherdson
Citation (CITATION.cff)
#
# Copyright © 2025 EOSC Beyond
#
# 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
#
# http://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.
#
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: EOSC Node Registry (demo)
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: John
family-names: Shepherdson
email: john.shepherdson@cessda.eu
affiliation: CESSDA ERIC
GitHub Events
Total
- Release event: 1
- Push event: 9
- Create event: 3
Last Year
- Release event: 1
- Push event: 9
- Create event: 3
Dependencies
- com.fasterxml.jackson.core:jackson-annotations 2.15.2
- com.fasterxml.jackson.core:jackson-core 2.15.2
- com.fasterxml.jackson.core:jackson-databind 2.15.2
- org.slf4j:slf4j-api 2.0.7
- org.slf4j:slf4j-simple 2.0.7
- org.junit.jupiter:junit-jupiter 5.10.0 test
- org.junit.jupiter:junit-jupiter-engine 5.10.0 test
- org.junit.jupiter:junit-jupiter-params 5.10.0 test
- org.mockito:mockito-core 5.2.0 test
- org.mockito:mockito-inline 5.2.0 test
- org.mockito:mockito-junit-jupiter 5.2.0 test
