@@ -10,21 +10,29 @@ inputs:
1010 output_directory :
1111 description : ' Directory where documentation files will be saved'
1212 required : false
13- default : ' .codeboarding '
13+ default : ' docs '
1414
1515 repository_url :
1616 description : ' Repository URL to fetch documentation for (defaults to current repository)'
1717 required : true
1818
1919outputs :
20- files_created :
21- description : ' Number of files created'
22- value : ${{ steps.process-docs.outputs.files_created }}
20+ markdown_files_created :
21+ description : ' Number of Markdown files created'
22+ value : ${{ steps.process-docs.outputs.markdown_files_created }}
23+
24+ json_files_created :
25+ description : ' Number of JSON files created'
26+ value : ${{ steps.process-docs.outputs.json_files_created }}
2327
2428 output_directory :
25- description : ' Directory where files were saved'
29+ description : ' Directory where Markdown files were saved'
2630 value : ${{ steps.process-docs.outputs.output_directory }}
2731
32+ json_directory :
33+ description : ' Directory where JSON files were saved (.codeboarding)'
34+ value : ${{ steps.process-docs.outputs.json_directory }}
35+
2836 has_changes :
2937 description : ' Whether any files were created or changed'
3038 value : ${{ steps.process-docs.outputs.has_changes }}
@@ -84,13 +92,16 @@ runs:
8492 shell : bash
8593 run : |
8694 RESPONSE_FILE="${{ steps.fetch-docs.outputs.response_file }}"
87- OUTPUT_DIR="${{ inputs.output_directory }}"
95+ MD_OUTPUT_DIR="${{ inputs.output_directory }}"
96+ JSON_OUTPUT_DIR=".codeboarding"
8897
89- # Create the output directory
90- mkdir -p "$OUTPUT_DIR"
98+ # Create the output directories
99+ mkdir -p "$MD_OUTPUT_DIR"
100+ mkdir -p "$JSON_OUTPUT_DIR"
91101
92102 # Initialize counters
93- FILES_CREATED=0
103+ MARKDOWN_FILES_CREATED=0
104+ JSON_FILES_CREATED=0
94105
95106 echo "=== Processing Documentation Files ==="
96107 echo "Response JSON structure:"
@@ -107,45 +118,63 @@ runs:
107118 # Get the content for this filename
108119 content=$(jq -r ".files[\"$filename\"]" "$RESPONSE_FILE")
109120
110- # Add .md extension if not present
111- if [[ "$filename" != *.md ]]; then
112- output_filename="${filename}.md"
113- else
121+ # Determine file type and destination
122+ if [[ "$filename" == *.json ]]; then
123+ # JSON file
124+ output_dir="$JSON_OUTPUT_DIR"
114125 output_filename="$filename"
126+ echo "$content" > "$output_dir/$output_filename"
127+ echo "Created JSON file: $output_dir/$output_filename"
128+ JSON_FILES_CREATED=$((JSON_FILES_CREATED + 1))
129+ else
130+ # Markdown file - add .md extension if not present
131+ output_dir="$MD_OUTPUT_DIR"
132+ if [[ "$filename" != *.md ]]; then
133+ output_filename="${filename}.md"
134+ else
135+ output_filename="$filename"
136+ fi
137+ echo "$content" > "$output_dir/$output_filename"
138+ echo "Created Markdown file: $output_dir/$output_filename"
139+ MARKDOWN_FILES_CREATED=$((MARKDOWN_FILES_CREATED + 1))
115140 fi
116-
117- # Write content to file
118- echo "$content" > "$OUTPUT_DIR/$output_filename"
119- echo "Created file: $OUTPUT_DIR/$output_filename"
120-
121- # Increment counter
122- FILES_CREATED=$((FILES_CREATED + 1))
123141 done
124142
125143 # Since we're in a subshell, we need to count files differently
126- FILES_CREATED=$(ls -1 "$OUTPUT_DIR"/*.md 2>/dev/null | wc -l || echo "0")
144+ MARKDOWN_FILES_CREATED=$(find "$MD_OUTPUT_DIR" -name "*.md" 2>/dev/null | wc -l || echo "0")
145+ JSON_FILES_CREATED=$(find "$JSON_OUTPUT_DIR" -name "*.json" 2>/dev/null | wc -l || echo "0")
127146 else
128147 echo "No 'files' key found in response JSON"
129- FILES_CREATED=0
130148 fi
131149
132150 # Clean up temporary file
133151 rm -f "$RESPONSE_FILE"
134152
135153 # Check if any files were created
136- if [ "$FILES_CREATED" -gt 0 ]; then
154+ TOTAL_FILES=$((MARKDOWN_FILES_CREATED + JSON_FILES_CREATED))
155+ if [ "$TOTAL_FILES" -gt 0 ]; then
137156 HAS_CHANGES="true"
138- echo "Created $FILES_CREATED files in $OUTPUT_DIR"
157+ echo "Created $MARKDOWN_FILES_CREATED Markdown files in $MD_OUTPUT_DIR"
158+ echo "Created $JSON_FILES_CREATED JSON files in $JSON_OUTPUT_DIR"
139159
140160 # List created files
141- echo "Files created:"
142- ls -la "$OUTPUT_DIR"
161+ if [ "$MARKDOWN_FILES_CREATED" -gt 0 ]; then
162+ echo "Markdown files created:"
163+ ls -la "$MD_OUTPUT_DIR"
164+ fi
165+
166+ if [ "$JSON_FILES_CREATED" -gt 0 ]; then
167+ echo "JSON files created:"
168+ ls -la "$JSON_OUTPUT_DIR"
169+ fi
143170 else
144171 HAS_CHANGES="false"
145172 echo "No files were created"
146173 fi
147174
148175 # Set outputs
149- echo "files_created=$FILES_CREATED" >> $GITHUB_OUTPUT
150- echo "output_directory=$OUTPUT_DIR" >> $GITHUB_OUTPUT
176+ echo "markdown_files_created=$MARKDOWN_FILES_CREATED" >> $GITHUB_OUTPUT
177+ echo "json_files_created=$JSON_FILES_CREATED" >> $GITHUB_OUTPUT
178+ echo "output_directory=$MD_OUTPUT_DIR" >> $GITHUB_OUTPUT
179+ echo "json_directory=$JSON_OUTPUT_DIR" >> $GITHUB_OUTPUT
151180 echo "has_changes=$HAS_CHANGES" >> $GITHUB_OUTPUT
0 commit comments